文章图片
1ms=50_000 ;/4=
500ms=25_000_000=0x17D_7840 /4=0x5F_5E10
1s= 0x2FA F080 /4=0xBE BC20
2s=17D 7840
5s = 3b9aca0
【pango logos 双启动】gold在界面设置起始地址是0,实际gold也是0
app1在界面设置起始地址是40_0000,实际IRST_ADDR设置的是0x3F_F000,因为软件算了头部偏移。
所以我们自己在使用的时候需要人为考虑偏移再设置地址。
A8800001 0000000F 表示开启IRST
A8800001 00000002表示不开启IRST
文章图片
在FPGA的双启动的sfc文件里面
gold:头部含有IRST_ADDR(热复位后启动的地址APP1地址-0x1000),也含有看门狗的值。并且能触发热复位。使不加载gold,直接跳转到APP1加载。
APP1:含有下一次热复位加载的地址是0x0。
我们操作只需要将gold地址设置为0x0,APP1地址设置为0x40_0000,在CPU更新Flash时直接将sfc文件加载到0x40_0000。
对比包含gold和APP1的sfc文件与单个APP1文件的差异。----差异很大,直接生成的没使能了IRST,能直接CPU升级到APP1位置。待做实验试试。----实验可行
其他问题:
上电—FPGA是空的,开始从flash中加载版本,FPGA不是等整个的版本都完成之后才电路生效,而是已加载部分就生效。
如果此时版本内部SPI_CLK生效,会与FPGA自带的SPI控制器产生冲突。导致后续的从FLASH读版本失败。
notepad看HEX的插件有bug,看到是错的。用下面软件看ok.
免费十六进制编辑器 (Free Hex Editor (frehed))
http://www.hhsoftware.com/Download/free-hex-editor-neo.exe
推荐阅读
- Verilog|if-else(if判断语句和执行语句之间相差1个时钟周期吗(并行执行吗?有优先级吗?))
- FPGA|Xilinx FPGA 使用Microblaze实现串口命令行
- #|【数字IC】深入浅出理解AXI协议
- fpga开发|基于FPGA的实时图像边缘检测系统设计(上)
- fpga开发|基于FPGA的实时图像边缘检测系统设计
- 数字IC面经|数字IC笔面试(一)——联发科提前批笔试题记录
- FPGA图像处理及仿真测试|FPGA实现图像二值形态学滤波——腐蚀膨胀
- 【3】7系列FPGA结构|从底层结构开始学习FPGA----MMCM与PLL
- matlab|FPGA实现sobel边缘检测并Modelsim仿真,与MATLAB实现效果对比