### # # ###### ##### ####### # #####
# # # # # # # # # # #
# # # # # # # # ### #
# # # # ###### # # # # #####
# # # # # # # # ##### #
# # # # # # # # # # # #
### ##### ###### ##### # ## ## #####
### AN OPEN SOURCE TUTORIAL OPERATING SYSTEM IN 2023
This is a simple bootloader for exercise
- The device we use is STM32F746ZE
- This project is refine the bootloader course, simplied the code and support multi-devices
TODO
.
├── app // architecture level test code
│ ├── cs // prototype os
│ └── svc // user space -> kernel space
├── arch // for arm cm7 architecture
│ └── arm
│ └── init
├── boot // for bootloader usage
├── build // the compiled image
├── cmd // command line usage, will move to app
├── doc // development document
│ ├── FreeRTOS
│ ├── Qubitas
│ └── cortex_m7
│ └── img
├── driver // driver code for STM32F746
├── include
│ ├── app
│ ├── arch
│ │ └── arm
│ ├── ds
│ ├── kernel
│ ├── mm
│ ├── net
│ └── qubitas
├── kernel // kernel source code
├── lib // some gcc code like printk, etc.
├── mk // sub-level makefile
└── mm // memory management, e.g. heap, memset etc.
-
printk
-
scanf
: implement by DMA- usart interrupt
- usart DMA
- scanf
- command shell
- Timer interrupt
- context switch
- Stack initialization
- list api
- memory management
-
malloc
-
free
-
- task and thread
- task
- scheduler
- Round Robin