This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] 【分享】如何基于board library修改UART

本文主要描述如何基于Processor SDK RTOS将 BBB中默认的uart0 例程修改为uart1。

测试环境

  • CCSV7.2.0
  • BeagleBone Black Rev C(BBB)
  • Blackhawk USB100v2

前提

  • 下载AM335x processor sdk RTOS

http://software-dl.ti.com/processor-sw/esd/PROCESSOR-SDK-RTOS-AM335X/latest/index_FDS.html

  • 通过pdkProjectCreate.bat生成MyExampleProjects

https://processors.wiki.ti.com/index.php/Rebuilding_The_PDK#PDK_Example_and_Test_Project_Creation

 

软件修改

1.通过pinmux工具生成新的pinmux 配置文件

pinmux工具下载链接:

https://www.ti.com/tool/PINMUXTOOL

1.1如图1修改pinmux参数

                           图1

1.2导入beaglebone_black_config到pinmux工具${PDK_INSTALL_DIR}packages\ti\starterware\tools\pinmux_config\am335x

 图2

1.3在UART这一行点击+添加UART1,此时会出现以下配置界面。

 

图3

图4

1.4修改图5中白框中的描述,D15 (RX) 和D16 (TX)被使用

                                         图5

1.5修改Category这一栏为starterware,下载pinmux文件,如图6所示

图6

1.6此时下载的文件是通用文件名,与平台没有关系

            图7

1.7修改am335x_pinmux.h文件底部的 extern pinmuxBoardCfg_t gAM335xPinmuxData[]为extern pinmuxBoardCfg_t gBbbPinmuxData[]

1.8修改am335x_pinmux_data.c为am335x_beagleboneblack_pinmux_data.c

1.9修改pinmuxBoardCfg_t gAM335xPinmuxData[]中的gAM335xPinmuxData为gBbbPinmuxData

1.10将${PDK_INSTALL_DIR}packages\ti\starterware\board\am335x中已有的文件替换为新文件。

 

2.修改PDK Board library

       2.1 电源和时钟

             2.1.1修改PRCMModuleEnable()中的uart0为uart1

                   ${PDK_INSTALL_DIR}\packages\ti\board\src\bbbAM335x\bbbAM335x.c.

                   /* UART */status = PCRMModuleEnable (CHIPDB_MOD_ID_UART, 1U, OU);

     2.2 添加外设

             2.2.1修改${PDK_INSTALL_DIR}\packages\ti\board\src\bbbAM335x\include\board_cfg.h 中的                                                  uart0 为uart1

                   #define BOARD_UART_INSTANCE 1

             2.2.2修改PINMUXModuleConfig()中的uart0 为uart1

                   status = PINMUXModuleConfig (CHIPDB_MOD_ID_UART, 1U, NULL) ;

3、重新编译Board library

      cd pdk_am335x_x_x_x\packages

         gmake board_lib

4、测试

       4.1从CCS中导入 UART_BasicExample_bbbAM335x_armTestProject并重新编译

       4.2测试uart1是否能够通信,测试结果如图9所示

             1)连接uart1

             2)连接BBB target configuration

             3)load .out文件到目标板

             4)打开Teraterm或者Putty,选择正确的COM口并且将波特率设置为115200

             5)点击 ccs中的run 按钮

图8

图9