zynq7010平台使用air724ug上网

一、说明

本文旨在zynq7010平台配置rndis,使用usb接air724ug上网,并ping通www.baidu.com

二、硬件材料

1、zynq7010开发板(可以不买下载器,本例在linux平台运行不使用,若进行FPGA和arm调试,可购)
	tb链接:https://item.taobao.com/item.htm?spm=a230r.1.14.25.7a6b53fb8z7FPk&id=660720940617&ns=1&abbucket=10#detail
2、air724ug模块(YED604(DTU固件)+360M年SIM卡+套餐C)
	tb链接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.696b2e8dlFV2co&id=621549212058&_u=q2n6g0pa3a8b
3、tf卡16gb和读卡器
	tb链接:https://detail.tmall.com/item.htm?id=665214575469&spm=a1z09.2.0.0.696b2e8dlFV2co&_u=q2n6g0pa59bf&sku_properties=5919063:6536025

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

三、基础配置

1、SD卡分区,存放启动文件和根文件系统

新买的SD卡,插入读卡器,插入电脑USB端口,在Ubuntu上执行 ls /dev/sd*,输出/dev/sda /dev/sda1 /dev/sdb,sda是我们虚拟机的硬件,sdb是SD卡。sda有一个分区,而sdb没有分区。
PS: 也有可能你的SD卡是sdc或者sde等等。若SD卡有分区,且内含资料,先备份一下。

执行umount /dev/sdb*,再执行sudo fdisk /dev/sdb进入fdisk控制界面,输入p查看当前分区情况。如果有分区就输入d来删除分区,然后回车,根据提示把所有分区删除(如果有的话)。

输入n来新建一个分区,根据提示确定分区类型,输入p设置为主分区,根据提示输入1确定分区号为1,根据提示按回车默认起始地址(我这里显示2048),再输入+100M表示分区1大小为100M。输入t选择分区格式,输入c把它设置为FAT32格式,输入a把分区1设为引导分区,第一个分区OK。
在这里插入图片描述

输入n再建一个分区,根据提示,一直按回车就会自动建立分区2,我这里显示大小是14.8GiB,第二个分区OK
在这里插入图片描述

输入p可以看到刚刚建立的两个分区,没问题的话,输入w完成SD卡配置
在这里插入图片描述
最后格式化分区,先ls /dev/sdb*可以看到有sdb、sdb1、sdb2
执行sudo mkfs.vfat -F 32 -n boot /dev/sdb1sudo mkfs.ext4 -L rootfs /dev/sdb2
在这里插入图片描述

2、编译文件并到SD卡

对于没有安装petalinux的朋友,不用编译,直接下载文件,最好在linux下解压,boot里的文件copy到SD卡的boot文件夹,rootfs同理

链接:https://pan.baidu.com/s/1aJuW8BRNfLvwmJC49cP0Ig?pwd=04vd 
提取码:04vd

在这里插入图片描述

安装petalinux且有USB驱动(一般默认有)的,进入当前工程目录(必须要有工程)输入make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig进入linux配置界面,进行模块勾选

`Device Drivers -->
      [*]USB support -->
           <*>USB Gadget Support -->
                    <M>USB Gadget Drivers
                     ....................................
                    <M>Ethernet Gadget (with CDC Ethernet support)
                     [*] RNDIS support
                     ...................................
                    <M>CDC Composite Device (Ethernet and ACM)

下一步make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- xilinx_zynq_defconfig在输出文件得到几个g_ether.ko、rndis.ko(还未截图,稍后更新)
把几个ko文件放到U盘里,插入开发板,进入目录,输入depmodsudo modprobe rndis.ko,安装驱动文件完毕,进入下一步

四、修改QSPI flash并启动

开发板拨码开关调到SD卡启动后,typec连到电脑,波特率115200,uboot倒计时,在倒计时结束前按回车,如果倒计时结束已经开始linux内核并运行,那就重启后再按回车进入uboot环节,依次输入

env default -a
setenv bitstream_load_address 0x100000
setenv bitstream_image system.bit
setenv bitstream_size 0x300000
setenv kernel_img zImage
setenv dtbnetstart 0x2000000
setenv netstart 0x2080000
setenv default_bootcmd ‘if mmcinfo; then run uenvboot; echo Copying Linux from SD to RAM… &&
load mmc 0 ${bitstream_load_address} ${bitstream_image} &&
fpga loadb 0 ${bitstream_load_address} ${bitstream_size} &&
run cp_kernel2ram && run cp_dtb2ram && bootz ${netstart} - ${dtbnetstart}; fi’
saveenv

最后输入boot启动linux

五、安装驱动、接入硬件

进入/lib/modules/4.14.0-xilinx/rndis,输入depmodmodprobe rndis_host.ko来安装rndis驱动

先给air724插上SIM网卡,5V和GND单独供电,此时air724的电源led会亮,再把usb插到开发板的USB-A接口,开发板会打印类似rndis_host 1-1:1.0 eth1这样的信息,同样输入dmesg可以发现rndis设备,再输入udhcpc -i eh1使能eth1,输入ifconfig发现多了一个eth1网卡,由于我的eth0没有连RJ45网线,所以本来不能上网,现在有了eth1,试试ping www.baidu.com
在这里插入图片描述
本文结束,中间USB-rndis一节待更新

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值