Chinaunix首页 | 论坛 | 博客
  • 博客访问: 654390
  • 博文数量: 516
  • 博客积分: 4119
  • 博客等级: 上校
  • 技术积分: 4288
  • 用 户 组: 普通用户
  • 注册时间: 2012-10-30 17:29
文章分类

全部博文(516)

文章存档

2014年(4)

2013年(160)

2012年(352)

分类: Android平台

2013-06-06 17:33:39

C2000是32位处理器,寻址是16位寻址,如果想8bits寻址和ccs版本没关系,和仿真器也没关系。需要特殊的指令。



在CCS5.3也是一样的,这跟芯片相关,跟CCS无关。关于这个问题,下面有相应的解决方法,你可以参考,如果要进行8bits寻址,需要特殊指令。

Solution:

The smallest addressable memory cell on the F28xx is 16-bits.This is mentioned in the TMS320C28x C/C++ Language Implementation User's Guide (SPRU514) in Section 6.3 called Data Types.

There are compiler instrinsics __byte() and __mov_byte() to access data in increments of 8-bits.

This info from the TMS320C28x Optimizing C/C++ Compiler User's guide (SPRU514) may help (page 82):

By ANSI/ISO C definition, the sizeof operator yields the number of bytes required to store an object. ANSI/ISO further stipulates that when sizeof is applied to char, the result is 1. Since the TMS320C28x char is 16 bits (to make it separately addressable), a byte is also 16 bits. This yields results you may not expect; for example, size of (int) = = 1 (not 2). TMS320C28x bytes and words are equivalent (16 bits).

To access data in increments of 8 bits, use the __byte() and __mov_byte() intrinsics described in Section 7.4.4.

 

Reference:

Eric

阅读(1726) | 评论(0) | 转发(0) |
0

上一篇:详解FlashBurn的hex文件烧写--DM6437平台

下一篇:没有了

给主人留下些什么吧!~~