单片机/MCU论坛
直播中

疯壳科技

7年用户 1201经验值
擅长:嵌入式技术
私信 关注
[资料]

【疯壳·无人机教程6】开源编队无人机-遥控器固件烧写

COCOFLY 教程
——疯壳·无人机·系列
遥控器固件烧写






1.png
图1   

    一、遥控器固件烧写
    这里的固件是指源代码编译出来的 Hex 或者 Bin 文件,其中 Hex 是十六进制文件、Bin 是二进制文件。如下图所示为遥控器代码编译出来的 Hex 文件。

2.png
    图2

    只要把这个固件烧写进遥控器的主核心 STM32F103C8T6 的 Flash 内,遥控器的代码就可以运行。这里已经把编译好固件放在了“【5】遥控器固件烧写” 文件夹下,如下图所示。

3.png    
    图3
    具体的烧写步骤如下:
    (1)把配套的下载器接入遥控器的下载接口,另一端通过数据线接到电脑。接口位置,如下图所示。

4.png    
    图4
    (2)打开 J-Flash ARM,点击“Start J-Flash”,然后会弹出选择对应的 J-flash文件框,找到型号“STM32F103CB.jflash”,点击打开。如下图所示。

5.png    
    图5   

6.png    
    图6
    这里遥控器的主芯片的型号明明是“STM32F103C8T6”,为什么会选择“STM32F103CB.jflash”呢?这是因为遥控器的整体代码大小占用空间已经超过了“STM32F103C8T6”的 64kB 大小,而根据 STM32 官方的提供的解决方法是, 把 MDK 中选择的型号改为“STM32F103CBT6”,编译后也是可以下载固件到“STM32F103C8T6”芯片中的,如下图所示。

7.png    
    图7
    可以这样是因为 STM32F103C8T6 和 STM32F103CBT6 是在同一晶圆上制造的,但是 ST 官方测试时,只测试手册提供的参数范围所包含的内容,也就意味这 STM32F103C8T6 也是 128kB Flash,只不过只测试了前面 64kB,然后打上STM32F103C8T6 标注,所以可以依此来解决代码容量超额问题,经过大量地测试,遥控器代码运行也是正常的。
    (4)然后把对应的固件(Hex 文件),拖到 J-Flash ARM 这个软件处就可以打开了,按下 F7 或者在“Target”下点击“Auto”,即可完成固件的下载。

8.png    
    图8
    拔掉下载器,重启遥控手柄电源,遥控手柄的各项功能运行正常。




文件下载请点击:
【5】遥控器固件烧写.pdf (803.36 KB)
(下载次数: 14, 2022-8-23 17:47 上传)


更多回帖

发帖
×
20
完善资料,
赚取积分