date and readme update
[cortex-from-scratch] / README.md
1 # CORTEX M3 FROM SCRATCH
2
3 This is my little 'Cortex M3 from scratch' project. No external libraries 
4 or IDEs are used. Everything is written from scratch. My development environment
5 consist of nothing more than:
6
7         * GCC-arm-none (standard ARM cross compiler)
8         * VIM editor
9         * stm32flash
10
11 The board I use is a cheap Chinese STM32F103 ripoff. In theory, you should be able to 
12 port this code to any Cortex M0/M3/M4/M7 board. 
13
14 ## PROGRESS STATUS
15 * Setup bare development environment [COMPLETED] -- FILES: Makefile, link.d
16 * Boot and jump to C [COMPLETED] -- FILES: start.asm, main.c, include/sys/mmap.h, include/sys/robsys.h 
17 * Interrupt Handling [COMPLETED] -- FILES: ivt.c, lib/string.c
18 * Basic input and output (UART) [COMPLETED] -- FILES: driver/uart.c, lib/stdio.c
19 * SysTick [COMPLETED] -- FILE: systick.c
20 * System Info [COMPLETED] -- FILE: sysinfo.c 
21 * High Speed External Clock / tuning [COMPLETED] -- FILE: clock.c
22 * RTC (Real Time Clock) [COMPLETED] -- FILE: rtc.c
23 * Built-in-shell [COMPLETED] -- FILE: term.c
24 * Port printf/libc library [COMPLETED] -- FILE: lib/tinyprintf.c
25 * Basic drivers:
26         * EEPROM: drivers/at24c.c [COMPLETED]
27         * UART drivers/uart.c [COMPLETED]
28         * LED segment display: drivers/tm1637.c [COMPLETED]
29         * Temperature sensor: drivers/tsensor.c [COMPLETED]
30         * OLED display [PLANNED]
31         * Joystick [PLANNED]
32 * Memory Management [IN PROGRESS] -- FILE: lib/pool.c
33 * User Mode [PLANNED]
34 * System Call PendV implementation [PLANNED]
35 * Stack trace debug [IN PROGRESS]
36 * Memory Protection Unit [PLANNED]
37 * Loadable programs from EEPROM [PLANNED]
38 * Multiple processes and scheduling [PLANNED]
39
40 ## SCREENSHOTS
41 Here is a screenshot that shows the terminal just after booting:
42
43 ![Screenshot](https://github.com/robinkrens/cortex-from-scratch/raw/master/img/screenshot.png "screenshot")
44
45
46
47
48