DSP

DSP 6678 大小端转换的问题

2019-07-13 10:27发布

大端模式: 所谓的大端模式,是指数据的高字节,保存在内存的低地址中,而数据的低字节,保存在内存的高地址中。 小端模式: 所谓的小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
例子如下: 16bit宽的数0x1234在Little-endian模式CPU内存中的存放方式(假设从地址0x4000开始存放)为: 内存地址 0x4000 0x4001 存放内容 0x34 0x12 在Big-endian模式CPU内存中的存放方式则为: 内存地址 0x4000 0x4001 存放内容 0x12 0x34

在DSP中设置大小端时,首先要在建立工程文件的时候选择模式,其中Device endianness 中little 为小端,big为大端; D

第二步,将所引用的工程路径下面的.ae66文件修改为.ae66e
我再自己调试的时候主要遇到的问题是没有加入一个platform_osal.c的文件
导致debug的时候会出现文件库无法包含的问题。 unresolved symbol Osal_platformFree, first referenced in C: ipdk_C6678_1_1_2_6packages iplatformevmc6678lplatform_liblibdebug i.platform.evm6678l.ae66 unresolved symbol Osal_platformMalloc, first referenced in C: ipdk_C6678_1_1_2_6packages iplatformevmc6678lplatform_liblibdebug i.platform.evm6678l.ae66
unresolved symbol Osal_platformSpiCsEnter, first referenced in C: ipdk_C6678_1_1_2_6packages iplatformevmc6678lplatform_liblibdebug i.platform.evm6678l.ae66
unresolved symbol Osal_platformSpiCsExit, first referenced in C: ipdk_C6678_1_1_2_6packages iplatformevmc6678lplatform_liblibdebug i.platform.evm6678l.ae66
这时候将上述.c文件拷入到工程目录下面,既可以将问题解决。