|
安装编译器 如果还没安装编译器的,先安装:
安装 cmake 和 libusb
安装 stlink 下载开源的 STLink 驱动代码
编译、安装
默认安装路径为 /usr/local/,可以根据需要指定安装路径,例如 make install DESTDIR=$HOME 安装成功后,系统增加了如下几个工具:
刚好我手上有一块 STM32 NUCLEO-F411R,下面我们将利用它来做个简单的实验。 使用 USB 线连接开发板和电脑,执行 lsusb 可以看到已经识别到 ST-LINK/v2.1 设备。
执行 st-info --probe 查看 STLink 设备信息。
编译 bsp 工程 前面我们已经下载好的 rt-thread-4.0.1 源码,进入 stm32f411-st-nucleo 的 BSP 目录,直接编译一下看看。
编译不了,原因是交叉编译工具没有配置好。打开 rtconfig.py 文件,找到对应编译器选项中的 EXEC_PATH 变量,将其修改为本地编译器所在的目录,我这里是 /usr/bin。
执行 scons 构建工程,出现如下错误:
很明显,因为代码中变量定义的风格是 C99 以上标准才支持的,所以需要为编译器指定 C99 或 C11 模式。打开 rtconfig.py 文件,在对应编译器选项中的 CFLAGS 变量末尾添加 -std=c99 参数。
重新执行 scons 命令,稍等片刻出现 scons: done building targets. 提示,表示编译成功。可以看到当前目录下多了 rtthread.elf 和 rtthread.bin 两个二进制文件。
打开 applications/main.c 文件,在 main 函数中添加一行打印:
重新构建工程
接下来执行 sudo st-flash write rtthread.bin 0x8000000,将 rtthread.bin 文件烧写到板子的 0x8000000 地址。
看来烧写成功了!
我们还需要连接 STLink 虚拟串口,看看有没有打印出我们想要的信息。首先要确定设备节点,这里是 /dev/ttyACM0,然后执行如下命令进行设置:
选择 “Serial port setup”,设置串口设备为 /dev/ttyACM0,波特率 115200。
选择 “Save setup as…” 将配置命名为 stlink,该配置文件保存在 /etc/minicom/minirc.stlink。
退出,重新输入 minicom stlink 命令,即可打开 ST-LINK 虚拟调试串口。
看到我们想要的信息啦!这也表明我们在 Linux 下搭建的 STM32 开发环境 OK 了!
|
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
这个位置的命令有错误,应该是: