Stm32里用IAP方式烧程序正常,但是发现掉电再上电之后,程序好像就不进主程序了

Stm32里用IAP方式烧程序正常,但是发现掉电再上电之后,程序好像就不进主程序了,第1张

使用仿真器烧写app并且仿真是直接运行的app,没有经过IAP跳转。掉电后重新上电运行app则要通过IAP进行跳转。

说白了,那你的IAP存在bug,多半是逻辑上的,自己在IAP里面多看看吧,找找原因。

typedef void (iapfun)(void);

定义函数指针

iapfun jump2app;

定义函数指针对象

jump2app=(iapfun)(vu32)(appxaddr+4);

为函数指针对象赋值

jump2app();

调用函数

以下是一个例子:

// 定义一个函数

void fun() { printf("fun\n");}

// 定义函数指针,

typedef void (lpfn)();

// 注意二者要匹配,否则会报错

lpfn p = fun;

// 调用函数p()效果同fun()

p();

函数指针的一个作用是可以将函数作为参数传递。

回忆一下c语言中的sort函数,用户可以自定义排序准则函数,然后将其提交给sort函数调用。

AT-LINK报价150RMB,相比stlink v2来说高了不止一点两点,如果想用at32芯片来替换stm32芯片,jlink是比较不错的选择。当然淘宝买的10几元的stlink v2是可以直接刷成jlink-ob的,但是只能用于stm32芯片(具体怎么刷,百度可以搜搜,很容易找到答案)。

下面说说我使用的at32f403arct7芯片,在mdk开发下,是可以直接用stlink v2烧录的。但如果要批量设备,总不能把源程序拿过去打开mdk去烧录程序吧?这时候如果你的手里只有stlink,可以先刷成jlink,然后打开j-flash,在选择芯片的时候注意选择stm32f103rct6,据说at32f403arct7是完美兼容此芯片的。

这样就可以用stlink v2 转化的jlink烧录at32芯片了,其他芯片类似。我用的rtt studio用了各种方法往at32f403arct7下载程序都下不进去,因为手里只有stlink v2 和 daplink,折腾了半天才试验出以上可以烧录的方法,替换at32的小伙伴们如果不能烧录可以试试上面的方法。

打开CSDN APP,看更多技术内容

安信可ESP32_ATbin 可以直接烧录ESP32-WROOM-32 固件

乐鑫ESP32-WROOM芯片,安信可模块上使用的at的二进制文件,方便调试

AT89S52程序烧录

AT系列单片机的烧录示意图(接法),需要下载编程器

AT89CXX 烧录程序彻底公开

AT89CXX 烧录程序彻底公开,想做烧录器可别错过

第三章 国产MCU 雅特力AT32 烧录、离线批量烧录

国产MCU 雅特力AT32 烧录、离线脱机批量烧录详细说明

继续访问

at89s52烧录软件,及USB驱动

at89sx烧录软件及USB驱动,内附有TXT引脚接线说明。

AT89c52烧录程序

AT系列烧录程序,适用于AT、ST系列的单片机

最新发布 开源APM32最小系统板替换STM32(程序烧录与开发板)

嘉立创工程链接:APM32C8T6最小开发板 - 嘉立创EDA开源硬件平台 (oshwhubcom) 国产APM32F103C8T6最小开发板,兼容STM32,使用先进的TYPE-C接口,可以直接使用TYPE-C进行程序烧录,将所有引脚引出。 程序完全兼容stm32,程序烧录时需要选择APM32和APM相应的FLASH​

继续访问

ESP32固件烧录-初级入门

我一开始入门esp32的时候找关于固件下载好长时间都没有找到适合入门的固件烧录教程。现在学了一段时间,所以想要写一篇关于esp32固件烧录的教程,去帮助一些入门的朋友。flash文件中doc中工具使用指南(这个不是链接)

继续访问

ESP32的MQTT AT固件烧录+STM32以ESP32的MQTT AT固件的AT指令连接EMQX下mqtt服务器实现消息订阅和发布

ESP32的MQTT AT固件下载以及stm32对接ESP32,以AT指令完成订阅和发布。

继续访问

ubuntu中使用jlink烧录stm32程序

安装jlink驱动参考>

1、中国科学院大气物理研究所

中国科学院大气物理研究所(以下简称大气所)的前身是1928年成立的原国立中央研究院气象研究所。1950年1月,中国科学院将气象、地磁和地震等部分科研机构合并组建为中国科学院地球物理研究所。

1966年1月,根据我国气象事业发展的需要,中国科学院决定将气象研究室从地球物理研究所分出,正式成立中国科学院大气物理研究所。大气所是中国现代史上第一个研究气象科学的最高学术机构,当前已发展成为涵盖大气科学领域各分支学科的大气科学综合研究机构。

2、IAP(应用编程)

IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。

IAP *** 作相关:

通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新 *** 作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能 *** 作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;

第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下 *** 作:

1)检查是否需要对第二部分代码进行更新

2)如果不需要更新则转到4)

3)执行更新 *** 作

4)跳转到第二部分代码执行

百度百科-IAP;百度百科-IAP

以上就是关于Stm32里用IAP方式烧程序正常,但是发现掉电再上电之后,程序好像就不进主程序了全部的内容,包括:Stm32里用IAP方式烧程序正常,但是发现掉电再上电之后,程序好像就不进主程序了、c语言用法 typedef、at32如何用daplink烧录等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9806923.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存