烧录程序
- 本小节教你如何使用 Micro-USB 和 Jlink-ob 烧录程序代码到小车里去。建议认真阅读每一行文字。
- 自2019年1月1日起购买「小霸王Lite」的小伙伴,可参照本节方法烧录代码。
「小霸王Lite」两轮自平衡小车支持 2 种烧录方式:
- 使用套件配套的 Micro-USB 数据线烧录
- 使用萌新自备的 SWD 烧录工具(JLink-ob、ST-Link等)烧录
下面分别对以上两种烧录方式进行详细的说明。
使用 Micro-USB 数据线烧录
硬件设备
- 「小霸王Lite」两轮自平衡小车
- Micro-USB 数据线
- 电脑
软件工具
- mcuisp.exe 烧录软件
- CP2102 USB to UART 芯片驱动
相关链接
- CP2102 官方驱动:官方驱动
操作步骤
本示例中使用 Windows 7 系统,如果你使用的是其他版本系统(Windows 8、Windows 10 等),请点击上面的相关链接转跳至 CP2102 官网中下载对应的驱动程序。
(一)安装 CP2102 驱动
在 光盘/07.开发环境及烧录工具/CP210x_Windows_Drivers_with_Serial_Enumeration.zip
中找到 CP2102 驱动,并对其进行解压,得到 CP210xVCPInstaller_x86.exe、CP210xVCPInstaller_x64.exe
两个可执行文件。然后,在电脑桌面找到并且鼠标左键点击选中「我的电脑」图标,右键选中点击「属性」,查看电脑系统类型。如果电脑系统类型是「64 位操作系统」,则双击CP210xVCPInstaller_x64.exe
进行驱动安装;如果电脑系统类型是「32 位操作系统」,则双击 CP210xVCPInstaller_x86.exe
进行驱动安装。接着,开始进入自动安装界面。
进入驱动安装界面,点击「下一步」。
选择「我接受这个协议」,点击「下一步」。
进入自动安装环节,过几秒后,提示「此计算机上成功安装了此驱动程序」。
来到这一步,CP2102 USB to UART 芯片的驱动程序理论上是已经成功安装了。
但是,我们还需确认驱动程序是否已经正常安装。用 Micro-USB 数据线连接电脑和小车,在电脑桌面上左键点击「我的电脑」,右键点击「属性」,再在面板上点击「设备管理器」,在 「端口(COM和LPT)」 中可以找到小车使用的 COM 口。如果显示 COM 口,则表示驱动程序已经正常安装。示例截图为 COM1。
(二)使用 mcuisp.exe 软件进行烧录
在 光盘/07.开发环境及烧录工具/mcuisp.exe
中找到 mcuisp.exe 软件,并且双击打开该软件。
首次打开 mcuisp.exe 的界面。
点击 mcuisp.exe 软件上层菜单栏的「搜素串口」,然后在「Port」选择对应串口,示例为 COM1。波特率选择 115200bps。选择烧录 hex 代码文件,示例选择为 光盘/02.源代码/Mwbalanced-stm32-小霸王Lite-firmware-互补滤波-none V3.3/Output/BasicBalance.hex
,其他设置默认即可。
接着,把小车的 STM32 控制板上的 BOOT0 跳帽跳到 1 端,即高电平端。这个步骤非常重要,如果跳帽没跳到高电平端,是烧录不进去的。
再点击 mcuisp.exe 软件的「开始编程」 按钮,按一下核心板的复位按钮,就会检测到芯片,并且开始烧录代码。
代码正在烧录中。
代码烧录完毕。提示「命令执行完毕,一切正常」。
(三)BOOT0 跳回 0 端,小车重新上电
至此,代码已经成功烧录到「小霸王Lite」两轮自平衡小车上啦。这时候萌新们可能会心情激动万分,终于烧录进去代码了,但却发现小车怎么好像没反应?因为我们还没有把 BOOT0 跳帽跳回 0 端,程序还无法运行。我们只要把小车控制板上的 BOOT0 跳帽跳回 0 端,再重新上电或者按一下控制板的复位按钮,就能看到程序烧录进小车里的运行效果啦。
JLink-ob 烧录代码
硬件设备
- 「小霸王Lite」两轮自平衡小车
- JLink-ob
- 电脑
软件工具
- MDK-ARM 5.17
使用 JLink-ob 下载需要先安装好 MDK-ARM 软件。
操作步骤
使用 Jlink-ob 烧录时,对应 JLink-ob 和 STM32 控制板上的接口丝印,并将 JLink-ob 的 SWD 四线插到 STM32 控制板的 SWD 排针上。
然后,点击 MDK-ARM 左上角快捷工具栏中的 Load
按钮(或者选项菜单中选择Flash-Download
),就可以把编译好的代码程序烧录到芯片中去。
烧录成功之后,会在 MDK-ARM 下方的Build Output
框中出现一段提示。
至此,烧录已经成功,程序一般会自动运行。JLink-ob 提供的电流不足以驱动电机转动,我们把电池装好,开机上电,就能看到代码在小车里的运行情况啦。如果你发现程序没有运行,那是很大可能是因为我们在设置中没有选上自动运行,这时需要手动复位,按一下控制板上的复位按键或者重新上电,程序就会运行。如果觉得每次手动复位太麻烦,我们还可以设置一下,在 MDK-ARM 开发环境中点击 Target Options…->Debug->Setting->Flash DownLoad
,把 Reset and Run
选项打勾选上,烧录完代码就会自动复位并运行程序。
如果在下载时出错,提示检测不到 JTAG,那是因为 JLink-ob 使用的是 SWD,这时要依次点击Target Options…->Debug->Setting->J-Link/J-Trace Adapter
,在 ort
选择栏将默认的 JTA
更改选择 SW
。
选择烧录工具为 JLINK/J-TRACE Cortex
。
将 JTAG
更改选择 SW
。
资料包里的程序工程默认的 SWD 烧录器是设置为 JLink,所以,我们能直接使用 JLink-ob 烧录代码,如果想使用ST-Link ,那么需要在 Target Options…->Debug
将 JLINK/J-TRACE Cortex
改成 ST-Link Debugger
或其他。