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.
您好、专家先生、
当我检查 IPC c2000ware 示例代码 IPC_sendCommand (IPC_CPU1_L_CM_R、IPC_FLAG0、IPC_ADDR_CORRECTION_ENABLE、IPC_CMD_READ_MEM、(uint32_t) ReadData、 10);当我检查函数代码时、我看到这样的定义 IPC_ADDR_CORRECTION_ENABLE、我搜索了它的含义、但我找不到任何东西、您能解释 IPC_ADDR_CORRECTION_ENABLE 是什么意思吗?
您好!
我 建议您 查看 ipc.c 中的 ipc_sendCommand ()和 ipc_readCommand ()函数的内部:
在上面的 IPC_sendCommand()中,地址校正将调整作为参数传递的地址(假定是指向 IPC_MsgRAM_LtoR),使其仅为 IPC_MsgRAM_LtoR 起始地址的偏移。
在 IPC_readCommand()中,地址校正将重新增加 IPC 消息 RAM 的偏移量。
之所以存在此功能、是因为 C28x 内核和 CM 内核之间采用不同的寻址格式、其中每个地址表示 C28x 一个16位字、而每个地址表示 ARM 内核的8位字节。 此外、MSG RAM 的内存映射位置对于不同的 CPU 可能不同。
如果发送和接收命令均未使用地址校正功能、则必须手动考虑上述情况。
此致、
本·科利尔