1. 程式人生 > >在ubuntu下對stm32開發板的編譯、燒寫、除錯

在ubuntu下對stm32開發板的編譯、燒寫、除錯

系統環境: 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.除錯

這時候開啟新的終端,輸入

telnet localhost 4444
見到">"就可以傳送命令給openocd了.