🔍 搜索帖子 / 资讯 / 芯片型号…
论坛/开源蜂鸟E203/N101增加flashxip模式遇到的问题,请教,谢谢!
N101增加flashxip模式遇到的问题,请教,谢谢!
开源蜂鸟E203 作者 斌 发布于 2021-08-20 11:37(1877 天前) 5208 浏览

修改如下:

Gvim n101_cct/riscv-tests/n100-sdk/bsp/core/env/common.mk

第55行:增加如下

ifeq ($DOWNLOAD), flashxip)

LINKER_SCRIPT := $(ENV_DIR)/link_flashxip.lds

endif

现象

make upload后串口的输出与flash, ilm比较,明显较慢,应该在flashxip运行。

观测生成的.dasm和.dump的地址数据也是匹配的。


flash模式,upload后,printf,后每次按mcu_rst也继续printf.

ilm模式,upload后,printf,后继续按mcu_rst,是按flash里头先前烧录的软件数据,进行的flash模式,printf;

               这个现象与FPGA rtl的代码设计一致。Reset_vector,FPGA模式下是直接跳到0x20000;

flashxip模式,upload后, printf,后继续按mcu_rst,串口没任何输出。

run_openocd 和 run_gdb都可以正常debug,就是串口没输出。仅仅upload时串口是正常输出的。


因为仿真环境只有ilm模式,没法追踪,该如何追踪定位这个问题?

是不是还需要其他地方的设置和修改?谢谢!

全部回复 3
斌
斌1800 天前 · 1 楼
回复 胡灿:

1. 打印没输出的话,测下串口波形,看看有没有波形

2. 单步调试看看uart配置有没有成功

3. 可以用fpga的ILA捕捉下内部信号调试看看

1. 改代码,reset_vector不做判断,直接都是连接到rom起始地址。

2. 在rom代码中去修改跳转地址到FPGA,下载FPGA后运行正常。

仿真环境中也按上述进行修改,把QSPI FLASH挂上去运行了,可以进行正常printf,调出来波形进行观测,发现跑的两线模式的XIP,是目前给的QSPI的代码只能运行两线XIP么?还是需要进行额外的配置??

斌
斌1871 天前 · 2 楼
回复 胡灿:

1. 打印没输出的话,测下串口波形,看看有没有波形

2. 单步调试看看uart配置有没有成功

3. 可以用fpga的ILA捕捉下内部信号调试看看

谢谢!如果我的修改是正确的话,那就暂时不深究了。

目前项目较急,暂时没办法花时间去测试。

1. upload时,串口是正常输出的。run_openocd和run_gdb,看着也是正常的。

2. 与其去fpga ila捕捉,可能还不如去建立带外置flash的仿真的来一步步跟踪或许还更快一些。

等后续有找到原因,再来此汇报。

胡灿
胡灿1872 天前 · 3 楼

1. 打印没输出的话,测下串口波形,看看有没有波形

2. 单步调试看看uart配置有没有成功

3. 可以用fpga的ILA捕捉下内部信号调试看看

💡 请 登录 后参与讨论(微信扫码即登录/注册)