完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在开发一个装有 TLE9877 的开发板,我正在运行一些遗留代码。 首先,使用 bootrom 函数擦除闪光灯并空白勾选似乎没问题。 而且我读出寄存器或整个 Flash 内容也没问题。
由于我还没有应用程序,所以我编造了一些数据供刷新。 我用 0xAA 填充 0x11000000-0x1100000F,用 0x11000000-0x1100000F 填充 0x55。 只要通电,它就可以正常工作。 测试顺序包括擦除、写入、验证和读取闪存。 当我试图重复测试序列时,灾难来了。 现在,使用 bootrom 函数的第一个命令不起作用。 它仍然进入调试模式,我可以读出寄存器以及闪存内容,但是启动 CPU 命令总是会因超时而失败。 有人知道如何将设备重置为已删除状态吗? 写入前 32 个闪光灯位置时我是否触发了特殊模式? 我怀疑用户重置了向量。 我检查了几个寄存器中的错误闪存,但直到现在我还找不到奇怪的部分。 NVM 似乎没问题,没有错误。 ▪ SCU_SYS_STRTUP_STRTUP_STS:0x50 ▪ SCU_NVM_PROT_STS:0xF ▪ SCU_MEM_STS:0x0 ▪ SYS_STRTUP_CFG:0 还有其他寄存器可以检查吗? 也许是保护或安全标志? 我查看了 DHCSR 登记册。 它的值是 0x01090005。 我没想到会出现的部分是 S_LOCKUP。 有没有办法找出调用 bootrom 函数出了什么问题? 有状态寄存器吗? 还有其他方法可以调用这些函数吗? 我是在没有内存代码的情况下手动完成的,见下文: Halt(); WriteCoreRegister ( CoreRegister::LR, 0x18000B01 ); // return addr is breakpoint: WriteToMemory ( 0x18000B00, (uint32)0xbe00be00 ); // write bkpt (0xBE00) to memory //set arguments WriteCoreRegister ( CoreRegister::R0, 0x18000400 ); // uint32* cbsl_nvm_size WriteCoreRegister ( CoreRegister::R1, 0x18000404 ); // uint32* code_nvm_size WriteCoreRegister ( CoreRegister::R2, 0x18000408 ); // uint32* data_nvm_size WriteCoreRegister ( CoreRegister::SP, 0x18000AFC ); // set SP, don't know if it's used WriteCoreRegister ( CoreRegister::PC, 0x000038B5 ); // user_nvm_config Run(); WaitForHalt ( 100_ms ); 谢谢。 smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/MOtiX-MCU/TLE9877-bootrom-functions-not-working-after-programming-flash/td-p/651276 |
|
相关推荐
1个回答
|
|
看到您的描述,可能有几个原因导致 TLE9877 bootrom 函数不起作用。
1. 引导程序区域被破坏: bootrom 函数通常位于启动程序的固定内存地址,如果该内存区域被写入了其他数据或被破坏,bootrom 函数将无法正常工作。您可以检查一下您的程序是否有可能覆盖了这部分内存。 2. 引导模式配置错误: TLE9877通常具有不同的启动模式(如正常启动、调试模式、ISP模式等)。确认您是否正确配置了启动模式,以便 bootrom 函数能够正常工作。 3. 引导程序版本不匹配: 您提到正在使用遗留代码,可能引导程序的版本与你的硬件或其他库文件不匹配。尝试检查并更新引导程序以确保与您的硬件兼容。 处理这个问题的方法如下: 1. 确认您的代码没有破坏引导程序区域。可以通过调试工具或读取闪存内容来验证引导程序区域的完整性。 2. 检查和确保正确配置引导模式。。 3. 检查并更新引导程序版本。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12013 浏览 31 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 04:10 , Processed in 0.632074 second(s), Total 73, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号