上海妇科疾病研究所 上海女性不孕医院 上海引产医院 无痛引产痛不痛 上海人流医院 白癜风治疗医院 上海小儿脑瘫医院 上海女子医院
关于ADSP SHARC 数据长度问题请教-SHARC-技术中心-国内专业ADI仿真器,Blackfin开发板,DSP芯片,软件算法,解决方案提供商-北京四维卓信电子有限公司
用户名: 密码:
主页 设为首页 加入收藏
      产品中心       技术中心       下载中心        社区新闻        诚聘英才       大学计划        关于我们       技术论坛
  您的当前位置:ADSP开源社区 >> 技术中心 >> SHARC 今天是:
技术中心  
SigmaDSP
SHARC
A2B音频总线
Blackfin
ADI操作系统
ADSP-218X
TigerSAHRC
ADI DSP仿真器
产品导航
ADI DSP仿真器
SigmaDSP开发板
ADI A2B总线开发板
SHARC DSP开发板
销售网络
SHARC  
关于ADSP SHARC 数据长度问题请教
[ 作者:OP ] [ 来源:ADSP开源社区 ] [ 发布时间:2015-12-14 ]

问题:

我发现下面的函数不能生成正确的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);

}

 

答:

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

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

联系我们 | 关于我们 | 免责声明 | 诚征英才 | 友情链接
Copyright 2019 All rights reserved  本网页版权属Open ADSP所有
北京海淀区中关村大街32号新中发市场3659 邮编100100
电话 18611096839 
粤ICP备14035876号-1