換個環境運行-將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