RTOS : with eclipse - RTOS examples - mini-arm-os


之前有用 Arduino 寫 - RTOS context switch example 2

現在來用 eclipse 寫 :

續前 : eclipse + qemu


github: https://github.com/neojou/mini-arm-os-1


0-  Hello World

1. trace_put / trace_printf

    使用 ITM 或 semihosting 方式

    相關檔案 diag/trace.h , trace.c , trace_impl.c




0- Semi Host



===================================================================


02 Context Switch 1

RTOS context switch example 2


LR 在 stack 位置 : 0x80001161


Assembly code




===================================================================


03 RTOS context switch SVC





===================================================================

04 RTOS Multi-tasking




===================================================================

05 Timer interrupt



在 system/src/cortex-m/exception_handlers.c 有每個 exception handler.
屬性是 weak, 可以被取代

但要注意, C 和 C++ function 名字會變不同, 宣告在 C++ 要加 extern "C"

用 SystemCoreClock /1000 設定, timer handler 用變數累計,
讓他一秒 show 一次





===================================================================

06 RTOS Preemptive 




===================================================================

07 RTOS Threads



===================================================================

08 CMSIS

發現 08 的 CMSIS 其實就是 07 的翻版. 

ARM 最近放了一個 CMSIS RTOS 2, 可以再把這個移進來. 

搭配 mbed RTOS 來做



留言

熱門文章