原创 AVNET MicroZed开发板(基于ZYNQ-7000)调试笔记(6)-烧写程序

2015-8-4 20:50 3696 12 12 分类: FPGA/CPLD
    上一篇我们使用Run configuration的方式运行程序,将代码加载到DDR中进行调试,掉电之后代码就丢失了。作为产品的话,需要把代码烧写到flash中,进行上电自启动,下面就介绍何如生成flash烧写文件,以及如何烧写flash。
    首先要生成FSBL文件,FSBL全称为First Stage Boot Loader,它主要完成PS代码的初始化,并引导程序的加载。
    打开之前SDK的Workspace,在主菜单中选择File->New->Application Project。
1.jpg
    在弹出的对话框中输入FSBL的工程名,并选择standalone_bsp_0,点击Next。
2.jpg
    选择Zynq FSBL,点击Finish,SDK开始编译工程,在下方Console中显示Build Finish。
3(1).jpg     
    这时,在SDK左边的Project Explore中就可以看到system_fsbl工程项了,展开该工程,在Debug子项上右击选择Properties。
4.jpg
    在弹出的对话框左侧展开C/C++ Build,点击Settings。在右侧点击Manage Configurations...。
5.jpg
    在弹出的对话框中选择Release,点击Set Active,然后点击两次OK,SDK编译完成。
6.jpg
    然后,对hello_world工程执行同样的操作,设置为Release。为了确保工程被正确编译,在SDK主菜单中选择Project->Build All重新编译整个工程。
    接下来我们开始创建启动映像,该映像用于加载板上的SPI flash。
    在SDK主菜单中选择Xilinx Tools->Create Zynq Boot Image。
7.jpg
    在zynq_test\zynq_test.sdk\SDK\SDK_Export目录下建立一个新目录firmware(文件名自定义),用来存放生成映像的文件。
    将zynq_test\zynq_test.sdk\SDK\SDK_Export\system_fsbl\Debug目录下的system_fsbl.elf文件拷贝到firmware文件夹下。
    将zynq_test\zynq_test.sdk\SDK\SDK_Export\hello_world\Release目录下的hello_world.elf文件拷贝到firmware文件夹下。
    如果有PL的烧写文件bit文件,也要拷贝到这个文件夹下。
    首次生成映像文件,在Create Zynq Boot Image弹出的对话框中选择Create new BIF file,选择BIF文件保存的路径,这里选择的firmware文件夹。在文件夹下会自动生成一个BIF文件,用来保存生成映像文件所需FSBL、应用程序和bit加载文件的路径。在程序修改重新生成映像文件时,可以选择Import from existing BIF file,导入上次保存的BIF文件,会自动添加FSBL、应用程序和bit加载文件的路径。
    首次生成需要手动添加FSBL和应用程序加载文件,点击Add,首先选择firmware目录下的FSBL文件system_fsbl.elf,然后选择firmware目录下的应用程序加载文件hello_world.elf,这里不涉及PL的部分,不需要添加bit文件,如需要,请按照FSBL文件、bit文件、应用程序文件的顺序添加。 
    在这个对话框中还有一部分内容没有显示,需要将对话框拉伸才能看到最下方。我们是要生成加载到SPI flash的映像文件,对应的后缀是mcs文件,而默认是bin文件,是加载到SD卡的影响,这里需要将输出影响文件后缀修改为mcs。
    点击Create Image,可以看到,在firmware文件夹下生成了output.mcs(文件名可自定义)。
8.jpg
    将开发板上跳线帽按照下图方式连接,设置为SPI flash启动模式。
9.jpg
    连接开发的JTAG(加载映像)和USB-UART(供电和UART)线缆。确认连接成功后,在SDK主菜单选择Xilinx Tools->Program Flash。在弹出的对话框中选择刚才生成的mcs文件,然后点击Program。
10.jpg
    关于MicroZed开发板调试的基本流程就描述到这里了,对于一个专注于PL开发的FPGA工程师,基本上已经够用了,其余涉及ARM和Linux的开发部分在这里就不详述了,有兴趣的话可以弄一套开发板或者查阅其他资料学习下,谢谢您的关注!
PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /3 下一条