| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32 从0开始移植FreeRTOS -> 正文阅读 |
|
[嵌入式]STM32 从0开始移植FreeRTOS |
STM32 从0开始移植FreeRTOS1.下载源码下载网址:https://www.freertos.org/ FreeRTOS Kernel V10.4.6 2.移植工程使用stm32cubemx创建初始工程。 使用stm32f429 注意要在这里把hal库用的定时器切换一下,系统滴答定时器要留给freertos使用。 源码文件夹全部拷贝到工程目录下。 这里我放在了工程目录下的freertos文件夹下。 再去刚刚下载的文件夹中找到demo文件夹, 里面有各种内核的移植好的例程。 因为这里选的芯片时stm32f429, 找到这个对应的F4系列的, 如果是F1,可以找下面对应好的。 找到配置文件复制到自己的工程下。 在keil中新建两个文件夹用来放相关的文件,并把用到的文件添加到工程中。 首先应该吧source文件夹下这几个文件都添加进来,刚刚复制过来的config文件也可以添加进来方便修改。 再去portable文件夹下按照下面的截图添加对应的文件。
添加port.c文件。
添加内存管理文件。 添加完之后的工程应该长这个样子。 把头文件的路径添加进来。 这时候编译应该会报错 …\FreeRTOS\Source\portable\RVDS\ARM_CM4F\port.c(734): error: #20: identifier “SystemCoreClock” is undefined 打开配置文件更改,把 重新编译会报3个错 freertos_demo\freertos_demo.axf: Error: L6200E: Symbol SVC_Handler multiply defined (by port.o and stm32f4xx_it.o). freertos_demo\freertos_demo.axf: Error: L6200E: Symbol PendSV_Handler multiply defined (by port.o and stm32f4xx_it.o). freertos_demo\freertos_demo.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by port.o and stm32f4xx_it.o). 这是因为freertos自己实现了这三个中断服务函数,而cubemx在新建工程的时候也生成了这三个函数,导致重复定义, 把这三个注释掉即可。 再次编译,又报错。 freertos_demo\freertos_demo.axf: Error: L6218E: Undefined symbol vApplicationIdleHook (referred from tasks.o). 这是因为在配置文件中使能了这四个钩子函数,但是我们又没有实现,导致报错。 这几个全改0,再次编译没有问题。 3.实现功能
两个任务交替执行,实验成功。 有疑惑的可以下载一下工程看看。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 22:49:56- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |