烧录程序

  • 本小节教你如何使用 Micro-USB 和 Jlink-ob 烧录程序代码到小车里去。建议认真阅读每一行文字。
  • 自2019年1月1日起购买「小霸王Lite」的小伙伴,可参照本节方法烧录代码。

「小霸王Lite」两轮自平衡小车支持 2 种烧录方式:

  1. 使用套件配套的 Micro-USB 数据线烧录
  2. 使用萌新自备的 SWD 烧录工具(JLink-ob、ST-Link等)烧录

下面分别对以上两种烧录方式进行详细的说明。

使用 Micro-USB 数据线烧录

硬件设备
  • 「小霸王Lite」两轮自平衡小车
  • Micro-USB 数据线
  • 电脑
软件工具
  • mcuisp.exe 烧录软件
  • CP2102 USB to UART 芯片驱动
相关链接
操作步骤

本示例中使用 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 芯片的驱动程序理论上是已经成功安装了。

连接数据线
Image 2.10.1 - 连接数据线

但是,我们还需确认驱动程序是否已经正常安装。用 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 端,再重新上电或者按一下控制板的复位按钮,就能看到程序烧录进小车里的运行效果啦。

硬件设备
  • 「小霸王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界面
Image 2.10.2 - MDK界面

烧录成功之后,会在 MDK-ARM 下方的Build Output框中出现一段提示。

MDK界面
Image 2.10.3 - MDK界面

至此,烧录已经成功,程序一般会自动运行。JLink-ob 提供的电流不足以驱动电机转动,我们把电池装好,开机上电,就能看到代码在小车里的运行情况啦。如果你发现程序没有运行,那是很大可能是因为我们在设置中没有选上自动运行,这时需要手动复位,按一下控制板上的复位按键或者重新上电,程序就会运行。如果觉得每次手动复位太麻烦,我们还可以设置一下,在 MDK-ARM 开发环境中点击 Target Options…->Debug->Setting->Flash DownLoad,把 Reset and Run 选项打勾选上,烧录完代码就会自动复位并运行程序。

MDK界面
Image 2.10.4 - MDK界面

如果在下载时出错,提示检测不到 JTAG,那是因为 JLink-ob 使用的是 SWD,这时要依次点击Target Options…->Debug->Setting->J-Link/J-Trace Adapter,在 ort 选择栏将默认的 JTA 更改选择 SW

MDK界面
Image 2.10.5 - MDK界面

选择烧录工具为 JLINK/J-TRACE Cortex

MDK界面
Image 2.10.6 - MDK界面

JTAG 更改选择 SW

资料包里的程序工程默认的 SWD 烧录器是设置为 JLink,所以,我们能直接使用 JLink-ob 烧录代码,如果想使用ST-Link ,那么需要在 Target Options…->DebugJLINK/J-TRACE Cortex 改成 ST-Link Debugger 或其他。