换个环境运行-将FreeRTOS运行在linux上【转】


转自:https://blog.csdn.net/q361750389/article/details/104105862

前言:了解FreeRTOS第一步肯定是搭建可以运行的环境,不管是移植到STM32还是哪里都阔以,有自己敲代码的实践总比只捧着书看来的印象深刻,所以为了方便,本猿查阅点资料,把FreeRTOS运行在linux上来方便学习!


本篇目标:搭建FreeRTOS可用的环境来运行,并学习基本的一些功能。
材料准备:


文件介绍

  1. 官方这份 FreeRTOS-simulator-for-Linux 资料demo里面包含了很多linux外设和FreeRTOS的使用,但是内核版本很低,很久没有往上迭代了,有些参数发生了变化,也不方便于最新版本的学习,所以只拿来作为移植的参考。
  2. 修改后的移植工程 Freertos_in_linux 借鉴了官方的移植,改变了一些编译结构,将demo分成不同的文件夹进行编译测试,同时将FreeRTOS的版本更新到了v10.2.1,方便与最新的进行同步学习了解。
. ├── output ├── Posix_GCC_Simulator │ ├── FreeRTOS_Posix │ │ ├── config.h //demo 配置文件 │ │ ├── Debug //demo 编译相关文件 │ │ ├── FreeRTOSConfig.h //FreeRTOS 配置文件 │ │ ├── FreeRTOS_Kernel //FreeRTOS 内核文件 │ │ ├── Release │ │ └── study_demo //demo 工程,直接脚本可以编译,待更新,详细见例程介绍 │ └── Readme.txt ├── Posix_GCC_Simulator_6.0.4.zip └── README.md

运行

# 编译
cd Posix_GCC_Simulator/FreeRTOS_Posix/study_demo/rtos_start_1/ sh build.sh # 运行 ./rtos_start_1_app.bin # 清除 sh build.sh clean 

 


运行输出

[13:18:49] jinhao:rtos_start_1 git:(master) $ ./rtos_start_1_app.bin [log ] main.c:79 | Freertos v10.2.1 start Running as PID: 9367 Timer Resolution for Run TimeStats is 100 ticks per second. [log ] main.c:43 | creat_task [log ] main.c:55 | this is creat task:idle-0 [log ] main.c:55 | this is creat task:idle-1 [log ] main.c:55 | this is creat task:idle-2 [log ] main.c:55 | this is creat task:idle-3 [log ] main.c:55 | this is creat task:idle-4 [log ] main.c:55 | this is creat task:idle-5 [log ] main.c:55 | this is creat task:idle-6 [log ] main.c:55 | this is creat task:idle-7 [log ] main.c:55 | this is creat task:idle-8 [log ] main.c:55 | this is creat task:idle-9 [log ] main.c:63 | delete creat task 

 


例程更新ing

. ├── rtos_start_1 //rtos的启动demo ├── rtos_task_2 //rtos任务的使用和任务资源情况查看 ├── rtos_message_3 //rtos消息队列的使用 ├── rtos_sem_4 //rtos信号量的使用 ├── rtos_message_second_5 //rtos消息队列的另一种使用 ├── rtos_mutex_6 //rtos互斥锁的使用 ├── rtos_event_7 //rtos事件的使用 └── rtos_timer_8 //rtos定时器的使用 

 


小结

后续物联网的一些应用工程可以直接搭建在demo上面,毕竟linux的资源还是很足够的,用于了解协议数据还是比较方便快捷的。

Tuu


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM