回答

收藏

【创龙TLZ7x-EasyEVM评估板】 三、 像玩单片机一样玩zynq

其他 其他 1420 人阅读 | 0 人回复 | 2020-06-03

本帖最后由 人生如梦_3019120 于 2020-6-3 14:11 编辑

# uboot 启动裸机程序

> 在移植uboot的时候,可以在uboot里面添加定义一些自己的环境变量,这些环境变量可以大大提高以后的工作效率。

> 根据 创龙提供的文档《3-2-1-基于SD卡启动裸机程序.pdf》结合创龙提供的例子可以 uboot 启动裸机程序。这里可以运行两种类型裸机程序一种是只包含PS端,另外一种是即含PS端又含PL端程序。
这样就可以想玩单片机一样玩开发板,像玩传统FPGA一样开发功能。

> 类推其实 其他板子也可以这么玩。

相对路径/uboot/include/configs下zynq-common.h文件中。包含了uboot实现跑裸机工程的原理。其实很简单就是把PL程序载入到PL里面。PS端程序拷贝到内存,最后跳转到程序起始地址开始执行。

"sdboot=if mmcinfo; then " \
    "run uenvboot; " \
    "setenv bootargs 'console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait'; "\
    "echo Copying Linux from SD to RAM... && " \
    "load mmc 0:2 ${kernel_load_address} ${bootdir}/${kernel_image} && " \
    "load mmc 0:2 ${devicetree_load_address} ${bootdir}/${devicetree_image} && " \
    "bootm ${kernel_load_address} - ${devicetree_load_address}; " \
"fi\0" \

"appboot=if mmcinfo; then " \
    "echo Load Bitsream and Config to PL... && " \
    "load mmc ${mmcdev} ${loadbit_addr} ${bitstream_image} && " \
    "fpga load 0 ${loadbit_addr} ${filesize}; " \
    "echo Copying APP from SD${mmcdev} to RAM... && " \
    "load mmc ${mmcdev} 0x02080000 ${app_image} && " \
    "bootelf 0x02080000; "\
"fi\0" \


关注下面的标签,发现更多相似文章
分享到:
回复

使用道具 举报

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

本版积分规则

关闭

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