Chapter 18: 国产FPGA之8051内核调试
0赞第十八章
国产FPGA之8051内核调试
所谓8051 Keil调试,实际上是运用了Astro II的在线更新功能……
用过Nios2的朋友知道,Niso2调试之前,必须先将固件下载到FPGA中去,才能在Nios中下载或者但不调试。这样做是因为FPGA是现场可编程,掉电丢失,首先将FPGA配置完之后,才能进行相关内核的操作。
如上图,8051内核的调试,相关文档是这么说的,你信吗?
事实上,过程更复杂一点儿……
1. Primance中硬件配置(详见上篇)
1) Oscillator设置,如果用外部晶振,当然忽略之
2) PLL设置,提供8051内核时钟
3) System设置,配置8051内核以及hex
4) 顶层RTL设计
5) 综合,下载spi.acf到Astro2的SPI FLash,否则就等着出错吧
不下载spi在Keil中的悲剧
2. Keil 8051软件配置
1) 工程建立
a) Captial Micro Device
b) AS1E5
c) STARTUP_AS1E5.A51
d) INC Path
其实安装完CpatialMicro库之后,AS2E5本身就包含了,只是GUI没包含
悲剧的是Keil自己找不到CaptialMicro的库。。。
木有办法,在Target-C51 Include Path添加INC路径在或者在工程中直接添加AS2E5.H
2) 设置仿真环境
传统51单片机不能仿真,除非你有51仿真器,但是这个AstroII国产FPGA的亮点之一就是可以直接仿真。如图,选择Captial Micro 8051 Emulator仿真,同时不要忘了勾选USE,否则点100次仿真也是假象。
3) 设置断点,点击仿真,单步或者全速运行
NND只能仿真2K以内的代码,就算我写不到,也不要老是提醒我
4) 直接修改代码,继续在线调试,灰常的爽!
5) 确定8051调试OK之后,将hex加载到Primance-System,综合,下载,OK