受限于 ITCM 的大小,当代码量很大,超出了 ITCM 的最大范围时,就需要使用 Bootloader 配合 ICACHE 或ICACHE 与 DCACHE 的设计方案。如果用户不想使用太多的 FPGA 块 RAM 来存储指令,也可以使用该方案。该方案 Bootloader 工程支持在线调试,应用工程不支持在线调试。
编译 Bootloader 工程生成的 itcm0、itcm1、itcm2、itcm3 文件需要和 RTL 一起编译。
其中Bootloader放置在片上ITCM中,即
上电开始运行,而应用程序部分则通过Bootloader加载至DDR颗粒中,当初始化完成后,Cortex M 1软核配合I/DCACHE实现应用程序的执行。
应用工程所编译的BIN文件(PGL22平台起始地址为0x000C0000,PGL25平台起始地址为0x00100000,PG2L100H平台起始地址为0x00400000)与sbit数据流文件拼接,并利用同创cable直接下载到Flash芯片中。此后,板卡上电,当FPGA数据流文件加载完毕后,Bootloader将会自动将Flash空间的指令数据搬运至DDR颗粒中,完成指令初始化操作。
当进行加密文件仿真时,将需要使用…\pgr_ARM_Cortex_M1_eval\simulation文件夹下自带的itcm0、itcm1、itcm2、itcm3、LRU0.dat、LRU0.dat,以及用户的应用C工程编译生成后的memory.dat、memory_used.dat、address.dat三个文件,并也放置在…\pgr_ARM_Cortex_M1_eval
\simulation工程目录下,之后点击sim.bat即可运行ModelSim仿真,实现基于ModelSim的快速仿真。
此外,若PDS版本与手册中不一致,请更新仿真库至…\pgr_ARM_Cortex_M1_eval \simulation中:首先,点击 tool 下的 Compile Simulation Libraries,选择第三方仿真路径,最后点击 Compile,等待运行成功,其次,将…\pgr_ARM_Cortex_M1_eval \pnr\pango_sim_libraries 中的 usim 文件夹拷贝至…\pgr_ARM_Cortex
_M1_eval\simulation 中。
最后,更新仿真库成功,即可点击 sim.bat 正常使用仿真功能。
当需要上板实测参考设计功能是,需要将Bootloader工程编译生成的4个可执行机器码,即itcm0、itcm1、itcm2、itcm3,与LRU0.dat、LRU0.dat放置在…\pgr_ARM_Cortex_M1_eval\pnr工程目录下,同时将CM1_OPTION_DEFS宏文件中的CM1_ITCMSIZE、CM1_DTCMSIZE配置
成工程需要的大小,以及打开CM1_ITCM_INIT与CM1_DTCM_INIT。之后,将数据拼接后的
sfc文件烧入flash中