正点原子第四期环境搭建

发布于:2022-10-29 ⋅ 阅读:(492) ⋅ 点赞:(0)

今天购买的阿尔法开发板,准备开始学习正点原子驱动开发。板子还没到,先看看网络环境搭建。

1、网络IP相关知识

IP地址:网络号部分 + 主机号部分。
        1、网络部分:确定终端是不是在同一网段。
        2、主机部分:
IP地址分为A、B、C三类:
        A类,网络号为前8位,后24位位主机号。
        B类,网络号为前16位,后16位位主机号。
        C类,网络号为前24位,后8位位主机号。

1.1、子网掩码

        1、子网掩码不能单独存在,它必须结合IP地址一起使用。
        2、子网掩码只有一个作用:就是将某个IP地址划分成网络地址和主机地址两部分。
        3、子网掩码是32位的二进制地址,为1代表该位是网络位,为0代表主机位。

1.2、同一网段

        1、可以简单理解为:同一网络号为同一网段。

1.3、举例说明

比如一个IP地址为192.16.1.3:
        1、单看一个IP地址是看不出来哪些是网络号,哪些是主机号,需要知道子网掩码或则常用的表示方法。
        2、常用的表示方法1:192.168.1.3/24 :后面的/24表示IP地址前面的24位二进制代表网络ID,也就是192.168.1。
        3、常用的表示方法2:192.168.1.3/24 netmask 255.255.255.0 :通过子网掩码可以判断IP地址前面的24位二进制代表网络ID,也就是192.168.1。网络地址是192.168.1.0

1.4、主机地址计算方式

        IP地址与子网掩码的非的结果想与就是主机地址。

IP地址:
	十进制:192.168.1.1
	二进制:11000000.10101000.00000001.00000001
子网掩码:
	十进制:255.255.255.0
	二进制:11111111.11111111.11111111.00000000
	子网掩码取非:00000000.00000000.00000000.11111111
	子网掩码取非 与上 IP地址:00000000.00000000.00000000.00000001

        即主机地址为0.0.0.1。

2、环境搭建

2022/10/29

场景:本人是在出租房里,采用的是电脑连wifi,开发板直连电脑这种方式。
最近正点原子更新了阿尔法底板,之前的内核镜像以及uboot镜像不再适用于新的开发板,需要去官方下载最新的镜像。

本人没看过正点原子第一、二、三期视频,直接开始第四期驱动。

2.1、虚拟机创建

为了减少搭建开发环境的时间,直接使用的是正点原子提高的IMX6U虚拟机,下方直接下载即可。
在这里插入图片描述
在这里插入图片描述
下载后直接参考pdf配置即可。
创建后如下图
在这里插入图片描述

2.2、网络配置

我的环境是电脑连wifi上网,开发板和电脑通过网线连接。
网络配置参考的是 \正点原子\【正点原子】阿尔法Linux开发板 PDF资料合集\【正点原子】阿尔法Linux开发板 (PDF资料合集)\用户手册\手册\手册下载、【正点原子】I.MX6U网络环境TFTP&NFS搭建手册V1.3.1 这个文档中1.4章节,三者能够互相ping通即可。
我这里本次配置:

	虚拟机ip		192.168.10.100
	开发板ip		192.18.10.50
	电脑以太网ip		192.168.10.200

2.3、网络挂载

前文提到正点原子将底板更新(2.4底板),我们需要修改uboot以及内核的驱动代码,来适配2.4底板。
进入虚拟机 /home/alientek/alpha/alientek-zzk目录,即可看见kernel和uboot源码。参考2.4底板uboot、kernel配置教程 编出zImage和dtb。
将编出来的zImage和dtb文件放入tftp目录:/home/alientek/linux/tftp

2.3.1 设置开发板uboot环境变量

开发板上电,在uboot倒计时结束前按下回车进入命令行模式。

根据自己实际情况设定,我这里虚拟机ip地址是192.168.10.100。

	setenv ipaddr 192.168.10.120	//设置开发板ip
	setenv ethaddr b8:ae:1d:01:00:00	//地址
	setenv gatewayip 192.168.10.1	//网关
	setenv netmask 255.255.255.0	//子网掩码
	setenv serverip 192.168.10.100	//虚拟机的ip地址
	saveenv

设置完尝试ping虚拟机,能够ping通即可。
在这里插入图片描述

2.3.1、挂载内核、设备树

	setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'
	saveenv

2.3.2、nfs挂载文件系统

ip地址根据自己实际情况填写。

	setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.10.100:/home/alientek/linux/nfs/rootfs,proto=tcp rw ip=192.168.10.120:192.168.10.100:192.168.10.1:255.255.255.0::eth0:off'
	saveenv

在这里插入图片描述
如上图即代表从虚拟机中下载内核镜像和设备树并启动。能够正常启动代表挂载成功。

在这里插入图片描述
可以看见文件目录和虚拟机中nfs文件系统一致。
在这里插入图片描述
之后驱动编出的ko都放入 /home/alientek/linux/nfs/rootfs/lib/modules/4.1.15目录,开发板对应目录也会有相应文件。

我们在开发板新建一个demo1.c,在对应的虚拟机中也会出现,如下图:
在这里插入图片描述

至此环境搭建完成。

本文含有隐藏内容,请 开通VIP 后查看