liteOS-A学习笔记-2.移植串口和MMU

1.移植串口

(1)追踪串口打印函数

《kernel/liteos_a/platform》

LITE_OS_SEC_TEXT_INIT INT32 main(VOID)
{
   
    ...
    PRINT_RELEASE("\nmain core booting up...\n");
    ...

(2)最终调用函数

《liteos_a\platform\uart\amba_pl011\amba_pl011.c》

VOID UartPuts(const CHAR *s, UINT32 len, BOOL isLock)

应当按照HISI这个文件中定义的函数接口进行移植形成NXPimx6ull的代码文件

《OpenharmonyFor6ull\vendor\nxp\imx6ull\driver\imx6ull-uart\uart_imx6ull.c》

->

STATIC INLINE UINTPTR uart_to_ptr(UINTPTR n)
{
   
    (VOID)n;
    return UART_REG_BASE;
}

(3)uart的基地址:此时已经启动MMU,应当为虚拟地址

《OpenharmonyFor6ull\vendor\nxp\imx6ull\board\include\uart.h》


#if (CONSOLE_UART == UART0)
    #define TTY_DEVICE                "/dev/uartdev-0"
    #define UART_REG_BASE             UART0_REG_BASE
    #define NUM_HAL_INTERRUPT_UART    NUM_HAL_INTERRUPT_UART0
#elif (CONSOLE_UART == UART1)
    #define TTY_DEVICE                "/dev/uartdev-1"
    #define UART_REG_BASE             UART1_REG_BASE
    #define NUM_HAL_INTERRUPT_UART    NUM_HAL_INTERRUPT_UART1
#elif (CONSOLE_UART == UART2)
    #define TTY_DEVICE                "/dev/uartdev-2"
    #define UART_REG_BASE             UART2_REG_BASE
    #define NUM_HAL_INTERRUPT_UART    NUM_HAL_INTERRUPT_UART2
#endif

《OpenharmonyFor6ull\vendor\nxp\imx6ull\board\include\asm\platform.h》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值