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搭建eclipse gui開發環境:pc 0x8000b2c 0x8000b2c
(gdb) n
70 ldr r3, [r3, r1]
(gdb) info register pc
pc 0x8000b2e 0x8000b2e
(gdb)
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 ...