本文主要描述如何基于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
Annie Liu:
我们建议您在发布新问题之前先搜索 E2E支持论坛,E2E支持论坛已经拥有数十万个已得到解答的话题。 这通常是解决问题的最快方法。