學習FreeRTOS 01 構建安裝環境

2021-10-02 12:06:50 字數 1346 閱讀 1058

1.安裝軟體

使用stlink或jlink在ubuntu除錯程式需要預先安裝一些軟體

make,libusb,openocd,telnet,gcc-arm-none-eabi,stm32cubemx

2.建立工程

2.1獲取st提供的庫

2.2建立工程模板

工程模板主要包括makefile,ld script,源**組成

ld script:在st提供的庫里已經有了,選擇gcc版本對應你的cpu型號的,也可以參照手冊編寫或修改

makefile:freertos工程很小,寫乙個簡單的makefile就可以了,也可以使用附件裡的makefile修改一些引數適配你的cpu型號

源**:需要把st提供的庫中gcc版本的對應你的cpu的原始檔和標頭檔案複製出來,可以參考附件裡的模板

3.編譯,執行,除錯

3.1編譯和清理

如果使用了附件裡的makefile模板只要執行make all即可

3.2執行程式

開發板需要鏈結到電腦,之後啟動openocd

可以在/usr/share/openocd/scripts/inte***ce/看到所有支援的除錯工具介面配置檔案

可以在/usr/share/openocd/scripts/target/看到所有支援的cpu配置檔案

jlink:sudo openocd -f inte***ce/cmsis-dap.cfg -f target/stm32f4x.cfg -c "gdb_port 3333"

st-link:sudo openocd -f inte***ce/stlink-v2.cfg -f target/stm32lx_stlink.cfg -c "gdb_port 3333"

啟動telnet,與openocd互動

sudo telnet localhost 4444

停機:halt

3.3除錯

arm-none-eabi-gdb -ex "target remote localhost:3333"

復位cpu:monitor reset halt

載入:load

至此程式已經可以開始除錯了

(gdb) info register pc

pc             0x8000b2c           0x8000b2c

(gdb) n

70   ldr r3, [r3, r1]

(gdb) info register pc

pc             0x8000b2e           0x8000b2e

(gdb) 

搭建eclipse gui開發環境:

FreeRTOS學習筆記( )

任務管理 portbase type xtaskcreate pdtask code pvtaskcode,指向任務函式的指標 const portchar const pcname,任務的文字名字,只會在除錯中用到 unsigned portshort usstackdepth,棧深度 void ...

FreeRTOS學習應用

就緒態 處於就緒態的任務還沒有執行,因為有乙個同優先順序或更高優先順序的任務正在執行。阻塞態 任務進入阻塞態即任務在等待佇列 訊號量 事件組 通知或互斥訊號量時會進入阻塞狀態。掛起狀態 任務進入掛起狀態後不能被排程器呼叫進入執行狀態 1.任務優先順序可以分為32個等級,任務優先順序最好設定滿足應用的...

freeRTOS學習筆記

freertos學習筆記 主要目的記api 1.freertos配置檔案 freertosconfig.h 2.狀態轉換執行就緒阻塞態 掛起態 vtasksuspend 掛起 就緒 vtaskresume 阻塞 就緒 cevent 執行 阻塞 呼叫阻塞api函式3.任務堆疊大小 實際引數 引數x4 ...