0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

平常心0 来源:平常心0 作者:平常心0 2022-05-31 16:18 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

平台:迅为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 灯也变亮了, 如下图所示:



审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11814

    浏览量

    219527
  • 开发板
    +关注

    关注

    26

    文章

    6413

    浏览量

    120700
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux设备到底是啥?一张图看懂硬件适配的「翻译官」

    你有没有想过:同一份 Linux 内核镜像,为啥能在不同型号的开发板上跑起来?比如一块 ARM 架构的开发板,今天换个显示屏、明天加个传感器,内核不用重新编译就能识别新硬件 —— 这背后,设备
    的头像 发表于 02-09 17:01 1277次阅读
    <b class='flag-5'>Linux</b><b class='flag-5'>设备</b><b class='flag-5'>树</b>到底是啥?一张图看懂硬件适配的「翻译官」

    深入了解 S32K312EVB-Q172 开发板:硬件特性与使用指南

    这样一款值得关注的产品。今天,我们就来深入了解一下这款开发板的各项特性、配置以及使用方法。 文件下载: NXP Semiconductors S32K312EVB-Q172评估.pd
    的头像 发表于 12-25 09:30 384次阅读

    FRDM - IMX93开发板深度解析:从硬件到应用的全方位指南

    FRDM - IMX93开发板深度解析:从硬件到应用的全方位指南 引言 在嵌入式开发领域,一款性能出色且成本合理的开发板对于开发者来说至关重
    的头像 发表于 12-24 11:40 2061次阅读

    探索FRDM - IMX8MPLUS开发板:开启嵌入式开发新旅程

    探索FRDM - IMX8MPLUS开发板:开启嵌入式开发新旅程 作为电子工程师,我们总是在寻找性能卓越、功能丰富且易于上手的开发板,以满足不同项目的需求。NXP的FRDM -
    的头像 发表于 12-24 11:00 510次阅读

    触觉智能RK3506开发板配置USB复合设备(下)

    本文基于触觉智能RK3506开发板,为大家介绍配置USB复合设备,本章节将介绍UMS和ACM复合设备数据交互。UMSUMS是USB协议体系中定义大容量存储
    的头像 发表于 12-22 12:13 632次阅读
    触觉智能RK3506<b class='flag-5'>开发板</b><b class='flag-5'>配置</b>USB复合<b class='flag-5'>设备</b>(下)

    RK3588核心/开发板RT-Linux系统实时性及硬件中断延迟测试

    本文介绍瑞芯微RK3588芯片平台RT-Linux系统实时性及硬件中断延迟测试,基于触觉智能RK3588核心/开发板演示。Linux-RT
    的头像 发表于 11-28 18:57 977次阅读
    RK3588核心<b class='flag-5'>板</b>/<b class='flag-5'>开发板</b>RT-<b class='flag-5'>Linux</b>系统实时性及硬件中断延迟<b class='flag-5'>测试</b>

    迅为iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验

    迅为iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验
    的头像 发表于 11-24 15:29 943次阅读
    迅为iTOP-3568<b class='flag-5'>开发板</b> <b class='flag-5'>Linux</b>驱动<b class='flag-5'>开发</b>实战:menuconfig图形化<b class='flag-5'>配置</b>实验

    CIE全国RISC-V创新应用大赛 呼吸机人机交互系统

    、错误,与呼吸机主控单元的通信成功率达 100%;​ 显示界面无花屏、闪烁,满足应用需求。​ (三)性能对比测试​ ​ 性能指标​ imx6Q 开发板​ MUSE Pi Pro 开发板
    发表于 11-12 15:07

    RK3576核心/开发板RT-Linux系统实时性及硬件中断延迟测试

    本文介绍瑞芯微RK3576芯片平台RT-Linux系统实时性及硬件中断延迟测试,基于触觉智能RK3576开发板PurplePiOH2演示。Linux-RT实时性
    的头像 发表于 09-30 16:52 2178次阅读
    RK3576核心<b class='flag-5'>板</b>/<b class='flag-5'>开发板</b>RT-<b class='flag-5'>Linux</b>系统实时性及硬件中断延迟<b class='flag-5'>测试</b>

    如何移植rt-thread到野火imx6ull开发板上?

    求助如何将rt-thread移植到野火imx6ull(coretex-A7)开发板上,官方的bsp中没有imx6ull
    发表于 09-29 06:25

    如何移植EtherCAT Igh--基于米尔RK3576开发板

    本文将介绍基于米尔电子MYD-LR3576开发板(米尔基于瑞芯微RK3576开发板)的端移植EtherCATIgh方案的开发测试。摘自优秀
    的头像 发表于 09-26 08:04 1w次阅读
    如何移植EtherCAT Igh--基于米尔RK3576<b class='flag-5'>开发板</b>

    RK3506开发板Linux开发板极致性价比之选

    RK3506开发板Linux开发板极致性价比之选瑞芯微RK3506开发板,3核Cortex-A7@1.5GHz+Cortex-M0,Linux
    的头像 发表于 09-11 16:26 3862次阅读
    RK3506<b class='flag-5'>开发板</b><b class='flag-5'>Linux</b><b class='flag-5'>开发板</b>极致性价比之选

    【米尔NXP i.MX 91开发板评测】移植和运行RT-Linux,实时性能测试

    介绍 实时性系统应用广泛,在工业自动化、医疗设备、汽车电子等领域扮演着十分重要的角色,我们用i.MX91开发板来移植运行RT-Linux,看看它的实时性能表现如何 实时补丁 下载并应用RT补丁
    发表于 09-01 10:11

    NXP i.MX 91开发板#支持快速创建基于Linux®的边缘器件

    NXP Semiconductors FRDM i.MX 91开发板设计用于评估i.MX 91应用处理器,支持快速创建基于Linux ^®^ 的边缘器件。该开发板还设计用于入门级Linux
    的头像 发表于 05-19 10:55 3380次阅读
    NXP i.MX 91<b class='flag-5'>开发板</b>#支持快速创建基于<b class='flag-5'>Linux</b>®的边缘器件

    Linux文件系统打包及镜像制作,触觉智能RK3562开发板演示

    本文介绍Linux开发板文件系统打包及镜像制作的方法,演示Linux文件系统打包及镜像制作,适用于想将配置好的系统环境打包成镜像批量烧录。触觉智能RK3562
    的头像 发表于 04-28 16:45 1157次阅读
    <b class='flag-5'>Linux</b>文件系统打包及镜像制作,触觉智能RK3562<b class='flag-5'>开发板</b>演示