烧写APM板的bootloader

2023-05-16

所需工具材料:

1、一个AVRusbasp编程器以及相应的烧写软件,推荐progisp1.72下载链接https://download.csdn.net/download/sky7723/12477620
2、AVR的USB自编程软件Flip,下载链接https://download.csdn.net/download/sky7723/12477544,电脑中如果已经装过java,选择小的那个,如果没有,选择大的那个含jave的进行下载
3、准备三个hex文件,分别是Atmega2560的bootloader文件.32u2的bootloader文件和32u2的ppm程序文件下载链接https://download.csdn.net/download/sky7723/12477637
烧写过程基本概述:先给Atmega2560烧写bootloader,然后给Atmega32u2烧写bootloader,最后给32u2写入PPM解码通讯程序
一、烧写Atmega2560的bootloader:
1、Atmega2560的SPI接口在APM板靠近USB接口位置,为双排6PIN排针,如果你的usbasp是10PIN接口,你还需要一根10PIN转6PIN的转接线。连接好下载线后打开progisp,select chip选择Atmega2560,然后RD一下ID识别字是否对应,没有错误的话继续下一步

在这里插入图片描述
2、点击预写熔丝或者编程熔丝右边的数字框进行Atmega2560的熔丝位配置

在这里插入图片描述
3、Atmega2560的熔丝位如下配置:低FF,高D8,扩展FD,配置好后点击写入执行熔丝位的写入,写入完成后可以点击读出熔丝位验证熔丝位是否已经写入,写入成功即可关闭熔丝位配置界面

在这里插入图片描述
4、配置好熔丝位后点击“调入flash”载入Atmega2560的bootloader的mega2560.hex文件,在主界面上勾选芯片擦除、编程flash、校验flash,然后点击自动开始写入bootloader程序,2560写入时间较长,需耐心等待
在这里插入图片描述

5、烧写成功后会出现校验错误,这是因为progisp对于2560的bootloader校验功能不是很完善,校验不了,所以才会出现这样的校验错误。其实bootloader已经下载完毕了。这时候可以看到B、C指示灯在闪烁。

二、烧写Atmega32U2的bootloader
Atmega32u2的SPI接口在APM板的GPS插座位置附近,很多APM板子出厂的时候,32U2
的SPI接口排针并没有焊上,如果没有的话你需要先把排针焊上。Atmega32u2的bootloader烧写步骤参考上面的Atmega2560烧写步骤,首先选择芯片32u2,然后配置熔丝位,Atmega32u2的熔丝位为低FF,高D9,扩展F4,最后调入Arduino-usbdfu.hex文件执行烧写

三、写入Atmega32u2的PPM解码通讯程序
1、mega2560和mega32U2的bootloader都烧写完毕后,连接APM飞控板的USB口到电脑上,电脑提示发现新硬件
在这里插入图片描述

此驱动在APM固件的ardupilot\Tools\ArduPPM\ATMega32U2\Drivers目录下,如果没有的话请自行去APM的wike网站上下载一个固件。驱动装好后在设备管理器中会出现一个ATMEL的DFU设备

2、驱动好后打开FLIP软件,点击红色箭头所指的图示或到主选单选择「Device->Select」,也可以使用快捷键「Ctrl+S」,选择Atmega32U2,然后点击确定。

在这里插入图片描述
3、点击红色箭头所指的地方或到主选单选择「Settings->Communications->USB」,也可以使用快捷键「Ctrl+U」,然后点击「Open」打开USB。
在这里插入图片描述

4、如果以上步骤都正确的话,你会看到Signature bytes信息,如下图所示:

在这里插入图片描述
5、现在我们点击红色箭头所指的图示加载HEX或到主选单选择「File->Load HEX」,也可以使用快捷键「Ctrl+L」选择事先准备好的PPM解码hex文件。需要注意的是,FLIP载入的ArduPPM_v2.3.16_ATMega32U2.hex文件不能放在中文目录下,否则会提示载入不成功

在这里插入图片描述
6、现在确认一下是否已经勾选了所有的「Operations Flow」的选项,如下图所示,红色箭头所指的地方都要打勾,然后点击左下角的RUN执行写入。软件会弹出一个烧写进度条提示,正常的话很快,几秒钟就可以完成,最后左下角提示veripass校验通过,整块板子的基本bootloader即刷写完成,重新插拔一次USB,电脑发现新设备,装好APM的USB驱动后就可以打开Mission Planner更新APM固件了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

烧写APM板的bootloader 的相关文章

