在ubuntu下對stm32開發板的編譯、燒寫、除錯
阿新 • • 發佈:2019-02-19
系統環境: ubuntu 14.04 lts
板子: stm32f446re nucleo
參考:
1.首先在終端裡安裝一系列支援的包
sudo apt-get install build-essential git flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf texinfo libtool libftdi-dev libusb-1.0-0-dev zlib1g zlib1g-dev python-yaml
2.安裝gcc-arm-embedded工具鏈和openocd
sudo gedit ~/.bashrc
在最後一行新增
export PATH=$PATH:/dir/gcc-arm-none-eabi-4_9-2015q3/bin
把編譯器新增到環境中. 重啟就可以使用了.
安裝openocd,在終端輸入
git clone git://openocd.git.sourceforge.net/gitroot/openocd/openocd cd openocd ./bootstrap ./configure --enable-maintainer-mode --disable-option-checking --disable-werror --prefix=${PREFIX} --enable-dummy --enable-usb_blaster_libftdi --enable-ep93xx --enable-at91rm9200 --enable-presto_libftdi --enable-usbprog --enable-jlink --enable-vsllink --enable-rlink --enable-stlink --enable-arm-jtag-ew make sudo make install
3.下載示例
例子是參考文獻裡的, 什麼作用我還沒搞清楚,暫時能用就是了. 解壓縮後在檔案目錄下執行make,在build資料夾下會生成三個bin hex elf格式檔案.
4. 用openocd燒寫程式
終端在build資料夾下執行
openocd -f interface/stlink-v2-1.cfg -c "set WORKAREASIZE 0x2000" -f target/stm32f4x_stlink.cfg -c "program stm32f4_sample.elf verify reset"
5.除錯
這時候開啟新的終端,輸入
見到">"就可以傳送命令給openocd了.telnet localhost 4444