我个人使用的笔记本主系统是Ubuntu18.04,这次就借着体验NUCLEO-H743ZI开发板,想在Ubuntu18.04下安装stm32的开发环境(不借助虚拟机装Windows),折腾一下,目前居然还没成功,先记录下流程,后面再慢慢更新吧。
1. 安装必备的依赖,这个直接按命令安装即可:
sudo apt-get install libusb-dev
sudo apt-get install libusb-1.0-0-dev
sudo apt install git
sudo apt install cmake
2. 安装stlink
下载网址:git clone https://github.com/texane/stlink
终端执行:
cd stlink && make release && cd build/Release && make install DESTDIR=/home/yiguang/STLink && sudo cp -rf ~/STLink/usr/local/bin/st-* /usr/local/bin && sudo cp -rf lib /usr/local/lib/stlink
其中DESTDIR=/home/yiguang/STLink要根据自己的环境替换。
添加环境变量
echo "export LD_LIBRARY_PATH=/usr/local/lib/stlink">> ~/.profile
然后source ~/.profile
接上usb,然后看看设备有没挂上
图1-lsusb
此时
图2-st info
调用st-flash
如果出现这样的信息,说明stlink还没装好。
图3-st erase
原来还差一步,要把stlink的编译结果里的etc/udev/rules.d复制到/etc/udev/rules.d去。
即
图4-rules
把该目录下的所有文件复制到/etc/udev/rules.d目录下,即
sudo cp *rules /etc/udev/rules.d/
然后
sudo udevadm control --reload-rules
此时再用st-info看看
图5-st info
看到设备有了
但flash、sram的大小信息却没能获取到。查看stlink的源码,发现还没有对stm32h743的支持。
粗略看了下stlink源码及h743的spec,筛选出以下资料需要写到源码里:
图6-dev id
Flash size reg 0x1FF1 E880
图7-flash size
Flash pagesize 0x800
Sram size 1MB
Bootrom base 0x0800 0000
图8-boot rom
Boot rom size 128K
另外找个时间好好看看这个stlink开源源码。
3. 安装编译链
stm32 属于arm cortex-m系列thumb指令集,所以给arm用的arm-none-eabi就可以了。
下载地址https://launchpad.net/gcc-arm-embedded/+download
这里下载其中的gcc-arm-none-eabi-version-linux.tar.bz2
配置环境路径
echo "export PATH=/home/yiguang/ToolChains/gcc-arm-none-eabi-5_4-2016q3/bin:$PATH">> ~/.profile
source ~/.profile
4.安装en.SetupSTM32CubeMX-5.1.0-RC6,官网下载https://www.stmcu.org.cn/document/detail/index/id-214984,安装里面的linux版本,双击安装即可。装完之后整体界面和使用和Windows版本是一样的,此处不多说。
5. 安装MicroPython
下载
git clone https://github.com/micropython/micropython.git
编译
图9-compile
可惜的是最后编译报错,找个时间再检查下是否流程有问题。
未完待续。
curton 2019-5-31 23:17