【IMAX6U开发记录】

1 启动方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 内部RTC时钟

date -s”命令仅仅是将当前系统时间设置了,此时间还没有写入到I.MX6U 内部 RTC 里面或其他的 RTC 芯片里面,因此系统重启以后时间又会丢失。我们需要将当前的时间写入到 RTC 里面,这里要用到 hwclock 命令
date -s “2021-11-30 10:28:30”
hwclock -w //将当前系统时间写入到 RTC 里面

3 文件系统只读

zlg再线文档 ->常见问题->软件常见问题。
修改方法一:

1、请控制进入uboot命令行;
2、将配置参数中的“ro”,改为“rw”;
MX6UL > setenv bootargs 'console=ttymxc0,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'
改成:
MX6UL > setenv bootargs 'console=ttymxc0,115200 ubi.mtd=5 rw root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'
3、保存。
MX6UL >saveenv

修改方法二:

编译自定义的uboot:
在uboot源码“/uboot-imx/include/configs/mx6g2c.h”中,将“bootargs”参数中的“ro”改为“rw”,重新编译生成u-boot.imx。

4 控制台输入输出配置

配置Uboot信息
ttymxc1
console ttymxc0     配置控制台为串口ttymxc0     NFC
console ttymxc1     配置控制台为串口ttymxc1     CA   next           zlg设置为ttymxc1    ttymxc1 为没有引出串口
console ttymxc2     配置控制台为串口ttymxc2     WIFI
console ttymxc3     配置控制台为串口ttymxc3     M0
console ttymxc4     配置控制台为串口ttymxc4     HCA  HOST
console ttymxc5     配置控制台为串口ttymxc5     M3

/*设置为ttymxc1*/  第一版本板子
setenv bootargs 'console=tty1 console=ttymxc1,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'

setenv console ttymxc1
saveenv
reset 

/*设置为ttymxc0*/
setenv bootargs 'console=tty1 console=ttymxc0,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'

setenv console ttymxc0
saveenv
reset 

/*设置为ttymxc4*/
setenv bootargs 'console=ttymxc4,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'

setenv console ttymxc4
saveenv
reset 

/*lcd显示 和设置为ttymxc4*/
setenv bootargs 'console=tty1 console=ttymxc4,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'

setenv console ttymxc4
saveenv
reset 
/*设置为tty1*/
setenv bootargs 'console=tty1 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'

setenv console tty1
saveenv
reset 

5 设备树

vi arch/arm/boot/dts/imx6g2c-128m.dts

6 进度条、背光、logo

应用笔记 -> 液晶显示 -> 添加启动进度条。
M6G2C/A6G2C 工控核心板/应用笔记(Linux)/开机启动Logo制作
在这里插入图片描述
在这里插入图片描述

7 免密登录

wr vi /etc/inittab
 #ttymxc0::respawn:/sbin/getty -L   ttymxc0 115200 vt100 # GENERIC_SERIAL  #将这行注释掉
 ::respawn:-/bin/sh        #添加这一行

8 挂载NFS目录到imax6u的 /mnt下

假设主机的NFS目录为/nfsroot,IP地址为192.168.1.137,在EPC-6G2C-L的终端里输入以下命令,即可将主机的NFS目录挂载到本地的/mnt目录下:

1.[root@EPC-M6G2C ~]# ls /mnt
2.[root@EPC-M6G2C ~]# mount -t nfs 172.20.60.155:/DockPro/rootfs/rootfs /mnt -o nolock
3.[root@EPC-M6G2C ~]# ls /mnt
4.readme.txt # 示例的NFS服务器上有一个readme.txt文件

9 恢复为从NAND Flash启动根文件系统

setenv bootargs 'console=ttymxc0,115200 ubi.mtd=5 ro root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F g_mass_storage.idProduct=0x37FF g_mass_storage.iSerialNumber=""'
saveenv       //保存设置
reset 
注意:如果修改了setenv bootcmd 'run netboot'   要修改回来。
setenv bootcmd 'echo Booting from NAND...; if run loaddtb_real; then if run loadimage_0_real; then if bootz ${
   loadaddr} - ${
   fdt_addr}; then echo Booting from kernle_0;else if run loadimage_1; then if bootz ${
   loadaddr} - ${
   fdt_addr}; then echo Bootring from kernel_1;else echo Both of kernels are error; fi; fi; fi; else if run loadimage_1; then if bootz ${
   loadaddr} - ${
   fdt_addr}; then echo Booting from kernel_1; else echo both kernel are error; fi; fi; fi;else echo dtb is error; fi;' 

10 网络启动内核、dtb、并挂载文件系统 —OK版本



U-boot支持从TFTP服务器下载内核到本地内存后再启动内核,这种方法通常用于内核调试阶段。EPC-6G2C-L的U-boot预置了一条命令netboot,实现了通过TFTP启动内核后挂载NFS根文件系统的功能。

//setenv ethaddr 00:14:97:3c:fb:20        # 设定以太网口MAC地址
setenv ipaddr 172.20.60.166                 # EPC-6G2C-L的IP地址
setenv serverip 172.20.60.155               # 服务器主机的IP地址
ping 172.20.60.155                                # 测试与ubuntu主机的网络通路
//提示 is alive

setenv gw-ip 172.20.60.254                   # 网关IP地址
setenv netmask 255.255.255.0            #子网掩码

setenv fdt_file imx6y2c-TenMicrosDock-256m-nand.dtb                  
setenv root_path /home/pengyc/DockPro/rootfs/rootfs            # NFS根文件系统在ubuntu主机中的路径

/*bootcmd  默认出厂配置*/
setenv bootcmd 'echo Booting from NAND...; if run loaddtb_real; then if run loadimage_0_real; then if bootz ${loadaddr} - ${fdt_addr}; then echo Booting from kernle_0;else if run loadimage_1; then if bootz ${loadaddr} - ${fdt_addr}; then echo Bootring from kernel_1;else echo Both of kernels are error; fi; fi; fi; else if run loadimage_1; then if bootz ${loadaddr} - ${fdt_addr}; then echo Booting from kernel_1; else echo both kernel are error; fi; fi; fi;else echo dtb is error; fi;' 

//run netboot           # 设置完成后,运行组合命令netboot即可。
//或者
setenv bootcmd 'run netboot'       # 每次开机时自动执行netboot
saveenv           # 保存参数设定
reset            # 重启开发板

注意 如果不让显示当前目录那就是IP变了 :设置sudo vi /DockPro/rootfs/rootfs/etc/init.d/S90start_userapp.sh 屏蔽IP设置代码。

netboot说明:
netboot=echo Booting from net ...; run netargs; tftp ${image}; if tftp ${fdt_addr} ${fdt_file}; then bootz ${loadaddr} - ${fdt_addr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi;

netargs=setenv bootargs console=${console},${baudrate} root=/dev/nfs rw nfsroot=${serverip}:${root_path},v3,tcp ip=${ipaddr}:${serverip}:${gw-ip}:${netmask}:${hostname}:${device}

bootargs=console=ttymxc0,115200 ubi.mtd=5 ro quiet root=ubi0:rootfs rootfstype=ubifs g_mass_storage.stall=0 g_mass_storage.removable=1 g_mass_storage.idVendor=0x066F 

baudrate
serverip
root_path
serverip
gw-ip
netmask
hostname
device

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

光芒Shine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值