0
点赞
收藏
分享

微信扫一扫

1237_FreeRTOS官方例程中与硬件无关的例子


全部学习汇总: ​​GitHub - GreyZhang/g_FreeRTOS: learning notes about FreeRTOS.​​

1237_FreeRTOS官方例程中与硬件无关的例子_stm32

官方的例子很难覆盖每一种硬件以及编译器的组合,因为设计一部分硬件不相干的例子这样可以确保用户能够快速了解OS的基础功能。

为了能够保证不依赖于硬件,相关的例子中没有任何IO访问。而是采用对变量进行修改的方式来取代。

用户需要做的事情:

1, 一个非RTOS但是可以运行的程序,保证启动代码以及链接文件的正确性。看起来,整理对OS独占分区没有什么特别的要求。

2, 加RTOS代码,可以从Demo中取。

3, 处理编译器的包含目录。

4, 自己创建配置文件,或者,干脆先拷贝一个Demo中较为相似的。

1237_FreeRTOS官方例程中与硬件无关的例子_编译器_02

1237_FreeRTOS官方例程中与硬件无关的例子_FreeRTOS_03

针对每一个例程的功能不去仔细看了,从相关的描述至少可以得到一个与硬件无关的功能清单:

1, 任务以及定时器的创建;

2, 队列发送;

3, 队列接收;

4, 软件定时器的使用;

5, TickHook;

6, 事件信号;

7, idle hook;

8, 内存申请失败以及堆栈溢出的测试。

1237_FreeRTOS官方例程中与硬件无关的例子_单片机_04

这是代码中需要用户修改的第一部分,半导体厂商给的相关头文件引用增加。

1237_FreeRTOS官方例程中与硬件无关的例子_单片机_05

硬件初始化接口实现。

1237_FreeRTOS官方例程中与硬件无关的例子_单片机_06

1237_FreeRTOS官方例程中与硬件无关的例子_嵌入式硬件_07

1237_FreeRTOS官方例程中与硬件无关的例子_单片机_08

1237_FreeRTOS官方例程中与硬件无关的例子_FreeRTOS_09

1237_FreeRTOS官方例程中与硬件无关的例子_单片机_10

1237_FreeRTOS官方例程中与硬件无关的例子_编译器_11

1237_FreeRTOS官方例程中与硬件无关的例子_嵌入式硬件_12

1237_FreeRTOS官方例程中与硬件无关的例子_stm32_13

1237_FreeRTOS官方例程中与硬件无关的例子_stm32_14

一堆代码看起来都是可以复用的,但是这里有一个时钟设置需要考虑一下。

结合自己的理解,可能这部分功能只是典型的工作内容并不是一个完整的指导。一个典型的问题点:堆栈配置、上下文切换、Tick中断等在这里全都没有说明。可能,这里更多的侧重点还是例程功能本身吧!


举报

相关推荐

0 条评论