工具/软件:Code Composer Studio
我正在使用 AWR1843和 MMWAVE_SDK_03_04_00_03研究 CRC 操作。
我正在使用
板:AWR1843
版本
CCS:9.3.0
毫米波:03_04_00_03
我成功地计算了 CRC-16/CRC-32/CRC64的硬件。
使用 MMWAVE_SDK_03_04_00_03测试软件。
(MMWAVE_SDK_03_04_00_03\packages/ti\drivers\crc\test)
但是、AUTOSAR E2E Profile04的 CRC 硬件计算失败。
测试软件不支持 AUTOSAR E2E Profile04、因此我更改了该软件。
此更改是否正确?
还是不支持 AUTOSAR E2E 配置文件04?
我将测试软件更改为 AUTOSAR E2E Profile04的 CRC 硬件计算。
更改了 crc.c 中的 CRC_getCRCTypeBitValue 函数
将 CRC_CTRL0中 CH1_CRC_SEL 的值设置为3 (AUTOSAR E2E 配置文件04)
请参见下面的。
《AWR18xx/16xx/14xx/68xx 技术参考手册》
29.3.4.1 CRC_CTRL0寄存器(偏移= 0h)[复位= 0h]
更改如下。
向 CRC_getCRCTypeBitValue 函数添加了 CRC_Type_32BIT_Profile4标签和处理。
静态 uint32_t CRC_getCRCcpeBitValue (CRC_Type crcType)
{
uint32_t crcTypeValue = 0;
交换机(crcType)
{
案例 CRC_Type_16BIT:
{
crcTypeValue = 1U;
中断;
}
CRC_Type_32位情况:
{
crcTypeValue = 2U;
中断;
}
CRC_Type_32BIT_Profile4案例:
{
crcTypeValue = 3U;
中断;
}
CRC_Type_64位案例:
{
crcTypeValue = 0U;
中断;
}
默认值:
{
/*错误:错误值*/
DebugP_assert (0);
中断;
}
}
返回 crcTypeValue;
}
CCS 的调试日志输出如下所示。
CRC-32.
[Cortex_R4_0]调试:32位软件 CRC 为0xdc254701
调试:为指针数据8000000数据长度32位测试 CRC 功能性多项式[以太网(32位多项式)]
调试:CRC 驱动程序签名为00000000dc254701
调试:CRC 驱动程序签名为00000000dc254701
调试:针对传递的32位数据长度测试 CRC 功能性多项式[Ethernet (32位多项式)]
CRC AUTOSAR E2E Profile04
[Cortex_R4_0]调试:32位软件 CRC 为0x98b5b372
调试:为指针数据8000000数据长度32位测试 CRC 功能性多项式[Profilr4 (32位多项式)]
调试:CRC 驱动程序签名为000000003a377250
错误:CRC 检测到不匹配:0x98b5b372得到00003a377250