-
用128大小的FiFo缓存区接收IAP数据包,程序无法正常读取数据 sos
将FiFo缓存区调大后,程序就进入硬件中断0x080000E2 HardFault_Handler。定位在STR r2,[sp,#0x1E0]。 因为用的DLT645协议,数据包比较大,有[b]两百多[/b]。 用一个函数来判断接收到的数据,再和数据里的帧总数量对比。但是数据包太大,导致无法正常判断收到的数据帧数量。
852浏览量 0回复量 关注量 -
关于STM32官方AN2557_IAP升级代码移植到AT32 sos
关于STM32官方AN2557_IAP升级代码移植到AT32,有没有详细的教程啊,附件是STM32的官方IAP升级的例子
921浏览量 0回复量 关注量 -
CW32L083 IAP跳转后中断无响应
最近做一个项目,需要IAP。按照官方的教程一切顺利,软件APP跳转一切正常,但是跳转后中断没有响应。搜索了一堆资料,APP在mian中找开了中断,在不同地方设置VROT,都没能解决,查了数据手册,也只说支持向量偏移,没有其它介绍。请问哪位大神做过IAP中断处理的,指点一下,是不是还需要设置哪里。我用仿真器测试,只要是带中断的,跳转后,中断全部无响应。
14061浏览量 10回复量 关注量 -
APM32F003F6P6 IAP跳转问题
我遇到的问题是 从Boot 跳转到 Application后, 中断不正常问题 似乎,中断向量 没定位好, 请问有人 成功过吗? 用的事SDK V1.3 下的例程,也是不行. int main(void) { SCB->VTOR =0x2000; // VECT_USR_APP_TAB_OFFSET; /* Setup SysTick Timer for 1 msec interrupts */ SysTick_Config(RCM_GetMasterClockFreq() / 1000); USART_Init(57600);
1484浏览量 1回复量 关注量 -
hc32l072+iap sos
我使用hc32l072,希望做成boot+app,支持uart在线升级,目前遇到问题是:在0x00地址做boot,0x1000做app1地址,0x10000做app2地址,从app1程序中升级到app2正常,从app2升级到app1,写flash出错,请给予一些帮助!多谢
1037浏览量 0回复量 关注量 -
CH32V307VCT6可以在线升级吗 sos
最近看到沁恒的[b]CH32V307VCT6芯片,感觉还可以,不知道能不能在线升级,支持IAP?[/b]有没有具体案例可以参考,谢谢!
556浏览量 0回复量 关注量 -
HC32F460有备份寄存器吗?
最近在做F460的IAP,想掉电保存一个标志位,以前ST上我的做法是放在备份寄存器中,看了下HC32F460的用户手册,好像没发现有这个东西,还是我看漏了。各位大佬是如何保存这个标志位的?
2048浏览量 1回复量 关注量 -
MM32F001系列IAP程序升级问题
使用MM32F001系列 FLASH 16K使用前4K做BOOT程序,后面12K做APP,测试过程中发现升级结束之后跳转到APP之后MCU无法跑起来。求教MM32F001系列在升级过程中指针跳转问题。网上参考MM030系列写的代码,但是好像并不可用 RCC_APB1PeriphClockCmd(RCC_APB1ENR_SYSCFG,ENABLE); memcpy((void*)0x20000000, (void*)ApplicationAddress, VECTOR_SIZE); //????D??????????????3??????RAM???????? ??M0??? SYSCFG_MemoryRemapConfig(SYSCFG_MemoryRemap_SRAM);
1805浏览量 4回复量 关注量 -
谁能给解释下MS51FB9AE官方给提供的修改24M主频的函数?
[i=s] 本帖最后由 taobaofarmer 于 2020-9-12 15:35 编辑 [/i] 官方给提供的例程,在Sample_Code->RegBased->Fsys_MoidfyHIRC->FSYS_MHIRC.C->MODIFY_HIRC(HIRC_24);函数里,该函数我给整理了下,只保留调整主频位24M的功能,代码如下: void Make_HIRC_24MHz(void) { u8 idata hirc_map0, hirc_map1; //Check if power on reset, modify HIRC SFRS = 0; //?1处 IAPAL = 0x38; set_IAPEN; { IAPAH = 0x00; IAPCN = READ_UID; //?2处 set_IAPGO; hirc_map0 = IAPFD; IAPAL++; set_IAPGO; hirc_map1 = IAPFD; } clr_IAPEN; TA = 0xAA; TA = 0x55; { RCTRIM0 = hirc_map0; } TA = 0xAA; TA = 0x55; { RCTRIM1 = hirc_map1; } //禁止低功耗模式 PCON &= CLR_BIT4; } 首先说明这个函数在MS51FB9AE上执行是失败的,大体过程我知道,是从系统默认的配置里读出24M主频的高低字节配置信息,然后写入RCTRIM0和RCTRIM1里,但是在?2处,为何IAPCN的指令是READ_UID呢?这个指令不是读芯片内部96位unique id吗? 另外?1处 SFRS = 0;啥意思,难道是翻到SFR页0的意思吗?如果这是这样的话,SFRS寄存器是有TA保护的,单单SFRS = 0;是不行的呀?
2349浏览量 22回复量 关注量