网站重新上线,多谢朋友们的关心
Jun
11
XMD的Verify ELF功能在一次调试中帮了大忙。
出问题的情况很奇怪:
- 把Application Initialize to BRAM的时候程序工作不正常
- 用XMD再把程序dow一次,又正常了。
怀疑data2mem出问题,可以BRAM里面又是有值的。
于是怀疑这些值的正确性。用XMD的Verify ELF功能比较BRAM的内容和ELF的内容,结果发现的确有不相符的地方。那就确认是DATA2MEM的过程中出问题了。
此外,Verify ELF还可以用在Flash Writer烧写Flash后检查烧写是否正确:
- 在Bootloader完成,要进行PC指针跳转的最后一步设断点把程序停住,此时Flash中的SREC已经被Bootloader放到了DDR中
- 在XMD中运行Verify ELF检查DDR中的内容是否正确。
出问题的情况很奇怪:
- 把Application Initialize to BRAM的时候程序工作不正常
- 用XMD再把程序dow一次,又正常了。
怀疑data2mem出问题,可以BRAM里面又是有值的。
于是怀疑这些值的正确性。用XMD的Verify ELF功能比较BRAM的内容和ELF的内容,结果发现的确有不相符的地方。那就确认是DATA2MEM的过程中出问题了。
此外,Verify ELF还可以用在Flash Writer烧写Flash后检查烧写是否正确:
- 在Bootloader完成,要进行PC指针跳转的最后一步设断点把程序停住,此时Flash中的SREC已经被Bootloader放到了DDR中
- 在XMD中运行Verify ELF检查DDR中的内容是否正确。
Feb
27
PPC有Instruction Simulator叫做ISS,MicroBlaze其实也有。我将它们统称为EDK Instruction Simulator。以前经常和Virtual Platform的概念混淆起来。
Instruction Simulator: 精确到时钟周期,只能仿真指令,即没有外围设备,只支持64KB的RAM。不能printf,不能点LED。
Virtual Platform: Instruction Simulator + 外围设备模拟器。曾经支持uart等等外设。外设仿真模型是从HDL实现转换成C语言的。
Virtual Platform已经不再开发也不再支持。但是Instruction Simulator还是可以用。在XMD选择连接对象的时候,选择Simulator,然后就能连接到指令仿真器,并且可以用GDB跟踪调试。注意在Simulator中所有对外部访问的语句都将没有响应。
【REF】
est_rm.pdf --> XMD章节
Instruction Simulator: 精确到时钟周期,只能仿真指令,即没有外围设备,只支持64KB的RAM。不能printf,不能点LED。
Virtual Platform: Instruction Simulator + 外围设备模拟器。曾经支持uart等等外设。外设仿真模型是从HDL实现转换成C语言的。
Virtual Platform已经不再开发也不再支持。但是Instruction Simulator还是可以用。在XMD选择连接对象的时候,选择Simulator,然后就能连接到指令仿真器,并且可以用GDB跟踪调试。注意在Simulator中所有对外部访问的语句都将没有响应。
【REF】
est_rm.pdf --> XMD章节






