TI中文支持网
TI专业的中文技术问题搜集分享网站

求助:F28M36 CCS6.0.1 TI/RTOS中使用MWare_v202a中的softuart遇到问题

F28M36P53…

WIN7 64bit

Code Composer Studio — Version: 6.0.1.00040

板子是自定义的,由于CORTEX-M3侧的UART两根线画错,用了PQ6_GPIO118和PQ7_GPIO119,看到/MWare中有SOFTUART的例子,暂时不想改硬件,想用softuart的例子。

我在M3侧使用了TI/RTOS (CCS的APP CENTER中自动安装的"TI-RTOS for C2000")。

参考controlSUITE 中MWare doc说明文件“F28M36x-FRM-EX-UG.pdf” 19章 Software UART Module

在自己的文件中添加了头文件

#include <utils/softuart.h>

添加了路径"${COM_TI_RTSC_TIRTOSC2000_INSTALL_DIR}/products/MWare_v202a/MWare"

还是出现如下错误:

<Linking>

 undefined                         first referenced

  symbol                             in file  

 ———                                —————-

 SoftUARTRxTick              ./gc09/gc09.obj

 SoftUARTTxTimerTick      ./gc09/gc09.obj

 

error #10234-D: unresolved symbols remain error #10010: errors encountered during linking;

"usbserialdevice_F28M36P63C2_CortexM.out" not built

gmake: ***

[usbserialdevice_F28M36P63C2_CortexM.out] Error 1

gmake: Target `all' not remade because of errors.

 

而且,在“softuart.c”中我发现有一些函数找不到,例如MAP_GPIOPinTypeGPIOInput() 这些带有MAP_前缀的,是我没有包含正确的库吗,还是这个文件不是针对F28M36系列的,但是我在文档初始描述看到了如下描述:

//###########################################################################

// $TI Release: F28M36x Support Library v202 $

// $Release Date: Tue Apr  8 12:36:34 CDT 2014 $

//###########################################################################

我应该如何修改?

 

其他疑问:

在TI-RTOS开发文档SPRUEX3N(TI-RTOS Kernel User's Guide)中提到如果配置硬件向量中断、cache、timer 必须要用HAL(hardware abstraction layer apis),而不能使用CSL(chip support library),能否提供一个除了GPIO例程外的其他的使用HWI配置中断的例程供参考,或一些详细描述的文档。

 

(附件是编译错误截图)

谢谢!

 

 

 

 

 

 

 

 

junpeng sun:

自己回复已尝试的方法:

将softuart.c softuart.h两个文件拷贝到自己目录下,出现MAP_前缀函数未定义

 

  undefined                 first referenced

  symbol                       in file     

 MAP_GPIOIntTypeSet        ./gc09/softuart.obj

 MAP_GPIOPinIntClear       ./gc09/softuart.obj

 MAP_GPIOPinIntDisable     ./gc09/softuart.obj

 MAP_GPIOPinIntEnable      ./gc09/softuart.obj

 MAP_GPIOPinRead           ./gc09/softuart.obj

 MAP_GPIOPinTypeGPIOInput  ./gc09/softuart.obj

 MAP_GPIOPinTypeGPIOOutput ./gc09/softuart.obj

 

error #10234-D: unresolved symbols remain

error #10010: errors encountered during linking; "usbserialdevice_F28M36P63C2_CortexM.out" not built

 

 

去掉MAP_前缀是可以编译通过的,运行估计有问题,这些底层函数(像GPIOPinIntClear())是不是所谓的CSL(chip support library),和TI-RTOS一起使用,中断是要用HAL来配置的么,有知道的的请给予帮助。

 

F28M36P53…

WIN7 64bit

Code Composer Studio — Version: 6.0.1.00040

板子是自定义的,由于CORTEX-M3侧的UART两根线画错,用了PQ6_GPIO118和PQ7_GPIO119,看到/MWare中有SOFTUART的例子,暂时不想改硬件,想用softuart的例子。

我在M3侧使用了TI/RTOS (CCS的APP CENTER中自动安装的"TI-RTOS for C2000")。

参考controlSUITE 中MWare doc说明文件“F28M36x-FRM-EX-UG.pdf” 19章 Software UART Module

在自己的文件中添加了头文件

#include <utils/softuart.h>

添加了路径"${COM_TI_RTSC_TIRTOSC2000_INSTALL_DIR}/products/MWare_v202a/MWare"

还是出现如下错误:

<Linking>

 undefined                         first referenced

  symbol                             in file  

 ———                                —————-

 SoftUARTRxTick              ./gc09/gc09.obj

 SoftUARTTxTimerTick      ./gc09/gc09.obj

 

error #10234-D: unresolved symbols remain error #10010: errors encountered during linking;

"usbserialdevice_F28M36P63C2_CortexM.out" not built

gmake: ***

[usbserialdevice_F28M36P63C2_CortexM.out] Error 1

gmake: Target `all' not remade because of errors.

 

而且,在“softuart.c”中我发现有一些函数找不到,例如MAP_GPIOPinTypeGPIOInput() 这些带有MAP_前缀的,是我没有包含正确的库吗,还是这个文件不是针对F28M36系列的,但是我在文档初始描述看到了如下描述:

//###########################################################################

// $TI Release: F28M36x Support Library v202 $

// $Release Date: Tue Apr  8 12:36:34 CDT 2014 $

//###########################################################################

我应该如何修改?

 

其他疑问:

在TI-RTOS开发文档SPRUEX3N(TI-RTOS Kernel User's Guide)中提到如果配置硬件向量中断、cache、timer 必须要用HAL(hardware abstraction layer apis),而不能使用CSL(chip support library),能否提供一个除了GPIO例程外的其他的使用HWI配置中断的例程供参考,或一些详细描述的文档。

 

(附件是编译错误截图)

谢谢!

 

 

 

 

 

 

 

 

junpeng sun:

还是自己回答吧,已经调好多天了,忘记完帖

首先将两个函数softuart.c softuart.h 加入自己的工程文件中

修改MAP_前缀的所有函数(编译会报错,不用每个都自己去找),用现有的TI-RTOS中GPIO.C文件中的函数替代。

GPIO中断 使用TI-RTOS的例程 …callback 函数

定时器遵循文件建议,采用HAL层,在.CFG文件中配置两个TIMER(TX 和 RX 各一个),停止和启动、重载等函数统一使用HAL层提供的timer函数

调试时,不能在DEBUG中跑,因为速度跟不上,SOFTUART发送没问题,接收的信息在system_printf()中会有问题,所以要直接脱离仿真器跑,现在我用了9600bps通信收发正常,再高没有试,如果要试直接调节TIMER定时器就行了。

现在有个问题,没有找到哪个文档说明timer和HWI还有GPIO中断在TI-RTOS中的优先级该如何配置,有谁知道的吗?

 

赞(0)
未经允许不得转载:TI中文支持网 » 求助:F28M36 CCS6.0.1 TI/RTOS中使用MWare_v202a中的softuart遇到问题
分享到: 更多 (0)