ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

[Linux] 在linux平台搭建freertos

[Linux] 在linux平台搭建freertos 文章目录一、 搭建linux环境二、安装cmkae和g三、如何在linux运行freertos四、常见问题与排查1. cmake 未找到cmake: command not found2. g 未找到g: command not found3. make 失败make: command not found 或编译报错4. 权限不足Permission denied5. 找不到头文件os_api.h: No such file or directory6. 运行后无输出或程序卡住五、总结注意事项下一步学习建议一、 搭建linux环境参考[精简linux] 快速在window搭建linux验证平台二、安装cmkae和gsudo apt install cmakesudo apt install g三、如何在linux运行freertos打包文件https://download.csdn.net/download/qq_29246181/85212272自行解压到非中文路径通过ubuntu进入上述文件路径 cd freertos_linux/进入bulid文件夹cd build/推荐建立build目录进行编译所有的中间文件都会生成在build目录下需要删除时直接清空该目录即可执行 cmake 命令该命令使cmake检测编译环境并生成相应的makefilecmake..在当前路径执行make并生成目标文件main运行目标文件 执行./main#includeiostream#includestdio.h#includeos_api.hvoidtask1(void*arg){while(1){printf(123\n);os::delay(1000);}}voidtask2(void*arg){while(1){printf(456\n);os::delay(2000);}}intmain(){os::task::create(task1,task1,1024,1);os::task::create(task2,task1,1024,2);os::start();return0;}下面是 FreeRTOS 示例从编译到运行的完整流程进入源码目录 cd freertos_linux/进入 build 目录 cd build/执行 cmake .. 生成 Makefile执行 make 生成目标文件 main运行 ./main任务调度开始task1 每 1s 打印 123task2 每 2s 打印 456四、常见问题与排查在编译或运行 FreeRTOS 示例的过程中可能会遇到一些常见错误下面列出典型问题及对应的解决方案。1. cmake 未找到cmake: command not found执行cmake ..时提示找不到命令说明系统尚未安装 cmake或安装后未生效。sudoaptupdatesudoaptinstallcmake安装完成后可用以下命令验证版本cmake--version2. g 未找到g: command not found编译过程中提示找不到 g说明缺少 C 编译器安装即可sudoaptinstallg同样可以验证版本g--version3. make 失败make: command not found 或编译报错如果提示找不到 make先安装sudoaptinstallmake如果 make 执行过程中报错常见原因是 cmake 生成 Makefile 时环境不完整。建议先清空 build 目录后重新生成cdbuildrm-rf* cmake..make4. 权限不足Permission denied运行./main时提示权限不足通常是因为目标文件没有可执行权限或当前用户对目录无写权限。给目标文件添加可执行权限chmodx ./main如果编译过程中因目录权限报错可对 build 目录授权后重试sudochmod-R777build5. 找不到头文件os_api.h: No such file or directory编译时提示找不到os_api.h说明当前路径不在编译搜索路径中。请确认已进入build目录执行 cmake且源码目录结构完整不要手动移动或删除头文件。6. 运行后无输出或程序卡住如果./main运行后没有任何打印先确认是否已成功生成目标文件并检查终端是否正常。若程序卡住可尝试重新编译或检查代码中任务创建参数如栈大小 1024 是否足够。五、总结本文从零开始在 Linux 环境下搭建 FreeRTOS 验证平台并成功编译、运行了一个包含两个任务的示例程序。整个过程可以概括为以下几个关键步骤搭建 Linux 环境通过精简 Linux 方案快速在 Windows 上搭建验证平台为后续编译运行提供基础。安装编译工具使用apt安装 cmake 和 g这是生成 Makefile 和编译 C 代码的前提。编译与运行进入build目录执行cmake ..生成 Makefile再执行make生成目标文件最后运行./main观察任务调度输出。注意事项源码包务必解压到非中文路径避免因路径编码问题导致编译失败。推荐使用独立的build目录进行编译便于清理中间文件。遇到编译或运行错误时可对照「常见问题与排查」一节逐一排查多数问题源于工具缺失、权限不足或目录结构不完整。下一步学习建议深入任务调度本文示例创建了两个任务可进一步学习 FreeRTOS 的优先级、时间片轮转、任务状态切换等调度机制尝试调整优先级和延时观察输出变化。学习内存管理FreeRTOS 提供多种内存分配方案如 heap_1 ~ heap_5可研究不同方案的适用场景并尝试在任务中动态申请和释放内存。探索同步与通信学习信号量、队列、互斥锁等机制实现任务间的数据传递与同步。移植到真实硬件在模拟环境跑通后可将工程移植到 STM32 等真实开发板体验中断、外设驱动与实时性的实际表现。下面是本文整体流程的概览图学习进阶任务调度内存管理同步与通信移植真实硬件编译运行cmake .. 生成 Makefilemake 生成目标文件./main 运行环境准备搭建 Linux 环境安装 cmake 和 g
返回列表