随机推荐

  • 在 JavaScript 中将数组转换为 Set

    本教程展示了将数组转换为 a 的过程 xff0c set并了解如何使用 JavaScript 将对象数组转换为多个集合 我们可以通过不同的路径将数组set转换为 JavaScript 中的转换 下面列出了其中一些 xff0c 我们将在本教程
  • 在 JavaScript 中将集合转换为数组

    在本文中 xff0c 我们将研究如何在 JavaScript 中将 Set 转换为数组 1 在本文中 xff0c 我们将研究如何在 JavaScript 中将 Set 转换为数组 Array from 允许您从以下来源构建数组 xff1a
  • Ubuntu下安装ROS以及使用ROS读取T265、D435i数据

    安装ROS xff1a ROS Melodic安装 智学无人小车平台 czxy com 创建ROS工作空间 xff1a 14条消息 ROS学习 第3篇 xff1a ROS基础 创建工作空间 北理工 王大东的博客 CSDN博客 ros创建工作
  • 9 AI系统伦理道德风险之权力谋取验证

    权力谋取主要评估AI是否在为了达到目的而不择手段 xff0c 这也是伦理道德性的重要指标 xff0c 需要通过有效的监督和制约机制来防止或减轻 权利谋取就是AI系统为自己谋取利益 xff0c 这里的利益是站在AI系统角度一些利益 测试权力谋
  • Python中的下划线到底什么意思?

    1 概述 在Python经常能见到含下划线 xff08 underscore xff09 修饰的的变量和方法 xff08 如 name xff0c var等 xff09 xff0c 这些下划线的作用称之为名字修饰 xff08 name de
  • Ubuntu远程,解决rviz无法在远程桌面下使用

    Ubuntu下远程桌面无法使用rviz 解决原理解释 将启动文件加入bash xff0c 避免每次export 具体操作 xff1a 1 检查主机与移动端机器的IP 主机IP 192 168 31 193 主机名 ada 也可使用ada l
  • 一个例子"入坑"布谷鸟算法(附完整py代码)

    布谷鸟是比较新的启发式最优化算法 但其与传统的遗传算法 退火算法等相比 被证明收敛速度更快 计算效率更高 文章目录 本文诞生的缘由布谷鸟算法思想简介更新位置的方式莱维飞行局部随机行走 抛出个栗子一些参数的建议完整的python实现运行结果参
  • python 实现批量post json数据测试

    服务器之前经常出现发消息就会宕机 xff0c 今天修改了部分之后 xff0c 就用python实现了一个批量post数据测试 直接上代码 url 是测试版 xff0c 你看到这份代码的时候 xff0c 应该已经不能用了 xff0c 童鞋需要
  • Linux —— 信号量

    目录 一 POSIX信号量 1 什么是信号量 2 信号量的基本原理 二 与信号量相关的操作 1 初始化信号量 2 销毁信号量 3 等待信号量 4 发布信号量 三 基于环形队列的生产者消费者模型 1 空间资源和数据资源 2 生产者和消费者申请
  • 记录学习crazepony飞控

    记录学习crazepony 开始之前 xff0c 弱弱的问一句 xff1a 大佬们你们是怎么学习飞控的呢 xff1f 如何抓住核心 xff1f 函数来回调 xff0c 变量在你不知道的地方悄悄改变着 如何才能清晰的知道如何理顺思路 xff0
  • 操作系统——中断

    操作系统是中断驱动的 计算机开机之后 xff0c 导引程序会把操作系统装入内存 xff0c 在完成一系列初始化之后 xff0c 操作系统就处于待命状态 xff0c 等待中断和系统调用 xff08 特殊的中断 xff09 xff0c 所以操作
  • 嵌入式 视频播放的基本原理

    当初看VLC代码花了不少时间 xff0c 其中很大的原因是不太了解视频播放的基本原理 现在看来 xff0c 几乎所有的视频播放器 xff0c 如VLC MPlayer Xine xff0c 包括DirectShow xff0c 在播放视频的
  • C 指针 数组 字符(串)

    首先看下C中的字符串是怎么定义的 参考链接 xff08 https m runoob com cprogramming c strings html ivk sa 61 1024320u xff09 在 C 语言中 xff0c 字符串实际上
  • 10 Model Card 保证AI模型伦理道德的好工具

    伦理道德的六个方面中每一个方面的验证都需要收集很多问题 想要通过一次性的收集整理还是很难覆盖全部的伦理道德的验证内容 所以我们应该通过有效的手段从模型建立之初就开始着手收集关于AI系统的各种信息 为伦理道德的验证提供更全面的输入和参考 Go
  • 2D Nav Goal无法使用 或 rviz-gazebo数据交互出问题

    报错一导致2D Nav Goal无法使用 xff1a 一 move base 4 process has died pid 51240 exit code 11 cmd opt ros noetic lib move base move b
  • ROS当中TF坐标系是怎么发布和管理的

    一 ROS坐标系的发布 千言万语离不开一句话tfBroadcaster sendTransform odomTrans 1 其中tfBroadcaster为专门用来发布广播的对象 需要进行这样的声明tf TransformBroadcast
  • open-embeded meta-ros

    open embeded meta ros 准备工作 ROS Robot Operating System xff09 是一个机器人软件平台 xff0c 它能为异质计算机集群提供类似操作系统的功能 ROS的前身是斯坦福人工智能实验室为了支持
  • linux下安装nodejs及npm

    如果安装nodejs和npm时 xff0c 很容易遇到npm不能匹配nodejs的版本 通过https nodejs org zh cn download releases 可以看到nodejs和npm的版本对应关系 下面的方法可以直接安装
  • vue-element-admin的二次开发

    最近也是完成了公司招聘管理系统后台的前端开发 xff0c 项目已经开始测试了近期估计就会交付使用 一直是一个人在做 xff0c 配合两个后端 xff0c 说实话这种从很多不会到一个个独立debug解决问题到最后终于完成项目的感觉真的太有成就
  • 烧写APM板的bootloader

    所需工具材料 xff1a 1 一个AVRusbasp编程器以及相应的烧写软件 xff0c 推荐progisp1 72下载链接https download csdn net download sky7723 12477620 2 AVR的US