IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 使用Keil内置工具一键为工程安装FreeRTOS -> 正文阅读

[嵌入式]使用Keil内置工具一键为工程安装FreeRTOS

最近正在学习FreeRTOS, 觉得每次都要照着流程手动给工程安装, 很麻烦. 一天在无聊乱翻Keil时, 发现Keil内部居然自带FreeRTOS包.
在这里插入图片描述
废话不多说, 马上开始操作.

软硬件详情

平台: Keil MDK 5.29
系统: Win10 21H1
设备: 德州仪器TM4C123GH6PM单片机(TM4C123GXL评估板)

操作流程

一、为Keil安装FreeRTOS支持包

打开Keil, 点击工具栏那个像三个饼干装在碗里一样的图标
在这里插入图片描述
在Packs一栏里, 找到这个FreeRTOS包, 点击Install, 它会自动开始安装.

Keil内可安装CMSIS-FreeRTOS或Native FreeRTOS, 本文两种方式都会介绍, 按工程需求选择安装类型.

二、为已有工程安装Native FreeRTOS

你能在

Arm/Packs/ARM/CMSIS-FreeRTOS/10.4.6/CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config

路径下找到官方的安装教程, 只不过是英语的
在这里插入图片描述
为了方便大家, 我用中文简单的讲一遍.

任意打开一个简单的空白工程, 我们以Blinky闪灯项目为例(如果硬件型号在Keil PackInstaller里面找得到, 并且资源够用, 一般都能成功安装)

在确保你的工程编译没问题后, 点开这个像一块饼干一样的图标
在这里插入图片描述
像我这样勾选(勾多了或是勾少了下面都会有提示)
在这里插入图片描述
点击OK, 你就会发现FreeRTOS和芯片Startup的有关源码自动的插入了进去.
在这里插入图片描述
接下来兴冲冲的编译, 发现报了几个错.
首先报了一个这个:

#error configUSE_TIMERS must be set to 1 to make the xTimerPendFunctionCall() function available.

可能是原生BUG? 在FreeRTOSConfig.h里面把configUSE_TIMERS改成1就不报错了.

继续编译, 又有一个错

.\output\model.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 1 error messages.
".\output\model.axf" - 1 Error(s), 0 Warning(s).

网上查了查, 这类错误一般是startup文件有重复导致的.
在这里插入图片描述
把startup文件删得只剩一个, 编译, 不报错了.

三、注意事项

  • 原工程文件夹里面千万不要有和FreeRTOS有关源代码重名的文件, 如: task.h, list.h等, 这样会导致文件冲突, 报莫名其妙的错.
  • FreeRTOSConfig.h已经按照你用的硬件改好了, 像中断优先级那些都不用改
  • 加在里面的RTOS源代码并没有添加进工程文件夹, 而是呆在了Keil的安装目录里面. 这样一来可能可移植性不会太好, 而且在Git代码时无法把那堆源码Git上去, 在大型项目合作时用之前要三思

四、为工程安装CMSIS-FreeRTOS

该类型和Native FreeRTOS安装流程基本一样, 有以下几点不同:

  • RTOS Config选项不一样(注意红线处)
    在这里插入图片描述
  • 这个方式生成的FreeRTOSConfig.h可以用内置Configuration Wizard工具来编辑(两种方式生成的FreeRTOSConfig.h文件是不一样的)

下一篇文章将着重介绍用CMSIS-FreeRTOS实现Blinky(亮灯)功能.

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:55:20  更:2022-04-26 11:57:54 
 
开发: 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/26 2:52:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码