前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >全志XR806芯片 如何更换打印log口?

全志XR806芯片 如何更换打印log口?

作者头像
阿志小管家
发布2024-02-02 15:41:02
740
发布2024-02-02 15:41:02
举报

1.问题背景 XR809/XR871/XR808/XR872/XR806 上如何把log口uart0更换为uart1或uart2。

2.问题描述 我司SDK发布时镜像log默认由uart0输出,有些客户的产品需要把log从非uart0口输出(例如从uart1或uart2输出)。

3.解决办法

3.1 修改board_config.c文件,配置对应uart口的ping脚 例如:(下面的代码只做事例讲解,实际代码不同平台可能会不一样,请根据原理图和数据手册进行修改): (1).添加对应uart的脚

代码语言:javascript
复制
static const GPIO_PinMuxParam g_pinmux_uart2[] = {
    { GPIO_PORT_B, GPIO_PIN_14, { GPIOB_P14_F3_UART2_TX,  GPIO_DRIVING_LEVEL_1, GPIO_PULL_UP } }, /* TX */
    { GPIO_PORT_B, GPIO_PIN_15, { GPIOB_P15_F3_UART2_RX,  GPIO_DRIVING_LEVEL_1, GPIO_PULL_UP } }, /* RX */

(2).确保board_config.c中board_get_pinmux_info函数已有对应的uart口的初始化代码(有些版本可能没有uart2的初始化代码,需要自行添加)

代码语言:javascript
复制
case HAL_DEV_MAJOR_UART:
    if (minor == UART0_ID) {
        info[0].pinmux = g_pinmux_uart0;
        info[0].count = HAL_ARRAY_SIZE(g_pinmux_uart0);
    } else if (minor == UART1_ID) {
        info[0].pinmux = g_pinmux_uart1;
        info[0].count = HAL_ARRAY_SIZE(g_pinmux_uart1);
    } else if (minor == UART2_ID) {
        info[0].pinmux = g_pinmux_uart2;
        info[0].count = HAL_ARRAY_SIZE(g_pinmux_uart2);
    } else {
        ret = HAL_INVALID;
    }
    break;

3.2 修改board_config.h文件配置log从那个uart输出 例如:把log从uart0修改为从uart2输出

代码语言:javascript
复制
#define BOARD_MAIN_UART_ID      UART0_ID  --改为-->  #define BOARD_MAIN_UART_ID      UART2_ID

注意点: 不同芯片不同方案会有不同的board_config.c和board_config.h文件,确保修改的文件是你所需要的方案

原贴链接:https://bbs.aw-ol.com/topic/719/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2024-02-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档