在调试i.mx6项目的时候,官方给出的默认调试方法为通过SD卡或者MFG tool工具来进行,并且通过MFG tool工具为主流推荐的方法。但是如果在系统rootfs比较大的时候,使用mfg tool工具进行烧写可能会比较慢,下面的方法就是使用传统的TFTP方法烧写内核和挂载文件系统的方法。(调试平台为珠海鼎芯的i.mx6开发板)
使用tftp前提条件为板子已经存在uboot,板子能够跑起来并且进入uboot命令行,然后通过串口操作命令行:
通过tftp烧写uImage:
1.进入uboot命令行下:
MX6Q SABRESD U-Boot > setenv bootargsconsole=ttymxc0,115200
MX6Q SABRESD U-Boot > setenv loadaddr0x10800000
MX6Q SABRESD U-Boot > setenv serverip 192.168.1.122 (根据自己的网络进行设置)
MX6Q SABRESD U-Boot > setenv bootfileuImage
### The user can set fake MAC address viethaddr environment if need设置mac地址
MX6Q SABRESD U-Boot > setenv ethaddr00:01:02:03:04:05
MX6Q SABRESD U-Boot > saveenv
2.把uImage文件放到tftp服务器目录下(如ubuntu系统中的/home/usr/tftp),然后uboot命令行下运行:
MX6Q SABRESD U-Boot > dhcp
此时会自动把uImage从tftp服务器下载到imx6的RAM中,等待下载完成
3.最后把uImage写到板子上的eMMC中,uboot命令行运行:
MX6Q SABRESD U-Boot > mmc dev 3
MX6Q SABRESD U-Boot > mmc write ${loadaddr} 0x800 0x2000
做完以上步骤,uImage就烧写完成了。
通过NFS方式启动linux系统:
1. uboot命令行中运行:
MX6Q SABRESDU-Boot > setenv ethaddr 00:01:02:03:04:05
MX6Q SABRESDU-Boot > saveenv
MX6Q SABRESD U-Boot > setenv serverip 192.168.1.122
MX6Q SABRESD U-Boot > setenv bootfile uImage
MX6Q SABRESD U-Boot > setenv nfsroot /data/rootfs_home/rootfs_mx6
MX6Q SABRESD U-Boot > setenv bootargs_base 'setenv bootargsconsole=ttymxc0,115200'
### For LVDS0 connection从LVDS0启动
MX6Q SABRESD U-Boot > setenv bootargs_nfs 'setenv bootargs${bootargs} root=/dev/nfs ip=dhcp
nfsroot=${serverip}:${nfsroot},v3,tcpvideo=mxcfb0:dev=ldb,LDB-XGA,if=RGB666'
MX6Q SABRESD U-Boot > setenv bootcmd_net 'run bootargs_basebootargs_nfs;bootm'
MX6Q SABRESD U-Boot > setenv bootcmd
做完以上步骤,板子启动的时候,就会通过nfs的方式把文件系统挂载到板子上。
D-Chip i.MX6使用TFTP NFS方式挂载linux系统的方法
最新推荐文章于 2024-04-07 11:51:49 发布