标签 UCOS 下的文章

最近想在 f429 上面使用 mdk526 版本的 IDE,配合 HAL 和ucosiii。考虑到的方法是对比 v7 开发板的 ucosiii 和裸机程序,找出需要修改的地方,然后对比 v6 开发板的 ucosiii 和 裸机程序,然后把相应的修改融合起来即可。

- 阅读剩余部分 -

  1. OSTaskCreate 的参数中有一个 void *p_ext,这个参数用来传递额外的信息,可以用来传递数组,结构体等等。

  2. AppTaskStart --> CPU_Init --> CPU_TS_Init --> CPU_TS_TmrInit --> BSP_CPU_ClkFreq() 这个函数是需要用户自己实现的,是MCU的主频。 对于STM32而言,返回的是 HCLK_Frequency。

  3. mutex 和 sem 的区别是高优先级任务在等待信号量时的表现。比如说低优先级任务已经申请到了打印机的信号量,正在打印的时候,高优先级任务也要使用打印机,开始申请信号量,如果是 mutex,那么高优先级任务的打印数据会插入到低优先级的打印数据中,造成打印混乱的现象,如果是 sem,那么高优先级任务会等待低优先级任务打印完成并释放信号量后,才能开始打印。