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


    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
        拔掉下载器,重启遥控手柄电源,遥控手柄的各项功能运行正常。
        
        
        

  • 相关阅读:
    巧用 CSS 实现炫彩三角边框动画
    java计算机毕业设计ssm基于JAVA的网上购物系统-商城购物网站
    webpack loader 用于对模块的源代码进行转换
    Vue基础面试题11-19
    一文了解Android App Bundle 格式文件
    Python学习记录 模块的发布和安装
    jsp监考安排管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
    QStringList
    nginx反向代理
    error C2589: ‘(‘: illegal token on right side of ‘::‘
  • 原文地址:https://blog.csdn.net/efans_Mike/article/details/126280017