Sunday, March 29, 2020

Hướng dẫn lập trình STM32 trên Linux

Chuẩn bị

- Kit STM32F4
- Download gcc-arm-none-eabi: 


Cài Toolchain

Tạo folder ,giải nén file gcc và add path

sudo apt-get install flex bison libgmp3-dev libmpfr-dev libncurses5-dev libmpc-dev autoconf \texinfo build-essential libftdi-dev libsgutils2-dev zlib1g-dev libusb-1.0-0-dev git

mkdir ~/stm32f4
cd ~/stm32f4

Trỏ đến folder chứa file gcc vừa download về
cd ~/Downloads
tar -xvf gcc-arm-none-eabi-9-2019-q4-major-aarch64-linux.tar.bz2 -C ~/Embedded

- Add đường dẫn các thư viện gcc vào trong biến môi trường.
Để chính xác các bạn có thể cd đến đúng folder bin rồi export đúng.
export PATH=$PATH:$HOME/Embbeded/gcc-arm-none-eabi-9-2019-q4/bin

echo $PATH để xem bạn export thành công chưa.

Cài đặt ST-link

Cài libusb,compile và cho phép user có thể truy cập đến st-link... Mục đích chính là để nạp được chương trình xuống kit ST
sudo apt-get install libusb-1.0-0-dev git

cd ~/stm32f4

cd stlink
git checkout texane/pipe
./autogen.sh
./configure

Phần này sau khi configure xong sẽ sinh ra Makefile, bạn copy thư viện libusb.h vào thư mục st-link và chỉnh sửa lại makefile dòng 235 LIBS = -lusb-1.0
Sau đó chạy lệnh make bên dưới

make
 
sudo mkdir -v /opt/stlink
sudo cp -v 49-stlinkv*.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules

Chạy thử chương trình

Với thư viện STM32 thì hầu như là không có hỗ trợ cài đặt nhiều trên linux cũng như các IDE miễn phí, tuy nhiên có ông  Karl Palsson có tâm đã viết lại khá nhiều project mẫu mà chúng ta có thể tham khảo và tiện đường thì mình cũng lấy của ổng xài luôn 😀
1
2
3
4
5
6
7
cd ~/stm32f4
cd kkstm32_base/example/stm32f4/STM32F4xx_StdPeriph_Driver/build/
make
cd ../../Projects/IO_Toggle/
make
st-flash write IO_Toggle.bin 0x08000000
Đây là kết quả sau khi nạp thành công, cứ có dòng “…Flash written and verified! jolly good!” là ok rồi, bạn có thể xem ở bên dưới kit F4 đang chớp LED ầm ầm nhé

No comments:

Post a Comment

Back to Top