CrazyBingo

Chapter 18: 国产FPGA之8051内核调试

0
阅读(2844)

第十八章

国产FPGA之8051内核调试

wps_clip_image-26502

所谓8051 Keil调试,实际上是运用了Astro II的在线更新功能……

用过Nios2的朋友知道,Niso2调试之前,必须先将固件下载到FPGA中去,才能在Nios中下载或者但不调试。这样做是因为FPGA是现场可编程,掉电丢失,首先将FPGA配置完之后,才能进行相关内核的操作。

wps_clip_image-31600

如上图,8051内核的调试,相关文档是这么说的,你信吗?

事实上,过程更复杂一点儿……

1. Primance中硬件配置(详见上篇)

1) Oscillator设置,如果用外部晶振,当然忽略之

2) PLL设置,提供8051内核时钟

3) System设置,配置8051内核以及hex

4) 顶层RTL设计

5) 综合,下载spi.acf到Astro2的SPI FLash,否则就等着出错吧wps_clip_image-15134

wps_clip_image-8770

wps_clip_image-28924

不下载spi在Keil中的悲剧

2. Keil 8051软件配置

1) 工程建立

a) Captial Micro Device

b) AS1E5

c) STARTUP_AS1E5.A51

d) INC Path

wps_clip_image-21579

wps_clip_image-26648

AS1E5将就一下吧wps_clip_image-12025,下面看真相

wps_clip_image-24877

其实安装完CpatialMicro库之后,AS2E5本身就包含了,只是GUI没包含

wps_clip_image-19701

wps_clip_image-32158

悲剧的是Keil自己找不到CaptialMicro的库。。。

wps_clip_image-24081

木有办法,在Target-C51 Include Path添加INC路径在或者在工程中直接添加AS2E5.H

2) 设置仿真环境

传统51单片机不能仿真,除非你有51仿真器,但是这个AstroII国产FPGA的亮点之一就是可以直接仿真。如图,选择Captial Micro 8051 Emulator仿真,同时不要忘了勾选USE,否则点100次仿真也是假象。

wps_clip_image-14881

3) 设置断点,点击仿真,单步或者全速运行

wps_clip_image-28584

wps_clip_image-27673

NND只能仿真2K以内的代码,就算我写不到,也不要老是提醒我wps_clip_image-28966

wps_clip_image-16018

4) 直接修改代码,继续在线调试,灰常的爽!

5) 确定8051调试OK之后,将hex加载到Primance-System,综合,下载,OK