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

  • 相关阅读:
    SpringBoot读取.yml配置文件最常见的两种方式-源码及其在nacos的应用
    二进制k8s搭建—V1.20版本(高可用集群)—debian-centos系统
    Android 对于状态栏和导航栏的操作
    8-flask django执行原生sql和sqlalchemy执行原生sql、flask-sqlalchemy使用(filter_by和filter)、flask-migrate使用
    Datawhale ChatGPT基础科普
    在混合云中优化边缘计算的三种方法
    极狐GitLab CI 助力 .Net 项目研发效率和质量双提升
    搭建DNS服务器
    新冠肺炎传染病的监测措施
    阿里云2023年双十一优惠活动整理
  • 原文地址:https://blog.csdn.net/efans_Mike/article/details/126280017