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
    +关注

    关注

    87

    文章

    11191

    浏览量

    208627
  • 开发板
    +关注

    关注

    25

    文章

    4874

    浏览量

    96971
收藏 人收藏

    评论

    相关推荐

    【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章设备Android4.4系统编译

    【北京迅为】iTOP-i.MX6开发板使用手册第四部分固件编译第十四章设备Android4.4系统编译
    的头像 发表于 09-12 15:43 335次阅读
    【北京迅为】iTOP-i.MX<b class='flag-5'>6</b><b class='flag-5'>开发板</b>使用手册第四部分固件编译第十四章<b class='flag-5'>非</b><b class='flag-5'>设备</b><b class='flag-5'>树</b>Android4.4系统编译

    嵌入式linux开发板怎么操作

    开发板概述 嵌入式Linux开发板是一种专门为嵌入式系统开发而设计的硬件平台。它具有体积小、功耗低、性能高等特点,广泛应用于工业控制、智能家居、医疗
    的头像 发表于 09-02 09:09 285次阅读

    嵌入式linux开发板芯片的工作原理

    嵌入式Linux开发板是一种基于Linux操作系统的嵌入式系统开发平台,它广泛应用于工业控制、智能家居、智能交通、医疗设备等领域。 嵌入式
    的头像 发表于 09-02 09:07 288次阅读

    linux开发板与树莓派的区别

    操作系统的微型计算机,主要用于教育、编程、媒体播放等领域。 硬件配置 Linux开发板Linux开发板的硬件
    的头像 发表于 08-30 15:34 568次阅读

    linux开发板如何编译curl

    Linux开发板上编译 curl 库通常涉及到几个步骤,包括准备开发环境、下载源代码、配置编译选项以及执行编译和安装过程。以下是一个基本的指南,帮助你在
    的头像 发表于 08-30 15:33 402次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别。Linux开发板通常基于ARM、x86或其他处理器架构,具有较高的处理能力和
    的头像 发表于 08-30 15:30 528次阅读

    如何配置Linux操作系统设备让我的开发板可以将板子上的GPIO接口用作 I2S输出??

    ALSA),我打算使用最新的Debian 11操作系统。 想问一下如何在 Linux 设备中进行调整来配置和使用所需的GPIO引脚作为 I2S。
    发表于 08-13 17:10

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-在NXP源码基础上适配ELF 1开发板的按键功能

    本次源码适配工作是在NXP i.MX6ULL EVK评估Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚
    发表于 07-04 09:11

    飞凌嵌入式ElfBoard ELF 1板卡-在NXP源码基础上适配ELF 1开发板的按键功能

    本次源码适配工作是在NXP i.MX6ULL EVK评估Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚
    发表于 07-03 09:07

    LoRa-Kit 开发板使用介绍

    LoRa-Kit是安信可科技针对LoRa模组而设计的一款开发板,上面搭载了STM32F103C8T6 芯片和TB-05模组,预留了LoRa
    的头像 发表于 05-21 10:23 456次阅读
    <b class='flag-5'>LoRa</b>-Kit <b class='flag-5'>开发板</b>使用介绍

    LoRa-Kit开发板怎么使用? 安信可图文详解LoRa-Kit开发板使用步骤

    LoRa-Kit是安信可科技针对LoRa模组而设计的一款开发板,上面 搭载了STM32F103C8T6 芯片和TB-05模组 ,预留了LoRa
    发表于 05-11 11:50 597次阅读
    <b class='flag-5'>LoRa</b>-Kit<b class='flag-5'>开发板</b>怎么使用? 安信可图文详解<b class='flag-5'>LoRa</b>-Kit<b class='flag-5'>开发板</b>使用步骤

    fpga开发板linux开发板区别

    (Field-Programmable Gate Array)是一种可编程逻辑器件,它可以通过编程改变硬件逻辑电路的功能和结构。FPGA采用了可编程的门极,可以根据需要重新配置内部电路,从而实现不同的功能和逻辑关系。而Linux开发板
    的头像 发表于 02-01 17:09 1984次阅读

    DIY个人的Linux开发板教程

    作者简介:大佬已在硬创社开源了近50款开发板,动手能力极强,于去年年底开始接触学习Linux,并由全志V3s、F1C200S等芯片开始上手DIY个人的Linux开发板
    的头像 发表于 01-07 09:52 1834次阅读
    DIY个人的<b class='flag-5'>Linux</b><b class='flag-5'>开发板</b>教程

    ELF 1技术贴|在NXP源码基础上适配ELF 1开发板的LED功能

    本次源码适配工作是在NXPi.MX6ULLEVK评估Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚
    的头像 发表于 12-29 10:04 769次阅读
    ELF 1技术贴|在NXP源码基础上适配ELF 1<b class='flag-5'>开发板</b>的LED功能

    【米尔-TIAM62开发板-接替335x-试用评测】+(三)手把手创建Uboot设备与内核设备实战

    (例如U-Boot和Linux内核)在引导过程中获取和解析这些信息,以便正确地初始化和操作硬件。 (三)本人网名\"还没吃饭\"手把手设备实战(以米尔-TIAM62开发板为例
    发表于 11-28 09:54