正点原子Imx6ull(Mini)开发板设置静态IP并挂载第一个驱动

该文介绍了如何下载并固化正点原子出厂系统到开发板,设置开发板的静态IP,以及通过USB转网口与Ubuntu进行连接。接着,文章详细阐述了如何在开发板上编辑网络配置文件以设置静态IP,并重启网络服务。然后,讲解了移植与开发板相同版本的Linux内核的过程,包括编译内核源码和修改Makefile。最后,文章提到了如何挂载和编译驱动程序,并在开发板上安装和运行这些驱动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.下载出厂系统到开发板

使用Mftool固化正点原子出厂系统到开发板,如果检测不到开发板需要复位一下开发板(固化教程参考正点原子的快速体验手册)

2.设置静态IP,并挂载网络文件系统

这里的Ubuntu,开发板,Windows之间的局域网搭建参考韦东山教程,我这里用的是USB转网口来与开发板进行连接。

开发板设置静态IP。

连接到MobXterm,串口波特率115200

 启动开发板

编辑/etc/network/interfaces文件

vi /etc/network/interfaces
//可以看到如下内容
# Wireless interfaces
iface wlan0 inet dhcp
        wireless_mode managed
        wireless_essid any
        wpa-driver wext
        wpa-conf /etc/wpa_supplicant.conf
​
iface atml0 inet dhcp
​
# Wired or wireless interfaces
auto eth0
iface eth0 inet dhcp
iface eth0 inet static
​
iface eth1 inet dhcp
​
# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
        address 192.168.7.2
        netmask 255.255.255.0
        network 192.168.7.0
        gateway 192.168.7.1
 

接着注释掉eth0

在后面添加如下,

iface eth0 inet static  //静态IP
address 192.168.150.8   //开发板IP
netmask 255.255.255.0   //子网掩码

添加完之后文件内容如下

# The loopback interface
auto lo
iface lo inet loopback
​
# Wireless interfaces
iface wlan0 inet dhcp
        wireless_mode managed
        wireless_essid any
        wpa-driver wext
        wpa-conf /etc/wpa_supplicant.conf
​
iface atml0 inet dhcp
​
# Wired or wireless interfaces
auto eth0
#iface eth0 inet dhcp   //注释掉
iface eth0 inet static
address 192.168.150.8   //添加的IP
netmask 255.255.255.0
​
iface eth1 inet dhcp
​
# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
        address 192.168.7.2
        netmask 255.255.255.0
        network 192.168.7.0
        gateway 192.168.7.1
​
 

然后设置开机自启动

vi /etc/init.d/rc

在文件最后添加如下内容

上面是你的IP,下面是网关,根据自己的实际IP添加

ifconfig eth0 192.168.150.8 netmask 255.255.255.0
route add default gw 192.168.150.1

重启网卡

/etc/init.d/networking restart

可以ping一下Ubuntu服务器检验

挂载网络文件系统

这里默认Ubuntu nfs服务已经开启,并且创建有共享文件夹nfs(如果没创建的话可以自搜教程创建)

正点原子教程里边设置的开机自动启动并挂载,而且要在ubuntu创建根文件系统,这里的话不需要,只需要一个nfs的共享文件夹即可

使用mount命令挂载将ubuntu的nfs文件夹挂载到开发板根目录的mnt目录下(出厂系统烧录的文件系统中有mnt目录,没有的话自行创建),使用mount命令前建议ping一个服务器进行网络检验。

mount -t nfs -o nolock,vers=4 192.168.150.16:/home/lxy/linux/nfs /mnt

挂载好之后进入mnt目录就能到到共享文件夹中的文件了。命令:cd /mnt

3.移植与开发板相同版本的Linux内核

将内核源码拷贝到ubuntu系统,正点原子的在 例程源码->正点原子Uboot和Linux出厂源码,

解压之后使用自带build.sh脚本进行编译,编译完成之后要修改顶层Makefile,不然后续会出问题,笔者在第二遍做的时候忘记了,这里碰到许多问题。

ARCH		?= arm
CROSS_COMPILE ?= arm-linux-gnueabihf-


 

之后从 例程源码->驱动例程中拷贝例程源码到Ubuntu,修改Makefilede上的内核路径,这里以源码中第一个驱动为例

KERNELDIR := /home/lxy/linux/board/kernel   //将这里改为刚才移植过来并编译好的内核源码路径
CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o
​
build: kernel_modules
​
kernel_modules:
    $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
    $(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

进入驱动文件夹下,使用make -j32命令重新编译驱动,会生成.ko文件,使用交叉编译器编译应用程序chrdevbaseApp.c文件,

arm-linux-gnueabihf-gcc chrdevbaseApp.c -o chrdevbaseApp

将生成的驱动.ko文件和应用的可执行文件也拷贝到nfs文件夹。

4.挂载驱动

在开发板中进入mnt目录,找到存放.ko文件的文件夹(这里文件系统中的文件夹自己随意建立,我这里创建的nfs/rootfs/imx6ulll_project),

使用命令

dmesg -c //清除显示的缓冲区
insmod chrdevbase.ko //挂载驱动
lsmod //查看模块

此外还要手动创建设备节点

mknod /dev/chrdevbase c 200 0

成功后会在/dev生成chrdevbase文件,可以进入/dev目录下查看

然后运行可执行的App文件即可

./chrdevbaseApp /dev/chrdevbase 1

注意命令行参数

结果如下

### 设置 IMX6ULL 平台上的虚拟机静态 IP 地址 #### 配置 Windows 主机网络环境 为了确保主机与虚拟机之间的通信顺畅,在Windows上需先配置好有线网卡[^1]。 #### 添加配置虚拟机第二个网卡 当虚拟机已经拥有一个 NAT 网络适配器的情况下,可以为其增加一个新的桥接模式网卡来实现更直接的局域网接入。这一步骤允许虚拟机能像普通电脑一样连接到实际物理网络中去。 #### 设定虚拟机内部静态 IP 参数 进入虚拟机操作系统内,编辑 `/etc/network/interfaces` 文件(对于基于Debian/Ubuntu系统的Linux发行版),添加如下内容: ```bash auto eth0 iface eth0 inet static address 192.168.x.y # 替换成想要分配给虚拟机的具体IP地址 netmask 255.255.255.0 # 子网掩码通常保持不变 gateway 192.168.x.z # 默认网关通常是路由器的IP地址 ``` 保存文件后重网络服务使更改生效: ```bash sudo systemctl restart networking.service ``` 或者使用命令 `ifdown eth0 && ifup eth0` 来重新动特定接口而不必完全重起整个机器。 #### 测试连通性 完成上述操作之后,可以通过 ping 命令测试新设定好的静态 IP 是否能够正常工作。如果一切顺利的话应该可以看到类似这样的反馈:“host 169.254.205.20 is alive”,当然这里的具体数值会依据实际情况有所不同[^2]。 #### 开发板设置匹配的静态 IP (可选) 假如还需要让IMX6ULL开发板也处于相同的子网下以便于相互访问,则同样要按照相同的方法调整其自身的网络参数至相匹配的状态[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值