xzy610030

一起探讨,一起进步,一起分享!

zedboard--拷贝到SD卡启动的fsbl引导裸跑程序实验(九)

0
阅读(2085)

中秋休息了几天,是该满血复活了,今天状态真不错!

工作一:UART——GPIO实验

跑了陆佳华第九章的例子,基本上就是实验六和实验八的综合,运行起来结果就没有问题了。(这里。C文件替换后,记得要保存,而不是直接build)。这个很快就完成了。

工作二:SD卡分区

       一开始按照陆佳华书上的方法,试了好几次都没有成功,后面果断放弃了,采用官网上的方法(文档ZedBoard_GSwEL_Guide.pdf),后面很快就成功了。

工作三:fsbl来运行裸跑程序

       之前的实验包括UART——GPIO实验,都是用JTAG下载配置的,掉电就丢失,这个就使用fsbl来运行裸跑程序。

       原理:SD卡启动,先运行BootRom的程序,然后运行FSBl这段引导程序,,这段引导程序1根据xps的配置,完成PS端的初始化。2根据比特流文件对PL进行配置。3加载ssbl或者裸跑程序,这里为裸跑程序。

       基本步骤:在工作一成功后,打开SDK,workspace设置为SDK\SDK_Export,否则是打开不了工程的,然后新建一个c工程,但是这里不再是选择helloworld工程了,而是fsbl工程了,编译产生一个,elf文件。右键fsbl工程,Create Boot Image,生成一个BOOT.BIN文件,这里需要fsbl产生的elf文件,pl的文件.bit,helloworld.elf(裸跑程序,如果不是裸跑就是u-boot.elf了)。然后拷贝到SD卡的第一个分区就可以了,zedboard设置为sd卡启动就可以看到程序正确运行了。