RISC-V MCU中文社区

【求助】 N101增加flashxip模式遇到的问题,请教,谢谢!

发表于 开源蜂鸟E203 2021-08-20 11:37:08
3
2567
0

修改如下:

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_vectorFPGA模式下是直接跳到0x20000

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

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


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

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

喜欢0
用户评论 (3)
  • 斌

    2021-11-04 20:26:12 1#

    胡灿

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

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

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

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

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

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

  • 斌

    2021-08-25 13:28:06 2#

    胡灿

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

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

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

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

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

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

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

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

  • 胡灿

    2021-08-25 11:15:49 胡灿 3#

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

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

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

斌

实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板