上次我们说明了使用SDK中的工程模块创建FSBL的方法,并且把先前创建的HelloWorld和Periph_Test两个工程也从Debug模式改成了Release模式。为了保证工程被正确编译,可以在全部更改后点击SDK菜单栏中的Project---Build All重新编译各个工程。
接下来我们就可以为MicroZed创建一个启动映像文件了。这个文件是非易失性的,也就是说会存储在非易失性的存储器中,对于MicroZed来说,板子自带的QSPI Flash和microSD卡都可以用来存放这个映像文件。然后在SDK的项目管理器中,选中HelloWorld或者Periph_Test,再点击SDK菜单栏中的Xilinx Tools---Create Zynq Boot Image,就启动了映像文件的创建向导,图如图1所示。
图1 ZYNQ启动映像文件向导
图1中的向导创建的启动映像,是用来加载FSBL以及各个工程的可执行ELF文件的。根据我们上次提到的ZYNQ启动顺序,需要先加载FSBL,然后配置PL(如果存在为PL编写的比特流文件的话),接下来才能启动用户的程序,这个顺序是不能能乱的。目前版本的SDK中,还不能探测程序是Debug模式还是Realease模式,所以可以看到图1中,向导自动找到了Debug模式下生成的ELF文件;这就需要我们把Debug模式的ELF文件从启动映像中移除(先移除用户程序的ELF,然后点击Browse找到FSBL的elf,再添加用户Release模式的ELF),而把Release模式的ELF文件加入到启动映像,改动之后如图2所示。
图2 修改之后的启动映像配置
点击图2中的Create Image,启动映像就建立好了。在SDK工程管理器中,展开Periph_Test文件夹,可以看到生成的启动映像文件,如图3所示。
图3 生成的启动映像
把生成的启动映像烧写到QSPI Flash(.mcs文件)或者拷到microSD卡(.bin文件)中,然后配置相应的启动模式,就可以使用启动映像启动PS了。分别描述如下。
图4 QSPI启动管脚配置
然后连接JTAG电缆(为了烧Flash)和USB-UART电缆(给板子供电,并使用串口调试助手)。在SDK中,点击菜单栏的Xilinx Tools---Program Flash,找到刚才生成的.msc文件,然后点击Program就可以了,如图5所示。
图5 烧写QSPI Flash
进度条会提示烧写进度,SDK的控制台中也会显示烧写信息,提示成功的时候:100% 100%
Inforogrammed flash successfully
Info:Closed cable successfully
这时需要断开USB-UART的电缆,因为板子是使用它供电的;将板子重新上电从而使得烧到Flash中的映像生效。然后打开任意一个串口调试助手,并设置COM口为115200/8/n/1/n,再按一下板子上的复位按钮,就能在串口调试助手里收到测试相关的信息了,如图6所示。
图6 测试信息
2. 使用microSD卡启动
图7 SD卡启动管脚配置
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |