当前位置: 首页 > wzjs >正文

邯郸网站设计招聘网免费行情软件网站大全网页版

邯郸网站设计招聘网,免费行情软件网站大全网页版,玉溪网站网站建设,搭建网站案例精粹zynq u-boot 速通 简介 上回最小系统已经跑起来,证明串口和 ddr 正确配置.现在我们需要正确配置 网口, qspi, emmc. 网口:通过 tftp 下载 dtb,image,rootfs 在线调试.qspi:固化 boot.bin 到 qspi flash,这样 qspi 启动就可以直接运行 u-boot.emmc:存放 ubuntu_base 跟文件系统…

zynq u-boot 速通

简介

  • 上回最小系统已经跑起来,证明串口和 ddr 正确配置.
  • 现在我们需要正确配置 网口, qspi, emmc.
    • 网口:通过 tftp 下载 dtb,image,rootfs 在线调试.
    • qspi:固化 boot.bin 到 qspi flash,这样 qspi 启动就可以直接运行 u-boot.
    • emmc:存放 ubuntu_base 跟文件系统.
  • 注意:在 vivado 中可以全部设置,但是在 u-boot 的设备树里,只需要上面 3 个外设就可以了.

1 vivado 配置

略,参考野火皓月,但是网口要如下
在这里插入图片描述

2 裸机测试网口

参考 vitis 运行 lwip 例子,略

3 petalinux 生成测试

- 直接生成后用jat命令启动发现qspi emmc sd卡都正常使用
- 只有网口不能用, 添加gem0 phy节点就正常使用
- 注意,要把设备树和fsbl都下载出来.
# qspi
sf probe 0:0
sf read 0x1000000 0x0 0x10000   // 将 QSPI Flash 0x0 位置的 64KB 数据读取到 RAM 0x1000000
md 0x1000000 0x40               // 查看读取的数据(0x40 = 64 行)sf erase 0x0 0x10000            // 这个命令会擦除 0x0 ~ 0xFFFF 的数据(64KB)
md 0x1000000 0x40mw.b 0x1000000 0xAA 0x10000     // mw.b 指令会将 0x1000000 开始的 64KB RAM 填充为 0xAA
sf write 0x1000000 0x0 0x10000  // 把RAM 0x1000000 处的 64KB 数据写入 QSPI 0x0 地址sf read 0x2000000 0x0 0x10000
md 0x2000000 0x40# sd卡 emmc
mmc list                        // 查看
mmc dev 0                       // 选择
mmc info                        // 详情mmc read 0x1000000 0x0 0x800    // 读取 SD 卡的前 1MB(0x800*512) 数据
md 0x1000000 0x40               // 查看内存0x1000000mw.b 0x1000000 0xAA 0x1000      // 写入内存
mmc write 0x1000000 0x1000 0x8  // 写入0x8*512 =4096(0x1000)
mmc read 0x2000000 0x1000 0x8   // 读出内存
md 0x2000000 0x40fdt addr 0x100000
fdt print /amba/ethernet@e000b000
fdt print /aliasesmii info
fdt addr 0x100000
fdt print /amba/ethernet@e000b000
mii device
setenv ipaddr 192.168.1.10
setenv serverip 192.168.1.31
ping 192.168.1.31
/include/ "system-conf.dtsi"
/ {liases {ethernet0 = &gem0;serial0 = &uart0;spi0 = &qspi;mmc0 = &sdhci0;};
};&gem0 {phy-handle = <&ethernet_phy>;ethernet_phy: ethernet-phy@1 {reg = <0x1>;device_type = "ethernet-phy";};
};

3.1 petalinux 生成的设备树没有 phy 节点

  • 折磨我了好久,发现根本不会把 system-user.dtsi 编译到 system.dtb.
  • 在 extracted.dts 里查看 ethernet@e000b000 都没有 phy 节点.
  • 解决:手动调用 dtc 编译设备树
dtc -I dtb -O dts -o extracted.dts images/linux/system.dtb

3.2 手动调用脚本如下

#!/bin/bash# @file:    make_dts.sh
# @author:  ccj
# @version: V1.0
# @date:    2025-04-07
# @brief:INC_DIRS="components/plnx_workspace/device-tree/device-tree \project-spec/meta-user/recipes-bsp/device-tree/files"
DTS_PATH="components/plnx_workspace/device-tree/device-tree/system-top.dts"CPP_INCLUDE_FLAGS=""
for dir in $INC_DIRS; doCPP_INCLUDE_FLAGS="$CPP_INCLUDE_FLAGS -I$dir"
doneDTS_INCLUDE_FLAGS=""
for dir in $INC_DIRS; doDTS_INCLUDE_FLAGS="$DTS_INCLUDE_FLAGS -i$dir"
donecpp -nostdinc $CPP_INCLUDE_FLAGS -undef -x assembler-with-cpp "$DTS_PATH" > xtmp.dts
dtc -I dts -O dtb $DTS_INCLUDE_FLAGS -o system.dtb xtmp.dts
dtc -I dtb -O dts -o system.dts system.dtb
rm xtmp.dts

4 大功告成,打包 BOOT.BIN, 固化到 qspi flash

  • 由于完全不相信 petalinux 了,手动调用打包工具自己打包
BOOT.BIN
├── bootgen.bif
├── zynq_fsbl.elf
├── system.dtb
└── u-boot.elfE:/Xilinx/Vitis/2020.2/bin/bootgen.bat -arch zynq -image bootgen.bif -o BOOT.BIN -w on

4.1 bootgen.bif 如下

the_ROM_image:
{[bootloader] zynq_fsbl.elfu-boot.elf[load=0x100000] system.dtb
}

4.2 固化到 flash

使用vivado即可,略

5 切换到 qspi 启动模式,测试

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/wzjs/809707.html

相关文章:

  • 深圳住房和建设局网站统一吉林沈阳网站建设
  • 如何把网站设为正确建设中wordpress的标题字体
  • dede视频网站小米网站建设案例
  • 培训机构网站设计案例
  • 合肥网站建设网站制作建设工程管理是做什么的
  • 请人做网站设计的方案最值钱的域名列表
  • 做外贸哪个网站看外汇太原百度快速优化排名
  • 微信公众号属于网站建设用dw做的网站
  • 让客户留住更长时间访问你的网站官方网站域名备案
  • 在对方网站做友情链接有没有做的很炫的科技型网站
  • 扁平化高端网站模板8步快速搭建个人网站视频
  • 网站开发需要那些技能网站网页设计平台
  • 玉环建设规划局网站免费模式营销案例
  • 网站开发样板基于html5个人网站设计论文
  • 网站建设与推广的步骤辽宁省城乡建设规划院网站
  • 坚持移动端网站怎么做seo
  • 寻找长沙网站建设十大现货正规交易平台
  • .net域名可以做银行网站吗聊天软件怎么制作
  • 浙江直播网站建设移动端响应式布局
  • 绵阳网站改版哈尔滨网站建设资海
  • 学校html网站模板网页设计字体颜色代码
  • 策划网站建设个人网站的制作教程
  • 安居客官网网站c2c平台怎么下载
  • 传奇网站模板怎么做的吗后缀为net的网站有哪些
  • 网站加载页面怎么做wordpress收起边栏
  • 智能网站建设推荐昆明网站开发多少钱
  • 金山手机网站建设佛山网站建设开发
  • 天津网站建设网络公司wordpress爆破工具
  • 巴音郭楞库尔勒网站建设北京公司模板网站
  • 加盟网站制作运营国外小型网站