0
点赞
收藏
分享

微信扫一扫

Linux驱动开发环境搭建--Apple的学习笔记

一,前言

最近准备学习一轮驱动开发,所以把bb black开发板翻出来检查下是否还正常,也需要重新搭建下环境。

二,实践

A. 板子跑起来

下载镜像 方法A:在官网http://beagleboard.org/latest-images中下载sd卡的4GB镜像,用etcher来烧录镜像到sd卡中。 不需要解压,直接加载am335x-debian-11.7-iot-armhf-2023-09-02-4gb.img.xz即可,导入后它自己会解压,可以看到400M变成了3.77G。烧录时间约15分钟。 所以SD卡需要大于4G空间。截图如下

Linux驱动开发环境搭建--Apple的学习笔记_bb black

  1. 硬件板子+USB线供电+USB转串口 关于USB线的PIN脚为,J1--白色(GND),J4--绿色(RX),J5--红色(TX)。
  2. 使用串口工具MobaXterm 设置波特率115200,数据位为8,停止位为1,然后选择识别到的串口即可。
  3. 串口连接后就可以登录了,用户名和密码为debian:temppwd。当然直接输入root也可以,就免密了。登录成功如下图,我用了root

Linux驱动开发环境搭建--Apple的学习笔记_bb black_02

B. 通过SSH来连接Linux进行文件交换

  1. USB供电线连接后,其实就自动在安装USB虚拟网卡驱动了。在网络连接中应该可以看到一个RNDIS虚拟的网络连接设备。 a. 若无法看到,应该是驱动安装不正确,选择H:\Drivers\Windows\src来进行手工安装。 b. 若依然无法安装提示数字签名相关,则说明启动默认驱动都要数字签名。开始->设置->更新和安全,选择恢复,然后点击立即重新启动,选择疑难解答->高级->启动设置。然后选择F7(禁止强制驱动数字签名),然后PC会自动重启,重新按上一步手工安装下驱动即可。 安装成功后如下图

Linux驱动开发环境搭建--Apple的学习笔记_linux开发板环境搭建_03

  1. 默认的IP地址是192.168.2.7,所以RNDIS的ip地址为同一网段,就设置为192.168.7.1吧,双向ping都可以ping通。
  2. 设置开发板RNDIS能直接上网,开启共享。若RNDIS的IP地址被自动修改,重新设置为192.168.7.1即可

Linux驱动开发环境搭建--Apple的学习笔记_bb black_04

  1. 此时已经可以用ssh网络协议来连接PC和开发板了。设置ssh连接,ip地址为192.168.7.2用户为root即可

Linux驱动开发环境搭建--Apple的学习笔记_bb black_05

  1. 为了能上外网解析DNS地址,需要添加gateway(可选) 命令为: default gw 192.168.7.1 /etc/resolv.conf中添加2个nameserver,添加完成后如下

root@beaglebone:~# vim /etc/resolv.conf
root@beaglebone:~# cat /etc/resolv.conf
nameserver 127.0.0.1
nameserver 8.8.8.8
nameserver 114.114.114.114

C. ubuntu编译环境搭建

  1. 暂时仅需要一个交叉编译环境。将之前使用过的教程编译环境copy后解压,结果准备看版本的时候,动态库不正确,这原因是本次ubuntu14.04.6是64bit的,所以缺少32bit的动态库。

root@ubuntu:/work/tools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin# ./arm-linux-gnueabihf-gcc-4.9.1 -v
./arm-linux-gnueabihf-gcc-4.9.1: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory

后来查了下不能装这个了,这是PC端32bit专用的。 需要装PC端64bit的gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,下载路径如下(x86_64说明是ubuntu64 bit用的),网址链接为Linaro Releases

2. 下载linux源码作为头文件用,所以使用相同的img对应的源码5.10。

3. 先编译一个简单的printf的app放入开发板,能正常输出,判断为环境搭建成功。

三,小结

以前win10上由于RNDIS没安装成功,所以用了曲线救国的方法,开发板通过ssh连接一台ubuntu的PC,然后win10的PC再同台vnc来远程访问ubuntu的PC,而且也没开通开发板联网功能,算单机版本,本次的环境方便多了。只是vscode无法通过ssh直接连接到开发板,这个有点奇怪,不过暂时用不到。

举报

相关推荐

0 条评论