感谢您点开此帖子,本人正在研究蜂鸟E203的Flashxip运行模式,在研究过程中发现,Flashxip的下载模式需要通过debug模块当中的程序和数据全部搬到ITCM当中以后,再将PC值跳转到0x8000_0000的地址,执行搬移到ITCM当中的指令,指令会通过sw指令将程序固化到外部Flash上,对应的QSPI0的地址为0x10014060(TX_FIFO寄存器),执行完ITCM的程序后再将PC值跳转至0x2000_0000(Flash的地址),触发QSPI0读取外部flash。
问题在于
1 如果我使用Flashxip,如果我需要在线编程flash我就必须使用ITCM,我能否不使用ITCM就对Flash进行编程呢,就像ARM中的keil一样,如果可以我该怎么做,我使用的是NucleiStudio。
2 对于QSPI0其余寄存器的配置,有一些是直接执行debug ram当中的指令,有一些是执行ITCM当中的指令,请问为什么要如此设计呢?
3 蜂鸟E203具有ITCM和DTCM,但是debug ram中的指令和数据全部堆放在了ITCM当中,前部分是指令后部分是数据,请问这样设计有什么说法呢?
问题有一点多,烦请老师或其他有见解的大佬解答解答,我的联系方式为202322230137@std.uestc.edu.cn