工作目录如上
配置编译源码时编译工具的环境变量,有2种方法:
1.直接修改内核源码的Makefile,修改ARCH和CROSS_COMPILE
ARCH ?= arm64
CROSS_COMPILE ?= /root/db410c/gcc-linaro-4.8-2015.06-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

2.Makefile里写默认是环境变量,所以可以每次ssh登录到终端后,export环境变量,当然,想写死在环境变量的配置文件里也是可以的
export ARCH=arm64
export CROSS_COMPILE=/root/db410c/gcc-linaro-4.8-2015.06-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
至此,开发环境准备完成
开发

看了博主说那么多应该也能感觉到,博主是好折腾的那种人,软件、硬件、服务器、服务端、运维全都接触,所以上来就先在自己的Git上创建了该试用项目的组织,并邀请好友一起帮忙开发(PS.一个人时间太紧了,总加班,ಥ_ಥ)~

花了两天晚上的业余时间,参考了一款天气预报的APP,画出了原型图
内网穿透
使用FRP,穿透的方案是:公网Nginx(域名解析)->公网FRP服务端->龙板FRP客户端->龙板Nginx(域名解析)。
创建工作路径mkdir -p /etc/frp
分别把frpc frpc.ini放到工作路径下

安装supervisor做FRP的守护进程
sudo apt-get install supervisor
编写服务的conf
sudo vim /etc/supervisor/conf.d/frpc.conf
启动supervisor
supervisord -c /etc/supervisor/supervisord.conf

接下来是恼人的驱动开发了,网上Google搜索DragonBoard410C GPIO的关键词,搜出来的全是如下
1. 导出
/sys/class/gpio# echo 44 > export
2. 设置方向
/sys/class/gpio/gpio44# echo out > direction
3. 查看方向
/sys/class/gpio/gpio44# cat direction
4. 设置输出
/sys/class/gpio/gpio44# echo 1 > value
5. 查看输出值
/sys/class/gpio/gpio44# cat value
6. 取消导出
/sys/class/gpio# echo 44 > unexport
但是后来发现驱动里一般不用这个方法,于是静下心来开始查阅学习了Linux ARM板的驱动开发流程。
DHT11
先改写设备树增加设备描述,之后编译内核、设备树,并与initrd一起生成boot.img引导镜像。

添加设备树在跟节点上
之后配置编译
make defconfig distro.config
make -j4 Image.gz dtbs KERNELRELEASE=4.9.56-linaro-lt-qcom
把编译好的设备树生成镜像
./skales/dtbTool -o image/dt.img -s 2048 kernel-debian-qcom-dragonboard410c-17.09/arch/arm64/boot/dts/qcom/
把内核镜像和设备树镜像和初始化磁盘镜像,打包生成boot镜像
./skales/mkbootimg –kernel kernel-debian-qcom-dragonboard410c-17.09/arch/arm64/boot/Image –ramdisk image/initrd.img-4.9.56-linaro-lt-qcom –output image/boot-db410c.img –dt image/dt.img –pagesize 2048 –base 0x80000000 –cmdline “root=/dev/disk/by-partlabel/rootfs rw rootwait console=ttyMSM0,115200n8”
之后龙板开启到fastboot模式,刷入boot镜像,系统镜像不需要重刷。
刷好后重启进入系统,这里的感受就是,龙板每次重启速度真的很快。重启后进入/sys/devices/platform/路径下,如果有dht11路径,则说明设备树添加成功,进入DHT11路径后发现没有iio设备,这是因为我们还没有挂载驱动的原因。
这里使用github搜到的dht11.c驱动为蓝本,更改驱动的匹配标识跟设备树的一致,调整gpio获取方式,调整数据原始数据的读取。
(未完待续,喜欢朋友在下面留个言吧)
原文来源:
https://zasper.me/2017/12/08/dragonboard410c%E8%AF%95%E7%94%A8-%E7%8E%AF%E5%A2%83%E7%9B%91%E6%B5%8B%E5%99%A8/