Microchip
直播中

王明钊

8年用户 228经验值
私信 关注
[问答]

Bootloader中断EBI读写功能怎么办

您好,我刚才重新访问了引导加载程序问题,在用引导加载程序加载应用程序之后,尝试使用外部内存时遇到了完全相同的问题。开发板。编译基本程序并将其加载到板上工作正常。下载建议的dma_led_.(在编译后用于引导)工作正常。然后使用sram_read_write示例编译并在板上测试它,它也工作正常。我重新加载了板wi。引导程序并重新编译了sram_read_write示例,Bootloader Libary构建应用程序脚本集,Bootloader类型设置为USB_DEVICE。我可以使用PIC32引导加载器应用程序很好地加载程序,但是它不能正确运行。oject和作为可加载项目的sram_read_write允许我一起调试它们,并且程序在执行*addr=(uint32_t)addr后失败;第154行。对于(.=0;.<;RAM_SIZE/4;.++){/*将内存位置的地址写入到内存位置*/*addr=(uint32_t)addr;/*将地址递增到下一个地址*/addr+;}我在自定义板上尝试的UART引导加载程序遇到了相同的问题,但是没有找到。我认为这可能与为EBI/SQI内存区域设置基于TLB的MMU初始化部分有关,但我不能理解其中的原因。我使用标准示例和开发板来证明这与我的自定义板设置无关。我真的有麻烦了。我已经修改了链接器文件,尝试了单步完成,无论我尝试了什么,我都会得到相同的问题。CPU寄存器显示BadVAddress 0xE0000000和Cause 0x0080000CAny的帮助将非常感谢。

回帖(19)

罗宏达

2020-5-8 10:42:52
罗伊,这件事你知道了吗?我也有同样的问题。
举报

陈晨

2020-5-8 10:50:42
这种类型的问题通常是由假定所有寄存器处于默认状态的应用引起的。它们不是因为引导加载程序改变了它们。要么在引导加载程序中恢复寄存器。或者应用程序不假设事物处于默认状态并设置一切。
举报

罗宏达

2020-5-8 11:06:46
我想我没有假设。也许我有。我确实在应用程序中建立了EBI接口。Bootloader不使用EBI,所以我不在里面设置它。
举报

陈晨

2020-5-8 11:18:34
它是否依赖于引导加载程序可能更改的其他内容?端口,定时器,DMA,等。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分