am5728 uboot console到uart8

2024-01-25 06:32
文章标签 uboot console am5728 uart8

本文主要是介绍am5728 uboot console到uart8,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

随意的标题一

最近碰到个需求,原来am5728的console是在uart3上面的,然后需要改到uart8,一般来说这个并没有什么难度,但是看了下,有点懵逼,因为麻烦的是uboot串口默认1-6是随意切换的,但是后面7往后就没有那么简单了.于是还是写下来记录一下.捡一些重要的说一下.

主要参照的是ti论坛内的一个回复修改的,但是当前写博客的时候,我已经懒得去找那个链接了…

代码

  1. 修改dtb切换输出串口,并使能串口8
diff --git a/arch/arm/dts/am57xx-beagle-x15-common.dtsi b/arch/arm/dts/am57xx-beagle-x15-common.dtsi
index 49aeecd..6af99c3 100644
--- a/arch/arm/dts/am57xx-beagle-x15-common.dtsi
+++ b/arch/arm/dts/am57xx-beagle-x15-common.dtsi
@@ -24,7 +24,7 @@};chosen {
-		stdout-path = &uart3;
+		stdout-path = &uart8;};memory@0 {
@@ -587,3 +587,7 @@status = "okay";};};
+
+&uart8 {
+	status = "okay";
+};diff --git a/arch/arm/dts/am57xx-idk-common.dtsi b/arch/arm/dts/am57xx-idk-common.dtsi
index fa5a078..561fe30 100644
--- a/arch/arm/dts/am57xx-idk-common.dtsi
+++ b/arch/arm/dts/am57xx-idk-common.dtsi
@@ -15,7 +15,7 @@};chosen {
-		stdout-path = &uart3;
+		stdout-path = &uart8;};vmain: fixedregulator-vmain {
@@ -416,6 +416,9 @@no-1-8-v;/delete-property/ mmc-hs200-1_8v;};
+&uart8 {
+	status = "okay";
+};&dcan1 {status = "okay";

当初没有仔细看是哪个dts文件,所以索性都改了.

  1. 不了解
 	reg-shift = <2>;};-&uart3 {
+&uart8 {u-boot,dm-spl;reg-shift = <2>;};

这里并不是很了解,待我完了之后去看下代码理解一下.

  1. 打开串口时钟
diff --git a/arch/arm/include/asm/omap_common.h b/arch/arm/include/asm/omap_common.h
index 5710136..b96c1bf 100644
--- a/arch/arm/include/asm/omap_common.h
+++ b/arch/arm/include/asm/omap_common.h
@@ -284,6 +284,7 @@ struct prcm_regs {u32 cm_l4per_i2c5_clkctrl;u32 cm_l4per_uart5_clkctrl;u32 cm_l4per_uart6_clkctrl;
+	u32 cm_l4per_uart8_clkctrl;u32 cm_l4sec_clkstctrl;u32 cm_l4sec_staticdep;u32 cm_l4sec_dynamicdep;
diff --git a/arch/arm/mach-omap2/clocks-common.c b/arch/arm/mach-omap2/clocks-common.c
index 93c4c6f..8d68962 100644
--- a/arch/arm/mach-omap2/clocks-common.c
+++ b/arch/arm/mach-omap2/clocks-common.c
@@ -805,7 +805,7 @@ static void setup_clocks_for_console(void)MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN <<MODULE_CLKCTRL_MODULEMODE_SHIFT);-	clrsetbits_le32((*prcm)->cm_l4per_uart3_clkctrl,
+	clrsetbits_le32((*prcm)->cm_l4per_uart8_clkctrl,MODULE_CLKCTRL_MODULEMODE_MASK,MODULE_CLKCTRL_MODULEMODE_SW_EXPLICIT_EN <<MODULE_CLKCTRL_MODULEMODE_SHIFT);
diff --git a/arch/arm/mach-omap2/omap5/prcm-regs.c b/arch/arm/mach-omap2/omap5/prcm-regs.c
index b5f1d70..aff2896 100644
--- a/arch/arm/mach-omap2/omap5/prcm-regs.c
+++ b/arch/arm/mach-omap2/omap5/prcm-regs.c
@@ -970,6 +970,7 @@ struct prcm_regs const dra7xx_prcm = {.cm_l4per_uart3_clkctrl			= 0x4a009850,.cm_l4per_uart4_clkctrl			= 0x4a009858,.cm_l4per_uart5_clkctrl			= 0x4a009870,
+	.cm_l4per_uart8_clkctrl			= 0x4a0098e0,.cm_l4sec_clkstctrl			= 0x4a009880,.cm_l4sec_staticdep			= 0x4a009884,.cm_l4sec_dynamicdep			= 0x4a009888,
  1. 切换cmdline里面传给kernel的参数让kernel也在uart8输出
diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h
index cf5cacd..b59a139 100644
--- a/include/configs/am57xx_evm.h
+++ b/include/configs/am57xx_evm.h
@@ -27,7 +27,7 @@#define CONFIG_ENV_OFFSET_REDUND	(CONFIG_ENV_OFFSET + CONFIG_ENV_SIZE)#define CONFIG_SYS_REDUNDAND_ENVIRONMENT-#define CONSOLEDEV			"ttyO2"
+#define CONSOLEDEV			"ttyO7"#define CONFIG_SYS_NS16550_COM1		UART1_BASE	/* Base EVM has UART0 */#define CONFIG_SYS_NS16550_COM2		UART2_BASE	/* UART2 */#define CONFIG_SYS_NS16550_COM3		UART3_BASE	/* UART3 */
-- 

大概是这么一个节奏.

这篇关于am5728 uboot console到uart8的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/642376

相关文章

centos7 安装rocketmq4.7.0以及RocketMQ-Console-Ng控制台

一、前置工作 1.1安装jdk8 https://blog.csdn.net/pang_ping/article/details/80570011 1.2安装maven https://www.cnblogs.com/116970u/p/11211963.html 1.3安装git https://blog.csdn.net/xwj1992930/article/details/964

笔记整理—uboot番外(6)针对x210的网卡说明

对于x210而言,在三星中与九鼎官方的uboot都默认使用了二号串口。详见CONFIG_SERIALn(n=1~4)。         更改串口后,应先插回原串口,进行iROM打印,内部iNnad校验核失败的信息,之后再插入其串口进行启动。         修改CCONFIG_NETMASK等多个宏可以修改默认的网络环境。在进行完成修改后,如果依旧没进行改变,则应对iNand

PetaLinux Linux Uboot 源码路径

在很早以前的版本,直接在创建的工程下面就可以找到内核源码和uboot源码。后面的版本采用的是网络下载编译,诸如2018.3 编译完成自动删除,如果想保留,可以在创建的工程下面 $ vim ./project-spec/meta-user/conf/petalinuxbsp.conf 加入RM_WORK_EXCLUDE += "linux-xlnx"RM_WORK_EXCLUDE += "u

如何在 Adobe Admin Console 中创建和管理 Marketo Engage 产品配置文件

好的,下面是更加详细的步骤和每一步可能遇到的具体问题及解决方案,帮助你在 Adobe Admin Console 中创建和管理 Marketo Engage 产品配置文件。 1. 进入 Adobe Admin Console 步骤: 通过浏览器访问 Adobe Admin Console。使用拥有管理员权限的 Adobe ID 登录。在页面顶部导航栏中,选择 "Marketo Engage"

新路程----海思 uboot(1)

先看start.s吧 .globl _start //.global声明_start为全局符号,_start就会被连接器链接到,也就是链接脚本中的入口地址了。_start: b reset //跳转到reset 下面的代码是设置arm的异常向量表ldr pc, _undefined_instruction //把label后的数据或者指令内容赋值给pcldr pc, _softw

新路程------uboot环境变量没生效

之前刷文件系统一种出错,出错log如下 hisilicon # sf probe 0;mw.b 0x82000000 0xff 0x1800000;tftp 0x82000000 rootfs_ucl ibc_64k.jffs2;sf erase 0x500000 0x1800000;sf write 0x82000000 0x500000 0x1800000 32768 KiB h

uboot中添加一条自己的命令-Nazgul

uboot中添加XNazgul命令三部曲 1、在unsp210_u-boot\include\configs\unsp210.h中添加一项宏定义 #define CONFIG_CMD_XNazgul 1 主要是为了防止后面命令实现的时候出现重复的命令 2、在common文件夹下建立cmd_XNazgul.c 文件内容 #include <comm

追踪uboot下tftp命令的代码执行过程-Nagul

一、网卡驱动的添加  网络在uboot中的启动是在uboot的第二阶段启动代码中 /lib_arm/board.c [cpp]  view plain copy void start_armboot (void){}   里面有网络初始化函数 [cpp]  view plain copy eth_initialize(gd->bd)

FISCO BCOS 控制台 console solidity合约编译工具 生成abi bin java文件

下载控制台 https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/console/console_of_java_sdk.html   # 若控制台版本小于v2.8.0,脚本sol2java.sh的使用方法如下:$ bash sol2java.sh -h# Compile Solidity Tool./s

笔记整理—内核!启动!—uboot部分(3)uboot启动内核传参

uboot会以tag的方式给内核传递参数,tag是一个数据结构,在uboot中与linux_kernel中都有相同的结构。         kernel接收到的传参由若干个tag构成,从tag_start到tag_end之间的数据构成,读到start时开始传参,end结束传参。  CONFIG_SETUP_MEMORY_TAGS 宏会去找对应的tag_mem,其内容