【开源】基于正点原子alpha开发板的第三篇系统移植

系统移植的三大步骤如下:

  1. =系统uboot移植====
  2. =系统linux移植====
  3. =系统rootfs制作====

一言难尽,踩了不少坑,当时只是想学习驱动开发,发现必须要将第三篇系统移植弄好才可以学习后面驱动,现将移植好的文件分享出来:
仓库:https://gitee.com/wangyoujie11/imx6u-ll-uboot-kernel-rootfs.git
在这里插入图片描述

使用如下

如果直接使用我移植好的四大组件,只需要完成以下配置

  1. 将usb线连接开发板的OTG串口,另一端连接电脑;然后另一根连接USB_TTL串口,另一端连接电脑;
  2. 检测自己的sd卡是否取下(sd卡槽不能插卡)
  3. 红色拨码开关打到USB启动
  4. 给板子上电,双击打开mfgtool2-alientek-alpha-emmc.vbs文件,提示“符合标准就可以点击start,等待烧入,可以打开串口助手查看下载信息。提示信息如下所示,说明以及将系统烧写到板子上的emmc了。

在这里插入图片描述

从emmc启动将红色拨码开关打到emmc启动,然后复位板子就可以正常进入了boot命令,先输入ls mmc 1:1查看是否是图中的信息,没问题就输入环境变量:

=>setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw

=>setenv bootcmd ‘mmc dev 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000-83000000;’
在这里插入图片描述
在这里插入图片描述
从SD启动将红色拨码开关打到SD启动。首先准备工作alientek-linux和alientek-uboot和alientek-rootfs下载到本地ubuntu下解压如下:
链接:https://pan.baidu.com/s/18e-UhGz_HCEF9-Z2ADEjlg
提取码:wjwj

在这里插入图片描述

  1. 进入alientek-uboot文件下,打开终端使用./imxdownload u-boot.bin /dev/sdb(自己的sd)中
  2. 然后将SD卡插入到板子卡槽内,使用SD卡启动模式
  3. 在tftp文件下面添加如下内容(可以在alientek-linux文件中找到)
    在这里插入图片描述
  4. 将rootfs文件解压到nfs文件夹下面
    在这里插入图片描述
  5. 使用chmod 777 -R nfs 和chmod 777 -R tftpboot。给这俩个文件夹权限
  6. 开发板直连电脑搭建NFS&TFTP环境配置:https://blog.csdn.net/zzssdd2/article/details/110455413。注意:路径一定要改为自己的路径
    一定注意如果ubuntu版本是18以上的需要需要:
    sudo vi /etc/default/nfs-kernel-server
    在这里插入图片描述
  7. 板子从SD卡启动,然后就可以使用驱动例程来做了,在编译驱动例程的时候,需要替换官方的路径

在这里插入图片描述
在这里插入图片描述
7. 确定板子的信息是
在这里插入图片描述
首先将板子通过串口等方法连接电脑,启动板子,进入到boot命令下:配置板子的信息

# 设置开发板ip
=> setenv ipaddr 192.168.104.90
# 设置子网掩码
=> setenv netmask 255.255.255.0
# 设置网关
=> setenv gatewayip 192.168.104.1
# 设置服务器ip
=> setenv serverip 192.168.104.168 
# 设置网卡1
=> setenv ethaddr b8:ae:1d:01:00:00
# 保存设置
=> saveenv

然后使用NFS挂载文件系统:开发板网线连接电脑,然后启动开发板进入uboot模式设置启动参数bootargs


```powershell
 # 设置启动参数bootargs
#	nfsroot后的参数为Ubuntu的nfs文件夹路径;格式为:nfsroot=NFS服务器IP:文件系统的绝对路径.
#	ip后的参数为开发板网络信息:ip=开发板IP:服务器IP:网关,子网掩码::eth0:off. 
setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.104.88:/home/wj/linux/nfs/rootfs 
ip=192.168.104.90:192.168.104.88:192.168.104.1:255.255.255.0::eth0:off’
#设置从tftp网络加载zImage和xxx.dtb文件
setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'
# 保存
=> saveenv
Saving Environment to MMC... Writing to MMC(0)... OK
# 复位重启
=> reset

重启板子之后就会出现:
在这里插入图片描述
然后在自己的ubuntu下找到一个编译好的驱动例程,使用如下命令就可以将程序拷贝到开发板的/lib/modules/4.1.15/路径下

sudo cp chrdevbase.ko chrdevbaseApp /home/wj/linux/nfs/rootfs/lib/modules/4.1.15/ -f

至此,所有的移植就完成了,可以愉快的驱动开发了

使用02_led驱动例程测试:
在这里插入图片描述
挂载之后就行点灯操作:
在这里插入图片描述请添加图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值