集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 895|回复: 0

ZedBoard上的点灯签名实验(三)linux内核引导

[复制链接]
zhiweiqiang33 发表于 2014-9-9 10:07:05 | 显示全部楼层 |阅读模式

经过实验一和实验二我们完成了硬件部分的工作,并且将设计导出到SDK, 现在我们希望Linux可以到我们的硬件上运行,为此我们需要给Linux一个提示并且告诉它入口在哪里,这些工作就有u-boot 和FSBL来完成,他们就相当于PC机的Bios. u-boot 可以用digilent提供的, 在ZedBoard_linux_Design/boot_image/里边,当然也可以自己编译。现在我们编辑一下FSBL,在SDK中,-->File-->New-->Project-->Xilinx-->Application Project-->next, 然后为我们的工程起个名字,叫FSBL, 其他的默认即可。然后next进入Templates选项卡,在这儿选择Zynq FSBL,然后点Finish。然后在Project Explorer找到-->FSBL-->src-->main.c, 会发现这里边有很多的错误,原因是因为缺少一个库文件造成的,添加#include "xdevcfg.h",所有错误消失。然后找个位置加入下面的代码,
/* Reset the USB */
{
fsbl_printf(DEBUG_GENERAL, "Reset USB...\r\n");
/* Set data dir */
*(unsigned int *)0xe000a284 = 0x00000001;
/* Set OEN */
*(unsigned int *)0xe000a288 = 0x00000001;
Xil_DCacheFlush();
/* For REVB Set data value low for reset, then back high */
#ifdef ZED_REV_A
*(unsigned int *)0xe000a048 = 0x00000001;
Xil_DCacheFlush();
*(unsigned int *)0xe000a048 = 0x00000000;
Xil_DCacheFlush();
#else
*(unsigned int *)0xe000a048 = 0x00000000;
Xil_DCacheFlush();
*(unsigned int *)0xe000a048 = 0x00000001;
Xil_DCacheFlush();
#endif

您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-7 05:33 , Processed in 0.056047 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表