zynq开发学习记录:Linux启动部署

1.烧写Linux相关文件

将生成的uImage,device.dtb,fpga.bit以及uramdisk.image.gz文件烧写到单板的flash当中,步骤如下:

以下是flash的分区规划

BOOT.bin

0x0~0xe0000

Env.txt

0xe0000~0x100000

uImage

0x100000~0x500000

device.dtb

0x500000~0x580000

uramdisk.image.gz

0x580000~0xa00000

fpga.bit

0xa00000~0x1000000

 

  • 单板配置为QSPI启动
  • 上电后u-boot执行,进入u-boot开发命令行模式
  • 打开tftp工具,选择烧写文件的位置作为上传路径
  • setenv serverip 192.168.0.100 设置主机IP地址,并在windows网卡适配器中添加静态以太网IP地址192.168.0.100
  • setenv ipaddr 192.168.0.5 设置单板ip
  • tftpboot 0x1000000 uImage 传送 uImage文件到DDR 0x1000000地址处
  • sf probe 0 50000000 0 探测spi flash器件
  • sf erase 0x100000 0x400000 擦写flash地址从0x100000开始,大小0x400000
  • sf write 0x1000000 0x100000 0x3fffff 将内存DDR中0x1000000地址文件烧写到0x100000处,烧写文件大小为0x3fffff
  • tftpboot 0x1000000 device.dtb传送 device.dtb文件到DDR 0x1000000地址处
  • sf erase 0x500000 0x80000 擦写flash地址从0x500000开始,大小0x80000
  • sf write 0x1000000 0x500000 0x7ffff 将内存DDR中0x1000000地址文件烧写到0x500000处,烧写文件大小为0x7ffff
  • tftpboot 0x1000000 uramdisk.image.gz 传送 uramdisk.image.gz文件到DDR 0x1000000地址处
  • sf erase 0x580000 0x480000 擦写flash地址从0x580000开始,大小0x480000
  • sf write 0x1000000 0x580000 0x47ffff 将内存DDR中0x1000000地址文件烧写到0x580000处,烧写文件大小为0x47ffff
  • tftpboot 0x1000000 fpga.bit传送 fpga.bit文件到DDR 0x1000000地址处
  • sf erase 0xa00000 0x600000 擦写flash地址从0xa00000开始,大小0x600000
  • sf write 0x1000000 0xa00000 0x5fffff 将内存DDR中0x1000000地址文件烧写到0xa00000处,烧写文件大小为0x5fffff
  • tftpboot 0x1000000 BOOT.bin传送 BOOT.bin文件到DDR 0x1000000地址处
  • sf erase 0x0 0xe0000 擦写flash地址从0x0开始,大小0xe0000
  • sf write 0x1000000 0x0 0xdffff 将内存DDR中0x1000000地址文件烧写到0x0处,烧写文件大小为0xdffff

2.系统上电启动部署

Linux内核及部署步骤如下

  • setenv serverip 192.168.0.100 设置主机ip
  • setenv ipaddr 192.168.0.2     设置单板ip
  • setenv bootdelay=3           设置启动延时
  • setenv bootargs console=ttyPS0,115200 maxcpus=1 root=/dev/ram rw earlyprintk                    设置内核启动参数
  • setenv bootcmd ‘sf probe 0 50000000 0 && sf read 0x1000000 0xa00000 0x5fffff && fpga loadb 0 0x1000000 0x5fffff && sf read 0x2000000 0x500000 0x7ffff && sf read 0x2080000 0x100000 0x3fffff && sf read 0x4000000 0x580000 0x47ffff &&bootm 0x20800000 0x40000000 0x2000000’
  •  

saveenv  保存参数

  • boot     启动,可以看见内核启动打印信息,出现Linux shell的命令调试符
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值