IMX6Q开发板非设备树 Linux -Lora 配置及测试

平台:迅为imx6q开发板
配件:lora模块
系统:linux系统
lora 内核配置
本小节我们将在非设备树源码中进行 lora 内核配置。 android4.4 源码是非设备树内核的源码, linux 和android 共用一套源码, 所以我们使用 android4.4 源码即可。
1 打开 android4.4 内核源码, 我们使用以下命令编辑 board-mx6q_topeet.c 文件。
cd kernel_imx/vi arch/arm/mach-mx6/board-mx6q_topeet.c
查找“522” , 在后面添加代码:
#ifdef config_spi_sx127x
static struct spi_board_info sx127x_plat_board[] __initdata = {
[0] = {
.modalias = sx127x,
.max_speed_hz = 100*1000
.bus_num = 1,
.chip_select = 0,
.mode = 0,
//.controller_data = &spi2_info,
},
};
#endif
修改完如下图所示:
2 然后继续查找“522” , 后面添加如下代码
#if defined(config_spi_sx127x)
spi_register_board_info(sx127x_plat_board,
array_size(sx127x_plat_board));
#endif
3 查找“topeet_ecspi2_cs0” 并将其值修改为 null, 如下图所示。
保存后退出。
4 将驱动文件 sx127x.c 通过 ssh 传到内核目录下的“drivers/spi/” 下, 如下图所示。
5 使用命令“vi makefile” , 在最后添加如下代码
obj-$(config_spi_sx127x) += sx127x.o
如下图所示, 修改完保存退出。
6 使用命令“vi kconfig” , 在最后添加代码:
config spi_sx127x
tristate sx127x module driver support
depends on experimental
help
this supports sx127x module drivers.
#end add
修改完如下图所示。
保存退出。
7 回到源码目录。 使用以下命令配置内核
cp -r config_for_itopimx6_linux .config
export arch=arm
make menuconfig
8 在 menuconfig 的配置界面, 配置 lora,取消配置 rc522
-> device drivers
-> spi support (spi [=y])
选择“sx127x module driver support” , 取消选择“rc522 module driver support” 。 如下图所示。
9 保存退出后, 回到内核源码目录下, 使用以下命令
cp -r .config config_for_itopimx6_linux
./build_android.sh qt
编译内核, 烧写“uimage” 内核镜像。
编译完以后, 重新烧写内核镜像到开发板。
应用程序编写
在测试例程中, 我们要用俩个开发板通过 lora 通信控制对方开发板上的 led 的亮灭。 我们将配置资料中的测试程序 lorares.c 拷贝 ubuntu 上, 输入以下的命令编译可执行文件
arm-none-linux-gnueabi-gcc -o lorares lorares.c -static
编译完生成可执行程序 lorares, 将 lorares 通过 u 盘拷贝到开发板的/usr/bin 目录下, 在下一小节我们将进行测试。
测试 lora
1 在测试之前我们要连接好硬件, 我们将 lora 模块连接开发板 gpio 座子。 连接好硬件, 如下图所示:
2 在上一小节, 我们编译好了可执行程序 lorares, 我们将 lorares 分别拷贝到俩个开发板的/usr/bin 目录下。
3 俩个开发板分别连接串口终端, 如下图所示:
4 在左边的串口终端输入以下命令接收, 第一个参数 0 代表接收模式
cd /usr/bin/lorares 0
5 在右边的串口终端输入以下命令发送, 第一个参数 1 代表发送模式, 第二个参数代表 led 的状态,为 1 代表 led 灯亮, 为 0 代表 led 灯灭
cd /usr/bin/lorares 1 1
6 在俩个开发板的串口终端分别运行命令, 如下图所示:
接收端的开发板的 led 灯也变亮了, 如下图所示:

LTC2924一款简单且紧凑的电源排序解决方案
在逆变器中驱动和保护IGBT
华润微电子获上市批准 预计市值不低于人民币50亿元
看看华为在海外推80美元廉价智能手机长什么样
贸泽电子技术创新周|智能网联汽车周火热开启,探索汽车革新的无限可能!
IMX6Q开发板非设备树 Linux -Lora 配置及测试
DataVisor智能甄别大规模互联网欺诈行为,荣获“AI最佳未来成长奖”
企业移动办公小助手——华为云桌面
耳机放大器电路图分享
智能门铃外壳气密性检测仪器原理-希立仪器气密性检测设备
联通数科云网为基,数智引领,助力客户数字化转型
在京东购买Mate 40 RS保时捷设计版的用户可专享京尊达定制化服务
3G迈入深度竞争 资金考验弱势运营商
电子行业中英文对照(G字为首)
开启技术新时代,英特尔Stratix 10收发器亮点介绍
LG G6正式发布,骁龙821成为吐槽点!
输电线路防山火监测装置:保障电力系统安全的“千里眼”
电子芯闻早报:高通又乐了,三星也笑了
雨量计三种常见的误差有哪几种
VR-EM系统的构成与运作流程/主要功能