利用TI的官网Sysconfig配置beagleboard-x15 linux系统中的串口

news/2024/11/25 7:50:46/

1、获取linux内核

git clone https://github.com/beagleboard/linux.git

2、编译linux内核

2.1、清理工程

make distclean

2.2、配置内核

 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- omap2plus_defconfig

2.3、编译内核

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j2

2.4、将内核镜像复制到根文件系统

将内核目录arch/arm/boot目录中的zImage重命名为vmlinuz-5.18-rc4(名称和使用的内核版本有关),
然后再将其拷贝到根文件系统的/boot目录中,并修改/boot/uEnv.txt文件,将uname_r=5.18-rc4;

3、使用TI提供的Sysconfig云端开发工具,配置串口管脚复用

3.1、地址:https://dev.ti.com/sysconfig

3.2、选择设备 AM5728_SR1.1_beta或AM5728_SR2.0,点击START;

在这里插入图片描述

3.3、Sysconfig配置步骤

选择UART外设,然后再现在需要使用的串口,本例中使选择了4个串口,具体如下图;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、修改设备树

4.1 根据Sysconfig生成的配置文件来对设备树进行修改

	在Sysconfig界面的右边会生成几个文件,我们选中genericFileFormatPadConf.txt,里面的内容是后面修改设备树的依据,如下图:

在这里插入图片描述
在这里插入图片描述

4.2、修改设备树文件

在am57xx-beagle-x15-revc.dts文件中追加如下内容:
&uart2{status = "okay";
};
&uart8{status = "okay";
};
&uart9{status = "okay";
};
&uart10{status = "okay";
};&dra7_pmx_core {uart2_pins_default: uart2_pins_default {pinctrl-single,pins = <DRA7XX_CORE_IOPAD(0x37F0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_rxd */DRA7XX_CORE_IOPAD(0x37F4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart2_txd */>;};uart8_pins_default: uart8_pins_default {pinctrl-single,pins = <DRA7XX_CORE_IOPAD(0x37D0, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart8_rxd */DRA7XX_CORE_IOPAD(0x37D4, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart8_txd */>;};uart9_pins_default: uart9_pins_default {pinctrl-single,pins = <DRA7XX_CORE_IOPAD(0x3744, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart9_rxd */DRA7XX_CORE_IOPAD(0x3748, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart9_txd */>;};uart10_pins_default: uart10_pins_default {pinctrl-single,pins = <DRA7XX_CORE_IOPAD(0x3688, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart10_rxd */DRA7XX_CORE_IOPAD(0x368C, PIN_INPUT_PULLUP | MODE_SELECT | MUX_MODE3) /* uart10_txd */>;};};

4.3、重新编译设备树

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs

4.4、拷贝设备树并重启系统

编译完成后将am57xx-beagle-x15-revc.dtb拷贝到开发板的/boot/dts/5.18-rc4目录中,
需要手动创建5.18-rc4目录,然后重启开发板,重启完成后输入命令`dmesg | grep tty`,
出现如下信息输则配置成功,其中ttyS2为调试串口,其余四个串口为我们新增的串口,
后面就可以使用linux串口编程来进行串口通信啦。

在这里插入图片描述


http://www.ppmy.cn/news/337459.html

相关文章

目标检测YOLO实战应用案例100讲-基于小样本的目标检测与跟踪模型研究

目录 基于小样本目标检测方法的研究 (1)基于数据增强的方法 (2)基于度量学习的方法

AI之PTM:预训练模型技术总结与进展(更新中)

AI之PTM&#xff1a;预训练模型技术总结与进展(更新中) 目录 预训练模型技术 1.系统研究超大规模智能模型发展和影响的新兴领域已经形成 (1)、OpenAI 提出 PALMS 数据集构建和模型微调方法 (2)、Percy Liang、李飞飞等学者提出基础模型概念 (3)、DeepMind 发表语言模型社会…

前端vue入门(纯代码)06

【04.mixin混入】 功能&#xff1a;可以把多个组件共用的配置提取成一个混入对象 使用方式&#xff1a; 第一步&#xff1a;定义混合并暴露。 export const mixin {data(){....},methods:{....}.... }第二步&#xff1a;导入mixin.js【混入】文件&#xff0c;并使用混入。 全局…

P1115 最大子段和

P1115 最大子段和 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目描述 给出一个长度为 n 的序列 a&#xff0c;选出其中连续且非空的一段使得这段和最大。 输入格式 第一行是一个整数&#xff0c;表示序列的长度 n。 第二行有 n 个整数&#xff0c;第 i 个整数表示序…

电脑无法启动,风扇不转,电源灯一直闪烁

处理&#xff1a;先把电源线掉&#xff0c;然后摁着开机键不松手&#xff0c;直接插电源线 或; 把主板的纽扣电池取下反转&#xff0c;过几分钟重新正装

笔记本window10系统黑屏风扇不转简单分析解决办法:

&#xfeff;&#xfeff; 导致黑屏的原因&#xff1a; 一、供电芯片损虚焊或者老化&#xff0c;屏线松动或者主板给屏幕供电电路短路; 二、内存问题&#xff0c;内存松动或者本身有问题&#xff0c;重插一下或者换个内存试试; 三、BGA(显卡。南北桥)封装芯片虚焊损坏导致的&am…

电脑黑屏无信号,接着主机风扇嗡嗡转不停,解决方案

电脑用着用着忽然有问题&#xff0c;黑屏&#xff0c;接着主机风扇噪声很大&#xff0c;不停的转 只能强制关机&#xff0c;再开机&#xff0c;好不了多久又会有这种问题 终于有一天发现&#xff0c;连续两次黑屏的原因都是因为脚不小心碰到了主机&#xff0c;直接黑屏 百度了很…

Java 常见队列的使用与缓冲实现

常见队列介绍与缓冲实现 一 常见队列二 常见队列的方法1.ArrayBlockingQueue2.LinkedBlockingQueue3.LinkedBlockingDeque4.ConcurrentLinkedQueue5.SynchronousQueue6.LinkedTransferQueue1.定义缓冲队列类2.定义数据对象3.测试代码 一 常见队列 队列说明ArrayBlockingQueue有…