我个人使用的笔记本主系统是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要根据自己的环境替换。 添加环境变量 ~/.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 配置环境路径 ~/.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 可惜的是最后编译报错,找个时间再检查下是否流程有问题。 未完待续。