完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
起因是想将蜂鸟E203的 sirv_flash_qspi_top模块 的icb接口改成axi接口,去套用到别的axi接口的核上去读写flash,因此写了一个axi2icb的桥接模块。为了验证axi2icb的桥接模块是否正确,我又写一个flash_icb2axi模块,将蜂鸟E203对flash的操作由icb总线,转为axi总线。大致的改动如下:
因为sirv_flash_qspi_top模块分为qspi0_icb_cmd写和qspi0_ro_icb_cmd读两套总线,所以我例化了两套flash_icb2axi和axi2icb模块,上图只展示了一套。目前的问题是flash可以读,可以看到从串口打印的信息: 但用NucleiStudio烧写程序会出现: 并且使用flash和LIM两种下载方式形式都不行。网上的资料都说是因为把错误的C程序烧写进了flash里,每次上电复位MCU都卡在这个程序里,导致新的程序烧写不进去。但目前flash里面的程序是我用之前跑通过的核烧进去的hello world的代码,应该是正确的c程序,并且我也将dut_io_pads_bootrom_n_i_ival设为了低电平,程序会从ram启动。 板子的布线如图: |
|
相关推荐
2个回答
|
|
桥接模块写的不完善
|
|
|
|
"Debug interrupt didn't clear"这个错误通常是由于硬件或软件中断未清除导致的。在这种情况下,可能是由于您修改了flash读写模块的相关代码,但没有正确处理中断。
首先,您需要检查并确保您的新代码中正确地处理了中断。例如,确保在读写flash时设置或清除中断标志,并在完成操作后清除中断。 其次,您还需要检查NucleiStudio的配置和设置是否正确。确保您正确选择了目标设备和正确配置了调试器选项。 另外,建议您使用调试工具来定位问题。您可以使用NucleiStudio提供的调试功能,检查程序的执行过程并找出引发错误的原因。您可以查看程序执行过程中的寄存器值、变量值和堆栈跟踪信息,以找出问题的根本原因。 最后,如果问题仍然存在,您可以尝试重新检查您的修改并逐步恢复到原始代码,以确定哪个修改引发了问题。这将帮助您定位问题并找出正确的解决方法。 |
|
|
|
只有小组成员才能发言,加入小组>>
在软件SDK中选择不同的下载模式时,是哪个部件更改了QSPI0中寄存器的值?
392 浏览 2 评论
cmt_instret_ena的使能为什么要排除branch等指令造成流水线冲刷的情况?
542 浏览 1 评论
e203 rom启动仅仅是引导到itcm执行指令吗?flash启动就是加载指令到itcm中吗?
563 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 02:09 , Processed in 0.702785 second(s), Total 85, Slave 67 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号