COCOFLY 教程
——疯壳·无人机·系列
遥控器固件烧写
图1
一、遥控器固件烧写
这里的固件是指源代码编译出来的 Hex 或者 Bin 文件,其中 Hex 是十六进制文件、Bin 是二进制文件。如下图所示为遥控器代码编译出来的 Hex 文件。
图2
只要把这个固件烧写进遥控器的主核心 STM32F103C8T6 的 Flash 内,遥控器的代码就可以运行。这里已经把编译好固件放在了“【5】遥控器固件烧写” 文件夹下,如下图所示。
图3
具体的烧写步骤如下:
(1)把配套的下载器接入遥控器的下载接口,另一端通过数据线接到电脑。接口位置,如下图所示。
图4
(2)打开 J-Flash ARM,点击“Start J-Flash”,然后会弹出选择对应的 J-flash文件框,找到型号“STM32F103CB.jflash”,点击打开。如下图所示。
图5
图6
这里遥控器的主芯片的型号明明是“STM32F103C8T6”,为什么会选择“STM32F103CB.jflash”呢?这是因为遥控器的整体代码大小占用空间已经超过了“STM32F103C8T6”的 64kB 大小,而根据 STM32 官方的提供的解决方法是, 把 MDK 中选择的型号改为“STM32F103CBT6”,编译后也是可以下载固件到“STM32F103C8T6”芯片中的,如下图所示。
图7
可以这样是因为 STM32F103C8T6 和 STM32F103CBT6 是在同一晶圆上制造的,但是 ST 官方测试时,只测试手册提供的参数范围所包含的内容,也就意味这 STM32F103C8T6 也是 128kB Flash,只不过只测试了前面 64kB,然后打上STM32F103C8T6 标注,所以可以依此来解决代码容量超额问题,经过大量地测试,遥控器代码运行也是正常的。
(4)然后把对应的固件(Hex 文件),拖到 J-Flash ARM 这个软件处就可以打开了,按下 F7 或者在“Target”下点击“Auto”,即可完成固件的下载。
图8
拔掉下载器,重启遥控手柄电源,遥控手柄的各项功能运行正常。