主题中讨论的其他器件:SysConfig
工具与软件:
尊敬的专家:
我正在使用 motor_control_sdk_am243x_09_02_00_09、CCS 12.6、SysConfig 1.21.1。
从 uart_echo_dma_lld 示例开始、我尝试将传输缓冲区移至 TCM 存储器、这是 TI 专家的建议。
#define APP_UART_BUFSIZE (0x100U)
__attribute__((aligned (256)、section (".data.tcma"))
uint8_t gUartBuffer[APP_UART_BUFSIZE];__attribute__((aligned (256)、section (".data.tcma"))
uint8_t gUartReceiveBuffer[APP_UART_BUFSIZE];
映射文件:
00000100gUartBuffer
00000200 gUartReceiveBuffer
执行此操作后、UART 中只能显示\0个字符。 字符数\0符合应该存在的字符串的长度。 如果我将 TCMA 设置为在 SysConfig 中缓存或非缓存、或者从代码中删除 CacheP_WB ()和 CacheP_inv ()操作、则该设置不会改变。
我想、从 DMA 控制器的角度来看、TCMA 的地址范围可能是0x0000000。 应该在 udma_defaultVirtToPhyFxn ()函数中更正它。 但我无法从 spruim2h 手册的内存映射部分获得正确的地址范围。
这是真的吗? 如果是、您能向我提供 DMA 控制器将访问每个内核的 TCMA/TCMB 存储器的地址范围吗?
BR
Alexander