├── .gitignore ├── .gitmodules ├── 00-HelloWorld ├── Makefile ├── hello.c ├── hello.ld ├── reg.h └── startup.c ├── 00-Semihosting ├── Makefile ├── semi.c ├── semi.ld └── startup.c ├── 01-HelloWorld ├── Makefile ├── hello.c ├── hello.ld ├── reg.h └── startup.c ├── 02-ContextSwitch-1 ├── Makefile ├── asm.h ├── context_switch.S ├── os.c ├── os.ld ├── reg.h └── startup.c ├── 03-ContextSwitch-2 ├── Makefile ├── asm.h ├── context_switch.S ├── os.c ├── os.ld ├── reg.h ├── startup.c └── syscall.S ├── 04-Multitasking ├── Makefile ├── asm.h ├── context_switch.S ├── os.c ├── os.ld ├── reg.h ├── startup.c └── syscall.S ├── 05-TimerInterrupt ├── Makefile ├── hello.c ├── hello.ld ├── reg.h └── startup.c ├── 06-Preemptive ├── Makefile ├── asm.h ├── context_switch.S ├── os.c ├── os.ld ├── reg.h ├── startup.c └── syscall.S ├── 07-Threads ├── Makefile ├── malloc.c ├── malloc.h ├── os.c ├── os.h ├── os.ld ├── reg.h ├── startup.c ├── threads.c └── threads.h ├── 08-CMSIS ├── Makefile ├── core │ ├── include │ │ ├── config.h │ │ ├── malloc.h │ │ ├── stream.h │ │ └── threads.h │ └── src │ │ ├── malloc.c │ │ ├── os.c │ │ ├── stream.c │ │ └── threads.c ├── platform │ ├── f429disco │ │ ├── include │ │ │ ├── reg.h │ │ │ ├── systick.h │ │ │ └── uart.h │ │ ├── os.ld │ │ └── src │ │ │ ├── startup.c │ │ │ ├── systick.c │ │ │ └── uart.c │ └── p103 │ │ ├── include │ │ ├── reg.h │ │ ├── systick.h │ │ └── uart.h │ │ ├── os.ld │ │ └── src │ │ ├── startup.c │ │ ├── systick.c │ │ └── uart.c └── rules.mk ├── AUTHORS ├── LICENSE ├── README.md └── coding-style.txt /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/.gitmodules -------------------------------------------------------------------------------- /00-HelloWorld/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-HelloWorld/Makefile -------------------------------------------------------------------------------- /00-HelloWorld/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-HelloWorld/hello.c -------------------------------------------------------------------------------- /00-HelloWorld/hello.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-HelloWorld/hello.ld -------------------------------------------------------------------------------- /00-HelloWorld/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-HelloWorld/reg.h -------------------------------------------------------------------------------- /00-HelloWorld/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-HelloWorld/startup.c -------------------------------------------------------------------------------- /00-Semihosting/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-Semihosting/Makefile -------------------------------------------------------------------------------- /00-Semihosting/semi.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-Semihosting/semi.c -------------------------------------------------------------------------------- /00-Semihosting/semi.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-Semihosting/semi.ld -------------------------------------------------------------------------------- /00-Semihosting/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/00-Semihosting/startup.c -------------------------------------------------------------------------------- /01-HelloWorld/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/01-HelloWorld/Makefile -------------------------------------------------------------------------------- /01-HelloWorld/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/01-HelloWorld/hello.c -------------------------------------------------------------------------------- /01-HelloWorld/hello.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/01-HelloWorld/hello.ld -------------------------------------------------------------------------------- /01-HelloWorld/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/01-HelloWorld/reg.h -------------------------------------------------------------------------------- /01-HelloWorld/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/01-HelloWorld/startup.c -------------------------------------------------------------------------------- /02-ContextSwitch-1/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/Makefile -------------------------------------------------------------------------------- /02-ContextSwitch-1/asm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/asm.h -------------------------------------------------------------------------------- /02-ContextSwitch-1/context_switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/context_switch.S -------------------------------------------------------------------------------- /02-ContextSwitch-1/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/os.c -------------------------------------------------------------------------------- /02-ContextSwitch-1/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/os.ld -------------------------------------------------------------------------------- /02-ContextSwitch-1/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/reg.h -------------------------------------------------------------------------------- /02-ContextSwitch-1/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/02-ContextSwitch-1/startup.c -------------------------------------------------------------------------------- /03-ContextSwitch-2/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/Makefile -------------------------------------------------------------------------------- /03-ContextSwitch-2/asm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/asm.h -------------------------------------------------------------------------------- /03-ContextSwitch-2/context_switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/context_switch.S -------------------------------------------------------------------------------- /03-ContextSwitch-2/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/os.c -------------------------------------------------------------------------------- /03-ContextSwitch-2/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/os.ld -------------------------------------------------------------------------------- /03-ContextSwitch-2/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/reg.h -------------------------------------------------------------------------------- /03-ContextSwitch-2/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/startup.c -------------------------------------------------------------------------------- /03-ContextSwitch-2/syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/03-ContextSwitch-2/syscall.S -------------------------------------------------------------------------------- /04-Multitasking/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/Makefile -------------------------------------------------------------------------------- /04-Multitasking/asm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/asm.h -------------------------------------------------------------------------------- /04-Multitasking/context_switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/context_switch.S -------------------------------------------------------------------------------- /04-Multitasking/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/os.c -------------------------------------------------------------------------------- /04-Multitasking/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/os.ld -------------------------------------------------------------------------------- /04-Multitasking/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/reg.h -------------------------------------------------------------------------------- /04-Multitasking/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/startup.c -------------------------------------------------------------------------------- /04-Multitasking/syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/04-Multitasking/syscall.S -------------------------------------------------------------------------------- /05-TimerInterrupt/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/05-TimerInterrupt/Makefile -------------------------------------------------------------------------------- /05-TimerInterrupt/hello.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/05-TimerInterrupt/hello.c -------------------------------------------------------------------------------- /05-TimerInterrupt/hello.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/05-TimerInterrupt/hello.ld -------------------------------------------------------------------------------- /05-TimerInterrupt/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/05-TimerInterrupt/reg.h -------------------------------------------------------------------------------- /05-TimerInterrupt/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/05-TimerInterrupt/startup.c -------------------------------------------------------------------------------- /06-Preemptive/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/Makefile -------------------------------------------------------------------------------- /06-Preemptive/asm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/asm.h -------------------------------------------------------------------------------- /06-Preemptive/context_switch.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/context_switch.S -------------------------------------------------------------------------------- /06-Preemptive/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/os.c -------------------------------------------------------------------------------- /06-Preemptive/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/os.ld -------------------------------------------------------------------------------- /06-Preemptive/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/reg.h -------------------------------------------------------------------------------- /06-Preemptive/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/startup.c -------------------------------------------------------------------------------- /06-Preemptive/syscall.S: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/06-Preemptive/syscall.S -------------------------------------------------------------------------------- /07-Threads/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/Makefile -------------------------------------------------------------------------------- /07-Threads/malloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/malloc.c -------------------------------------------------------------------------------- /07-Threads/malloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/malloc.h -------------------------------------------------------------------------------- /07-Threads/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/os.c -------------------------------------------------------------------------------- /07-Threads/os.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/os.h -------------------------------------------------------------------------------- /07-Threads/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/os.ld -------------------------------------------------------------------------------- /07-Threads/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/reg.h -------------------------------------------------------------------------------- /07-Threads/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/startup.c -------------------------------------------------------------------------------- /07-Threads/threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/threads.c -------------------------------------------------------------------------------- /07-Threads/threads.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/07-Threads/threads.h -------------------------------------------------------------------------------- /08-CMSIS/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/Makefile -------------------------------------------------------------------------------- /08-CMSIS/core/include/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/include/config.h -------------------------------------------------------------------------------- /08-CMSIS/core/include/malloc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/include/malloc.h -------------------------------------------------------------------------------- /08-CMSIS/core/include/stream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/include/stream.h -------------------------------------------------------------------------------- /08-CMSIS/core/include/threads.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/include/threads.h -------------------------------------------------------------------------------- /08-CMSIS/core/src/malloc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/src/malloc.c -------------------------------------------------------------------------------- /08-CMSIS/core/src/os.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/src/os.c -------------------------------------------------------------------------------- /08-CMSIS/core/src/stream.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/src/stream.c -------------------------------------------------------------------------------- /08-CMSIS/core/src/threads.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/core/src/threads.c -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/include/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/include/reg.h -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/include/systick.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/include/systick.h -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/include/uart.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/include/uart.h -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/os.ld -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/src/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/src/startup.c -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/src/systick.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/src/systick.c -------------------------------------------------------------------------------- /08-CMSIS/platform/f429disco/src/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/f429disco/src/uart.c -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/include/reg.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/include/reg.h -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/include/systick.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/include/systick.h -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/include/uart.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/include/uart.h -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/os.ld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/os.ld -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/src/startup.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/src/startup.c -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/src/systick.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/src/systick.c -------------------------------------------------------------------------------- /08-CMSIS/platform/p103/src/uart.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/platform/p103/src/uart.c -------------------------------------------------------------------------------- /08-CMSIS/rules.mk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/08-CMSIS/rules.mk -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/AUTHORS -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/README.md -------------------------------------------------------------------------------- /coding-style.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jserv/mini-arm-os/HEAD/coding-style.txt --------------------------------------------------------------------------------