sd系统启动卡+网络方式启动
基于tftp和nfs启动开发板,是一种很便捷网络启动和调试方式,避免用户在开发过程中,使用sd系统启动卡等方式拷贝启动文件到开发板而造成的繁琐工作。
本小节介绍从sd系统启动卡启动u-boot,再通过tftp加载设备树文件、linux内核镜像文件,最后使用nfs挂载远程文件系统。进行以下操作前,请参照《tftp开发环境搭建》、《nfs开发环境搭建》文档搭建好tftp和nfs开发环境。
1.1 启动文件准备
将am57x开发板对应的设备树文件和内核镜像文件,拷贝到ubuntu搭建好的tftp服务器工作目录中。
本文以广州创龙tl5728-easyevm开发板为例,其对应设备树文件为am57xx-evm-reva3.dtb;网络启动连接网口为rgmii eth0.
平台介绍:
am5728是ti sitara系列高性能soc,得益于异构多核处理架构,cpu内集成了多核dsp、多核pru、iva-hd、gpu等协处理单元,通过硬件加速的方式极大增强cpu的数据、多媒体处理能力,可满足工业协议支持、大数据计算、实时控制等应用需求,同时采用先进的28纳米生产工艺,极大降低处理器的功耗,能耗比更加突出。
tl5728-easyevm 是一款广州创龙基于 ti am5728(浮点双 dsp c66 x +双 arm cortex-a15)som-tl5728 核心板设计的开发板,它为用户提供了 som-tl5728 核心板的测试平台,用于快速评估 som-tl5728 核心板的整体性能。底板采用沉金无铅工艺的 4 层板设计,为客户提供丰富的am5728 入门教程,协助客户进行底板的开发,提供长期、全面的技术支持,帮助客户以最快的速度进行产品的二次开发,实现产品的快速上市。
基于ti am5728浮点双dspc66x+双armcortex-a15工业控制及高性能音视频处理器;
强劲的视频编解码能力,支持1路1080p60或2路720p60或4路720p30视频硬件编解码,支持h.265视频软解码;
支持高达1路1080p60全高清视频输入和1路lcd + 1路hdmi 1.4a输出;
双核pru-icss工业实时控制子系统,支持ethercat、ethernet/ip、profibus等工业协议;
外设接口丰富,集成双千兆网、pcie、gpmc、usb 2.0、uart、spi、qspi、sata 2.0、i2c、dcan等工业控制总线和接口,支持极速接口usb 3.0;
拷贝完成后,ubuntu下tftp服务器工作目录包含的设备树文件、内核镜像文件如下图所示:
在ubuntu的nfs共享目录下,新建开发板文件系统存放文件夹rootfs,并将光盘“shelllinux-4.4.19-mksdbootfilesystem”目录下的开发板文件系统压缩包拷贝到ubuntu。
进入文件系统压缩所在路径,执行如下指令解压到此压缩文件到nfs共享目录rootfs文件夹:
host# sudo tar -vxf rootfs-03.01_v1.1.tar.gz -c /home/tronlong/nfs_share/rootfs
解压完成后,nfs共享目录下的rootfs文件夹内容如下图所示:
1.2 设置网络启动环境变量
根据“表1”所示,将开发板对应网口和pc通过路由器或者交换机互联。开发板拨码开关选择mmc1启动:01000(1~5),开发板上电后快速点击任意键进入u-boot命令行。执行如下命令,恢复系统默认u-boot环境变量,设置nfs服务器上的文件系统路径:
u-boot》 env default -f -a
u-boot》 setenv rootpath /home/tronlong/nfs_share/rootfs/
继续执行如下命令,设置网络启动环境变量:
u-boot》 setenv netboot ‘echo booting from network 。..; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}’
u-boot》 setenv autoload no
u-boot》 dhcp //自动获取ip地址
u-boot》 setenv serverip 192.168.1.157
u-boot》 setenv fdtfile am57xx-evm-reva3.dtb
u-boot》 setenv bootcmd ‘run netboot’
u-boot》 saveenv
u-boot》 run netboot
192.168.1.157为tftp与nfs服务器ip地址,am57xx-evm-reva3.dtb为am57x平台开发板使用的设备树文件,请根据实际情况修改。设置成功后,执行如下指令将从网络启动内核并挂载文件系统,启动时开发板会自动获取ip地址,如下图所示:
开发板启动成功,进入文件系统执行如下指令,可以查看到已经成功挂载上远程nfs共享目录rootfs文件夹下的文件系统:
target# df
sd系统启动卡+usb系统启动盘启动
本小节介绍从sd系统启动卡启动u-boot,再通过usb系统启动盘启动linux内核并挂载文件系统。进行以下操作前,请参照《linux sd系统启动卡制作方法》文档,制作好usb系统启动盘。
将制作好的usb系统启动盘连接到开发板的usb3.0接口,开发板拨码开关选择mmc1启动:01000(1~5)。开发板上电,快速点击任意键进入u-boot命令行。执行如下命令,设置usb启动环境变量,启动过程打印信息如下图所示:
u-boot》 setenv bootcmd run usbboot
u-boot》 saveenv
u-boot》 reset
开发板启动成功,进入文件系统执行如下指令,可以查看到开发板文件系统挂载情况如下图所示:
target# df
使用usb方式时,内核需要重新编译,编译时选择支持usb加载文件系统,然后使用编译后的内核镜像替换usb启动设备文件系统分区boot目录下的内核镜像文件。广州创龙提供的最新内核已完成内核的修改,直接支持usb方式启动系统。
联想Z5评测 新国民旗舰
Counterpoint:三季度联发科首次成为全球最大智能手机芯片厂商
闪耀2023WAIC:AI创造力,昇腾轻松拿捏!
傅里叶变换公式理解
什么是解调?AM波、FM波的解调原理
基于AM5728进行U-Boot编译步骤教程详解
SiC器件频繁在高功率工业驱动中应用
罗德与施瓦茨SMB100A射频发生器介绍
如何用图神经网络(GNN)做CV的研究
小米推迟CDR发行申请,择机启动还是估值问题?
航天宏图与农业农村部大数据发展中心成立联合实验室
惠普Pavilion15笔记本拆解 内部结构如何
医疗电子有哪些优点
新能源汽车产销量的爆发 推动了电池用量的提升
浅谈骁龙888名字的由来
红米Note7Pro和iPhone7哪个好
呼兰携手iQOO品牌跨界开show,吐槽职场辛酸
为何多数人都用微信使QQ闲置, 还依然不愿意放弃这只“企鹅”?
ios10.3跳票,苹果今晨急急忙忙上线新系统
三极管基础知识科普