# PIC32MK1024GPE100-串口BootLoader ## 传统BootLoader(不带BANK切换)

2023-10-27

下面开始具体操作(稍微带一点理论,研究不深)

编译环境:mplab x ide v5.5 mhc:harmoney v3.0

第一步:创建BootLoader工程

创建工程(如图1)这里不展开讲,只讲注意点,

注意:

1、配置好板子上对应引脚(如图2),不然无法工作

2、注销掉按键代码(如图3)

3、检查宏定义(如图4),这个宏定义如果没有会导致app检测到固件更新按键,重启后一直烧写,不跳转到新app

在这里插入图片描述

​ 图1

在这里插入图片描述

​ 图2

在这里插入图片描述

​ 图3

在这里插入图片描述

​ 图4

第二步:创建app工程

这里我用的是harmony自带的工程,工程路径(在Harmony3的安装路径里面)D:\Users\62589\Harmony3\bootloader_apps_uart\apps\uart_bootloader\test_app\firmware\pic32mk_gp_db.X

用它这个工程比较方便,里面写好了固件更新代码,不过里面的引脚配置需要改一下,改成适合自己板子的,也可以自己创建工程。

下面说说我遇到的问题,也是一般人过不去的坎(或者说需要很长时间才能过得去),那就是让新手非常头疼的linker files里的配置文件。

1、配置linker files

让新手非常头疼的linker files里的配置文件,是我公司的同事给我写的。配置文件我直接给出如下,大家下载下来直接替换掉就行了。

链接:https://pan.baidu.com/s/17Xt8r_nPuGooiED4Q7F6ig?pwd=8888
提取码:8888

2、bin文件生成

配置好了linker files,bin文件生成只需要在项目属性里配置一下就行了(如图5),bin文件指令

