CH552G的使用IAP下载方式,下载IAP文件和用户运行代码

参考
参考:https://mar-sky.blog.csdn.net/article/details/140448176,本质一样,实现方式不同,对程序的要求不同,不用放在运行代码中。和下面最大区别就是代码的下载地址不同,IAP的代码放在的另一个区域。

概述

在这里插入图片描述

将IAP的hex和运行程序的hex文件下载到不同的地址,在keil中设置下载地址的位置不能让IAP的hex和想要运行的实际运行的hex文件地址重合,需要把IAP的下载地址修改
在这里插入图片描述

keil中修改IAP代码烧录起始地址的设置

这个地址写入需要注意对内存不同的地方写入运行程序很危险,需要谨慎。首先知道两个文件的大小MCU实际存储程序的地址空间
在这里插入图片描述
在这里插入图片描述

下载程序的起始地址计算

感觉这样起始地址计算有些问题,例如共有10字节,需要用5字节:10-5+1 =6才是开始的地址。下面是根据参考的IAP的文档的计算方式

在这里插入图片描述
上面只是计算的例子,所以和下面的实际地址不同
在这里插入图片描述

IAP“引导程序”

实际上还是最终跳转到了厂家的bootload程序

#include "CH554.H"                                                    
#include "delay.h"#define BOOT_ADDR  0x3800 //这个引导最终还是进入了厂家编写的bootload程序
typedef void( *pTaskFn)( void );//定义一个函数指针pTaskFn BOOT_PRE;  void main( void ) 
{EA = 0;                                                                    //关闭总中断,必加BOOT_PRE = BOOT_ADDR;mDelaymS( 100 ); 				BOOT_PRE( );                                                          //跳至BOOT升级程序,使用ISP工具升级	while(1);}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3246230.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

持续集成03--Jenkins的安装与配置

前言 在持续集成/持续部署(CI/CD)的实践中,Jenkins作为一个开源的自动化服务器,扮演着至关重要的角色。本篇“持续集成03--Jenkins的安装配置”将带您走进Jenkins的世界,深入了解如何在Linux环境中安装并配置Jenkins。…

在 Apifox 中如何高效批量添加接口请求 Body 参数?

在使用 Apifox 进行 API 设计时,你可能会遇到需要添加大量请求参数的情况。想象一下,如果一个接口需要几十甚至上百个参数,若要在接口的「修改文档」里一个个手动添加这些参数,那未免也太麻烦了,耗时且易出错。这时候&…

W外链创建抖音私信卡片教程,私信卡片跳转微信工具

W外链地址wai.cn 在数字化时代的浪潮中,私域流量的价值愈发凸显,成为企业获取用户、建立品牌忠诚度、提升转化率的关键手段。抖音,作为当下最热门的短视频社交平台之一,其用户基数庞大、互动性强,为企业私域引流提供了…

3872:Library

网址如下: OpenJudge - 3872:Library 这玩意的dp公式应该很明显吧? 和斐波纳契数列一个样 就是n太大了,最高有十亿,不能用普通的dp来做 经验丰富的可能已经知道了 就是用快速幂加上斐波那契数列通项就行了,虽然f&…

看看我发现了什么好东西!FlowUs知识库还有“就业服务站点”?!

不得不说,FlowUs的知识库内容是在是太丰富了, 浏览了一下,发现真有能帮助毕业生的就业信息分享人才政策汇总等我需要的信息💡,我反手就是一个订阅,怕下次找不到了! 在数字化转型的浪潮中,团队和…

代理IP为何难以达到百分百的有效率?

“随着网络技术的不断发展代理IP成为了众多网络用户的重要工具,尤其在需要保护隐私、突破网络限制或进行大规模网络数据抓取等场景下。然而尽管代理IP的应用广泛且功能强大,但在实际应用中,我们不难发现代理IP的有效率往往难以达到百分百。”…

跨境电商账号被封禁?浏览器指纹风险你需要了解一下!

跨境电商运营者在利用海外社媒平台推广产品时,常常会遭遇一个难题:如何在利用这些平台进行市场营销的同时,避免因浏览器指纹识别技术而导致账户被封禁呢?作为资深的跨境电商从业人员,龙哥将分享一些专业见解&#xff0…

Qt中的弹簧:QSpacerItem的用法

Qt是一个跨平台的C++图形用户界面应用程序框架,它提供了丰富的控件和布局管理功能,使得开发复杂的用户界面变得简单。在Qt的布局系统中,QSpacerItem扮演了一个重要的角色,它被用来在界面元素之间添加“弹簧”,以确保布局的灵活性和适应性。 什么是QSpacerItem? QSpacerI…

【sklearn | 7】:scikit-learn项目实战指南

引言 在数据科学和机器学习领域,Python以其简洁的语法和强大的库支持,成为了许多开发者和研究者的首选语言。而在众多Python机器学习库中,scikit-learn以其易用性、灵活性和强大的算法集合,成为了最受欢迎的库之一。本文将深入探…

路由上传一个ui_control参数(uint32类型)控制页面UI显隐

前言:传一个uint32类型的值,通过 按位或操作符(|)来设置ui_control的值,通过按位与操作符(&)来检测是否显示或隐藏 简单介绍一下两个概念: 按位与操作符和按位或操作符都是二进…

【漏洞复现】泛微E-Cology WorkflowServiceXml SQL注入漏洞

0x01 产品简介 泛微e-cology是一款由泛微网络科技开发的协同管理平台,支持人力资源、财务、行政等多功能管理和移动办公。 0x02 漏洞概述 泛微OAE-Cology 接口/services/WorkflowServiceXml 存在SQL注入漏洞,可获取数据库权限,导致数据泄露…

移动端APP 如何进行自动化和探索性测试?

在测试设计时最主要依据的就是测试金字塔的测试结构。如果在项目临近发布才开始测试并发现缺陷,这样修复缺陷的成本就会很高,项目的进度也会很不确定。所以,就开发阶段来说,如果把测试分层,在不同的开发阶段都进行测试…

IIS短文件名称POC检测

使用方法 安装python环境 执行此文件 python [命名].py -u http://baidu.com #!/usr/bin/env python # -*- encoding: utf-8 -*- """ File : IIS-ShortName-PoC.py tell : 用于安全人员检测系统是否存在该漏洞,切勿用于非法用途 "…

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断

分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断 目录 分类预测 | Matlab实现OOA-LSSVM鱼鹰算法优化最小二乘支持向量机多特征分类预测/故障诊断分类效果基本介绍程序设计参考资料 分类效果 基本介绍 分类预测 | Matlab实现OOA-LSSVM鱼…

生物化学基础1 : 蛋白质

生物化学基础1 : 蛋白质 /***************************************************/ /***************************************************/ /***************************************************/ /***************************************************/ /**************…

background-image: linear-gradient 属性hover动画

1.效果 2.代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wid…

中霖教育:2024年注册会计师考试

2024年注册会计师考试报名时间已经将于四月份结束&#xff0c;还未开始考试&#xff0c;没有报名的考生可以准备明年的考试。 报名时间&#xff1a;4月8日-4月30日 考试时间&#xff1a;8月23日-8月25日 报名条件&#xff1a;具有专科以上学历&#xff0c;或者具有会计或者相…

docker的/var/run/docker.sock参数 作用是什么

-v /var/run/docker.sock:/var/run/docker.sock 的作用是什么 在工作中常见的容器 都要加上这个参数 -v /var/run/docker.sock:/var/run/docker.sock 其实这是容器跟docker 进程之间通信用的。 如果你的容器需要操作 docker 的资源&#xff0c;那么这个参数必须要有的。 /va…

鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥导出(ArkTS)】

密钥导出(ArkTS) 业务需要获取持久化存储的非对称密钥的公钥时使用&#xff0c;当前支持ECC/RSA/ED25519/X25519的公钥导出。 开发步骤 指定密钥别名keyAlias&#xff0c;密钥别名最大长度为64字节。调用接口[exportKeyItem]&#xff0c;传入参数keyAlias和options。 option…

使用ChatGPT完成论文写作全流程提示词分享!

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 &#xff0c;直接上干货&#xff1a; 1. 文献综述 1.1. 主题聚焦&#xff1a;“我正在写关于[主题]的文献综述&#xff0c;请帮我找到相关的研究。” 1.2. 研究趋势&#xff1a;“请分…