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 來做
留言
張貼留言