${MP_CC_DIR}/xc32-objcopy -I ihex -O binary ${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.hex ${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.bin

有人说生成的bin文件有45M那么大,没错开始我也是,后来用了同事给的linker files文件后就正常了,当然官方给的linker files生成的bin文件也正常,就是无法运行,我尝试了好久不行。

在这里插入图片描述

​ 图5

3、配置【程序下载】上位机

我还是用的官方的python上位机(如图6),具体参考官方文档

MPLAB® Harmony 3 之基础篇(16)-- 如何使用 UART bootloader

这里直接给出我的bat文件类容

python D:\Users\62589\Harmony3\bootloader\tools\btl_host.py -v -i COM12 -d pic32mk -a 0x9D000000 -f pic32mk_gp_db.X.production.bin
pause

注意:

1、这里python需要调用这个路径D:\Users\62589\Harmony3\bootloader\tools\btl_host.py下的btl_host.py文件,你们可以打开这个文件看看,这就是上位机代码。

2、COM12这里你们改成自己的端口

3、pic32mk_gp_db.X.production.bin这个改成自己的bin文件名称

4、bat文件放在pic32mk_gp_db.X.production.bin这个旁边,跟它在同一个文件夹中

在这里插入图片描述

​ 图6

第三步:实战

1、用烧写器(比如kit3.5/kit4)烧写Bootloader代码

2、编译app程序生成bin文件

3、打开bat文件烧写bin文件(如图7)

4、烧写完检查程序是否运行,是否是你app程序,如果没有对照上述文档检查一下,祝你们调试一次成功!

5、按住固件更新开关,等待板子重启,进入BootLoader程序下载模式,然后再到3步骤用bat文件烧写bin文件,这样就大功告成了,不用烧写器也可以下载更新固件了。

在这里插入图片描述

​ 图7

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

# PIC32MK1024GPE100-串口BootLoader ## 传统BootLoader(不带BANK切换) 的相关文章

  • 魔方机器人之下位机编程---------舵机控制

    1 春天180 舵机 SR 403P 信号线和控制线颜色对应关系 两黑一白 白色信号线 中间电源 另一黑色电源 以上MC9S12XS128单片机通道三产生的周期为20ms 高电平为1 5ms的舵机控制信号 void PWM Init voi
  • 如何查看端口被哪个进程占用(Windows/Linux)

    之前有写过Linux如何查看端口被占用 但是最近查看Window的端口占用情况比较多 两个系统均使用了netstat命令但是参数不同 所以新写一个笔记作为对比 Windos查看端口占用 netstat ano 这个命令可以显示本机所有端口占
  • SqlServer 通用修改字段类型(多表)

    起因 因为SqlServer 数据库不支持varchar 类型写入 韩文多语言 解决方式 修改varchar类型为 nvarchar 类型 nvarchar类型是占用两个字节 其他问题 1 SqlServer的主键最多900字节 所以不能将
  • StringTokenizer实现

    OO分析 识别对象 源字符串str 当前词起始指针start 扫描指针i 当前词word 基本互动关系 1 当前指针在str范围且是字符i lt str size str i 并且是第一个字符 i 0 或上一个字符是空格 str i 1 则
  • Java 使用socket实现向服务器端上传图片[TCP]

    整体思路其实和使用IO流进行文件拷贝类似 只不过这次涉及的流更多 1 图片属于二进制文件 所以采用字节流处理 2 源图片文件位于客户端主机的磁盘 所以我们需要通过本地IO 将其输入到内存 本地IO 3 然后将读入内存的文件通过socket的
  • 三台服务器es集群性能,es集群服务器配置

    es集群服务器配置 内容精选 换一换 CDM支持将本地自建的Redis数据库或者第三方的Redis服务数据迁移到分布式缓存服务 Distributed Cache Service 简称DCS 无需编程即可快速实现迁移 使用流程如下 创建CD
  • 苹果手机signin_iPhone手机弹出sign in to itunes store怎么办[图]

    iPhone手机弹出sign in to itunes store怎么办 想必有的亲们遇到了这种问题 那么是不是骗子呢 下面就由安族小编为您详细介绍介绍哦 iPhone弹出sign in to itunes store怎么办 容易模仿的弹出

随机推荐

  • python/备战蓝桥杯-快速排序

    for i in range 引自Python for i in range 用法详解 python 脚本之家 jb51 net 快速排序 nums 5 3 6 4 1 2 8 7 for i in range 1 len nums 遍历未
  • ScriptManager 控件概述

    原文 http msdn microsoft com zh cn library bb398863 aspx ScriptManager 控件管理支持 AJAX 的 ASP NET 网页的客户端脚本 默认情况下 ScriptManager
  • 编译freetype库

    1 在https www freetype org download html有下载地址https savannah nongnu org download freetype 我下载的是freetype 2 7 tar gz 2 https
  • 塔防类游戏关卡分析

    转自 http blog csdn net u014779452 article details 48471669 隐约还记得最开始接触的塔防游戏是在 魔兽争霸3 里的一个塔防地图 一个田字型的地图 四周一波一波的来怪物 而玩家需要在路边建
  • LayUI⑺:与PHP结合写一个通用的Excel导入程序

    昨天和两个做开发的朋友聊天 对于我还在使用LayUI感到奇怪 我也没有多解释 毕竟LayUI对于做一些中小型的开发还是不错的 前端的框架中 熟悉了一个其他的也差之不多 但LayUI的资料不细致是个很大的缺憾 用户提出有一个Excel表的记录
  • 软件耦合度的计算公式

    个人觉得软件耦合 是用来判断一个模块 功能 野可以简单理解为一个xx c文件 与其他模块之间的耦合联系的 通过理论分析我们可以确定出两个模块之间的必须耦合元素有哪些 然后由于C语言 jonah king的灵活性 我们必须选择出最合适的耦合方
  • 国内外人工智能AI工具网站大全(一键收藏,应有尽有)

    本文由 大侠 AhcaoZhu 原创 转载请声明 链接 https blog csdn net Ahcao2008 国内外人工智能AI工具网站大全 一键收藏 应有尽有 摘要 一 AI写作工具 二 AI图像工具 2 1 常用AI图像工具 2
  • 防火墙性能评估标准

    作为应用最广泛的网络安全产品 防火墙设备本身的性能何将对最终网络用户得到的实际带宽有决定性的景响 本文从网络层 传输层和应用层三个层面对防火墙的常用性能指标及测试方法进行了分析与总结 并提出了建立包括网络性能测试 IPSec VPN 性能测
  • Centos6.9安装JDK1.8

    下载安装JDK1 8 jdk1 8下载 通过xftp上传到自己的linux服务器中如 home dev tool jdk 8u161 linux x64 tar gz 1 进入 usr local 在 usr local 下创建java文件
  • 小学计算机设备维修维护记录簿,设备维修保养记录文本表.doc

    专业技术资料分享 WORD资料 下载可编辑 每 周月季 设备维修养护记录表 口 机电设备 口机械仪表 口辅助设施 年 月 日 编号 设备名称 传送带 回流焊 老化线 刷锡机 申报人 口 日常维修 保养 型号 主任人 口 大修 口小修 保修内
  • tar压缩和解压文件或文件夹

    1 使用tar压缩文件 tar zcvf test tar gz test 该命令表示压缩当前文件夹下的文件夹test 压缩后缀名为test tar gz 如果不需要压缩成gz 只需要后缀为tar格式的 那么输入如下命令 tar cvf t
  • 数据集路径输入

    from os import listdir from os path import isfile join import tensorflow as tf import matplotlib pyplot as plt dataset p
  • C++考试酷考试题

    1 C 函数的传递方式有 1 值传递 2 指针传递 3 引用传递 2 内存的分配方式有 1 从静态存储区域分配 2 在栈上创建 3 常量区 4 从堆上分配 3 面向对象的基本特征 1 继承 2 封装 3 多态 4 Switch 中不允许的数
  • 详解nginx的原生被动健康检查机制&灾备使用(含测试)

    nginx作为一个集web服务器 cache 7层lb于一身的全能型选手 已经应用到互联网各种领域 其高性能 易使用的技术品质深得人心 连同在其基础上二开的tengine openresty都有很大的用户量 今天剖开讲一下nginx健康检查
  • python3 类对象的定义、方法

    类 Class 对象 定义 方法 面向对象的定义 类 Class 用来描述具体相同的属性和方法的对象的集合 定义了该集合中每个对象所共有的属性和方法 对象是类的示例 类变量 类变量在整个实例化的对象中是公用的 类变量定义在类中且在函数体之外
  • C# 实现Json文件读写

    JSON是一种轻量级的数据交换格式 它基于 ECMAScript的一个子集 采用完全独立于编程语言的文本格式来存储和表示数据 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言 易于人阅读和编写 同时也易于机器解析和生成 并有效地提
  • 写一个 RecentCounter 类来计算特定时间范围内最近的请求

    class RecentCounter int count public RecentCounter this count 0 Queue
  • Doris窗口函数经典案例:遇到标志划分组

    需求 将上面的表转化成下面的形式 首先按照用户进行分组 在用户分组的基础上 name字段每遇到一个e 就分一组 user id name u1 e1 u1 e1 u1 e u1 e2 u1 e3 u1 e u2 e1 u2 e2 u2 e
  • SpringCloud-Geteway之限流,熔断(超详细篇)

    目录 一 Sentinel 服务容错 1 1 高并发带来的问题 1 使用压测工具 对请求进行压力测试 2 修改配置文件中tomcat的并发数 1 2 服务雪崩效应 1 3 常见容错方案 1 4 Sentinel入门 什么是Sentinel
  • # PIC32MK1024GPE100-串口BootLoader ## 传统BootLoader(不带BANK切换)

    下面开始具体操作 稍微带一点理论 研究不深 编译环境 mplab x ide v5 5 mhc harmoney v3 0 第一步 创建BootLoader工程 创建工程 如图1 这里不展开讲 只讲注意点 注意 1 配置好板子上对应引脚 如