当前位置:首页 > 单片机 > 单片机
[导读]一、建立必要的stm32开发工程1、FreeRTOS文件夹下存放的是整个FreeRTOS系统的 source文件夹。FreeRTOS已经存放在云盘了。也可以通过官网下载。二、添加相应的文件1、list.c queue.c task.c位于source根目录下;2、Po

一、建立必要的stm32开发工程


1、FreeRTOS文件夹下存放的是整个FreeRTOS系统的 source文件夹。

FreeRTOS已经存放在云盘了。也可以通过官网下载。


二、添加相应的文件

1、list.c queue.c task.c位于source根目录下;

2、Port.c和portmacro.c是硬件接口层,位于FreeRTOSSourceportableRVDSARM_CM3文件夹下;

3、heap4.c为内存管理文件,位于FreeRTOS/Source/portable/MemMang下;

三、添加头文件路径

1、...FreeRTOSSourceportableRVDSARM_CM3

2、…FreeRTOSSourceinclude

3、…FreeRTOSSource


四、编写FreeRTOSConfig.h文件

从FreeRTOS自带的Demo文件夹下拷贝一份FreeRTOSConfig文件,并将该文件添加到工程中去。

此时,如果不是自己编写的代码出错,应该可以全部编译通过。

五、挂接中断

在Cortex-M3硬件下,FreeRTOS使用SysTick作为系统节拍时钟,使用SVC和PendSVC进行上下文切换。异常中断服务代码位于port.c文件中,FreeRTOS的作者已经为各种架构的CPU写好了这些代码,可以直接拿来用,需要用户做的,仅仅是将这些异常中断入口地址挂接到启动代码中。

在startup.s中,使用IMPORT关键字声明要挂接的异常中断服务函数名,然后将:

DCD SVC_Handler 换成: DCD vPortSVCHandler

DCD PendSV_Handler 换成: DCD xPortPendSVHandler

DCD SysTick_Handler 换成: DCD xPortSysTickHandler

六、设置节拍时钟

这里我们使用SysTick定时器作为系统的节拍时钟,设定每隔10ms产生一次节拍中断。由于FreeRTOS对移植做了非常多的工作,以至于我们只需要在FreeRTOSConfig.h中配置好以下两个宏定义即可:


configCPU_CLOCK_HZ ()

configTICK_RATE_HZ ((portTickType)100)

第一个宏定义CPU系统时钟,也就是CPU执行时的频率。第二个宏定义FreeRTOS的时间片频率,这里定义为100,表明RTOS一秒钟可以切换100次任务,也就是每个时间片为10ms。

在prot.c中,函数vPortSetupTimerInterrupt()设置节拍时钟。该函数根据上面的两个宏定义的参数,计算SysTick定时器的重装载数值寄存器,然后设置SysTick定时器的控制及状态寄存器,设置如下:使用内核时钟源、使能中断、使能SysTick定时器。另外,函数vPortSetupTimerInterrupt()由函数vTaskStartScheduler()调用,这个函数用于启动调度器。

七、配置其他宏

八、编写程序

九、代码下载

http://pan.baidu.com/disk/home?fr=ibaidu&errno=0&errmsg=Auth Login Sucess&&bduss=&ssnerror=0#list/path=/&vmode=list


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

北京 2025年7月3日 /美通社/ -- 近日,北京积算科技有限公司(以下简称"积算科技")正式推出GPU裸金属算力服务套件,帮助客户实现并行环境的分钟级部署与出厂级性能校准,在GPU裸金属算力上...

关键字: 金属 GPU 性能优化 操作系统

上海 2025年5月20日 /美通社/ -- 2025年5月15日至18日,全球神经介入领域顶级盛会——世界神经介入治疗大会(WLNC)暨东方脑血管病大会(OCIN)于上海国际会议中心隆重举行,吸引了来自全球神经介入领...

关键字: 机器人 VI AN 操作系统

Docker 是一种基于操作系统层级的虚拟化技术,它将软件及其依赖项打包为容器,使得应用程序可以在任何支持 Docker 的环境中运行。

关键字: Docker 操作系统

北京2025年2月28日 /美通社/ -- 日前,《服务器操作系统迁移指南》(以下简称《指南》)经中国电子工业标准化技术协会批准后正式发布,将于3月正式实施。《指南》由浪潮信息牵头,中国电子技术标准化研究院、阿里云、统信...

关键字: 操作系统 编写 CPU 内存

业界最真实、最互联、最具未来性的操作系统变得更智能、更快速、更敏锐 纽约2025年1月30日  /PRNewswire/ -- Stagwell(纳斯达克股票代码:STGW...

关键字: ASSEMBLY STAGE AI 操作系统

在Linux操作系统中,文件操作是进程与存储系统交互的重要方式。对于同一个文件,一个进程是否可以在其生命周期内多次调用open函数打开它,并进行读写操作呢?答案是肯定的。本文将深入探讨这一机制,并通过代码示例展示如何在进...

关键字: 文件 Linux 操作系统

北京2025年1月20日 /美通社/ -- 近日,微展世(北京)数字科技有限公司(简称"微展世")在北京成功举办了2025产品发布与战略签约盛典。作为微展世的重要战略合作伙伴,软通动力及其子公司鸿湖万...

关键字: 开源 操作系统 鸿蒙 OS

北京2025年1月16日 /美通社/ -- 软硬一体具身智能人形机器人是未来智能产业的重大机遇,大模型智能体应用在千行百业深入广泛推进,世界模型、具身智能也正加快从实验室走向场景应用和商业落地。软通动力聚焦人形机器人场景...

关键字: 机器人 模型 智能计算 操作系统

拉斯维加斯2025年1月11日 /美通社/ -- 2025年1月8日,于拉斯维加斯举办的消费电子展(CES)上,全球AI跨语言沟通设备领导品牌时空壶,正式发布Timekett...

关键字: 操作系统 BLE OS CE

以开源鸿蒙赋能工业创新升级 北京2025年1月10日 /美通社/ -- 1月7日,软通动力携子公司鸿湖万联,与微展世(北京)数字科技有限公司(简称"微展世")在广州签署战略合作协议,三方将联合开发基...

关键字: 操作系统 开源 数字化 OS
关闭