您的位置: OpenADSP社区论坛 -> SHARC/TigerSHARC专区 -> 新手上路 -> 问题:关于ADSP SHARC 数据长度问题请教
本帖共有535个阅读者
发表帖子 发表投票 回复主题
问题:关于ADSP SHARC 数据长度问题请教
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
问题:关于ADSP SHARC 数据长度问题请教

问题:

我发现下面的函数不能生成正确的CRC16结果,调试发现,

虽然进行了强制类型转换unsigned char *code = (unsigned char *)data;

但是对code++;仍旧对指针移动的4字节。

是由于SHARC的架构支持的最小寻址单位是32bit??

还是CCES生成的代码问题?如果使用汇编做基址变址寻址是否可以寻址到字节呢?

unsigned short int CRC16_Table(void *data,unsigned char len)

{

    unsigned char *code = (unsigned char *)data;

    unsigned short int  crc16 = 0xFFFF;

    unsigned char crcregister;

    unsigned char data0;

    for( ; len > 0; len--)

    {

        crcregister = (crc16 >> 8) & 0x000000FF;

        crc16 = (crc16 << 8) & 0x0000FF00;

        data0 = (*(unsigned char *)code)&0x000000FF;

        crc16 = (crc16 ^ crc16_tab[(crcregister ^ ((*code)&0x000000FF)) & 0x000000FF]) & 0x0000FFFF;

        (unsigned char *)code++;

    }

    return(crc16);

}


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2015/4/17 10:44:01
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
答:

SHARC 支持的数据类型CHAR,SHORT INT, INT 都是32位的。

具体你可以参看SHARC 的compiler手册。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2015/4/17 10:44:18
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154298 Call, 1 Queries, Processed in 0.015625 second(s),