2020-12-25

基于TI SDK如何移植和验证自制板 – 板级支持
1.1板级支持
1.1.1 介绍
电路板包含一组特定于电路板的通用初始化和设置函数。该组件包括处理器SDK发行版中支持的板卡库。请参阅package内容以获得支持的板的列表。电路板组件还包括诊断软件。有关可用诊断示例的其他详细信息,请参阅Processor SDK RTOS DIAG。
1.1.1.1 板级api
Board_init() API支持PLL、外围时钟、外部DDR内存、pinmux和IO延迟配置的初始化。应用程序API参考资料:

#. include <ti/board/board.h>

Board_init()的API伪代码示例如下:

/* Setting up for pinmux and uart */
Board_STATUS ret;
Board_initCfg boardCfg;

boardCfg = BOARD_INIT_MODULE_CLOCK \| BOARD_INIT_PINMUX_CONFIG \|
BOARD_INIT_UART_STDIO;

ret = Board_init(boardCfg);

1.1.1.2 LLD依赖性
1.1.1.2.1 I2C
应用程序需要配置BOARD_INIT_MODULE_CLOCK选项,以使I2C可操作。I2C用于读取EEPROM数据。I2C句柄将在轮询模式中打开,并在使用Board_getIDInfo() API从EEPROM中检索到板卡ID数据后关闭。
对于DRA7xx EVMs, I2C还用于配置各种I/O扩展器和板mux,以使PDK示例能够在EVM上正常工作。I2C句柄以轮询模式打开,并在板mux初始化完成后关闭。
1.1.1.2.2 UART
应用程序需要使用BOARD_INIT_UART_STDIO选项配置Board_init(),以使用UART stdio API。
在Board_init()完成后,应用程序可以调用UART_printf、UART_scanFmt等UART stdio函数。
1.1.1.2.3 SCICLIENT
AM65xx/J7xx板库使用sciclient APIs 配置锁相环时钟。
1.1.2。应用集成AM5x/DRA7xx
当为AM5x和DRA7xx板配置带有IO延迟设置的pinmux时,有一个严格的限制:IO延迟设置期间的代码/数据/堆栈必须在本地内部内存中。请参阅SOC TRM获取更多信息。
板级库指定了两个部分供用户定义,用于满足这一要求。它们是:BOARD_IO_DELAY_CODE和BOARD_IO_DELAY_DATA。下面是如何将这些section指定到本地内存OCMC_RAM1的示例:
在带有linker cmd文件的baremaltal案例中:

BOARD_IO_DELAY_CODE : {
   

   . = ALIGN(4);
   *(BOARD_IO_DELAY_CODE*)

} > OCMC_RAM1

BOARD_IO_DELAY_DATA : {
   

   . = ALIGN(4);
   *(BOARD_IO_DELAY_DATA*)

} > OCMC_RAM1

In a CCS RTSC project with .cfg file:
Program.sectMap["BOARD_IO_DELAY_DATA"] = "OCMC_RAM1";
Program.sectMap["BOARD_IO_DELAY_CODE"
  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值