Board_initCfg中的BOARD_INIT_DEFAULT不是很理解. - AM57x - 嵌入式开发者社区 - 51ele.net
设为首页收藏本站

嵌入式开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4603|回复: 2
打印 上一主题 下一主题

[已解决] Board_initCfg中的BOARD_INIT_DEFAULT不是很理解.

[复制链接]

0

主题

31

帖子

1402

积分

创龙

Rank: 8Rank: 8

积分
1402
楼主
发表于 2017-5-27 14:55:23 | 显示全部楼层
Board_initCfg 作为标志位,在evmAM572x.c中的Board_init()函数会根据判断这个标准位去初始化不同的外设:
Board_STATUS Board_init(Board_initCfg cfg)
{
    Board_STATUS ret = BOARD_SOK;

    if (cfg & BOARD_INIT_UNLOCK_MMR)
        ret = Board_unlockMMR();
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_PLL)
        ret = Board_PLLInit(OPP_NOM);
    else if(cfg & BOARD_INIT_PLL_OPP_HIGH)
        ret = Board_PLLInit(OPP_HIGH);
    else if(cfg & BOARD_INIT_PLL_OPP_OD)
        ret = Board_PLLInit(OPP_OD);
    else if(cfg & BOARD_INIT_PLL_OPP_NOM)
        ret = Board_PLLInit(OPP_NOM);
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_MODULE_CLOCK)
        ret = Board_moduleClockInit();
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_PINMUX_CONFIG)
        ret = Board_pinmuxConfig();
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_DDR)
        ret = Board_DDR3Init();
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_WATCHDOG_DISABLE)
        ret = Board_watchdogDisable();
    if (ret != BOARD_SOK)
        return ret;

    if (cfg & BOARD_INIT_UART_STDIO)
        ret = Board_uartStdioInit();
    if (ret != BOARD_SOK)
        return ret;

    return ret;
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|嵌入式开发者社区 ( 粤ICP备15055271号

GMT+8, 2024-5-13 19:45 , Processed in 0.034210 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2015 Comsenz Inc.

快速回复 返回顶部 返回列表