|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。
+ f9 |2 X; N4 e0 P
$ k* ~0 e3 f k# n; F/ R) [3 d n! a+ P; S
28335单位中长度为是16bit.( v6 C& O/ a: P8 R, u8 R$ S" z8 {
, R1 A. j0 A: w0 |& z8 v1 W8 F, u& i: F; X) R; V
count = sizeof(char);" b# {: t) S& C
count = sizeof(int);
7 f- S( H4 {0 w count = sizeof(double);
- u& {4 b! f! |. q# g7 u count = (sizeof(long)" L0 @) { _: `) G
( z; T3 \5 I; r0 x" G+ j. _
6 ^7 `8 g) b, T
count = (sizeof(short)( Q/ V8 i3 U* I
0 w8 l" M. w# w8 W* X. C' b' @
2 | z2 b) N$ |4 s: c- _3 |: j count = (sizeof(float);
& V3 N$ C8 w0 J& ^ m- y! b 通过查看寄存器发现:' P0 v( [2 ?9 g
& R4 t* B6 v3 X/ o0 v
5 n7 i0 {$ I9 k0 f T& h8 Pchar : 1 (16bit)
' D* W# O# m1 W- K d* \int : 1 (16bit)
6 z5 I; O4 ^- a Wdouble: 2 (32bit)
; @5 e% T6 d% d; J+ p1 `long: 2 (32bit); m$ q; w5 P% l$ d* P
short: 1 (16bit)1 y$ [3 ?. n2 e% K
float: 2 (32bit)" v1 Z8 o3 Z1 V
long long: 4 (64bit)# J, d/ a/ O) Q+ v
& G& U/ B, a! s& Y" }9 D0 `/ j1 o0 V J& r+ W/ F- Y+ v- {3 S Z
----------------------------------------------------------------------------------------------
# o6 u: t$ G6 ^* W1 ~) R* `
) E2 }# U) Z& `% }( r) B5 v3 N, A. Q+ ~5 C( f
struct SDATA_BIT{0 h6 q9 V7 c5 b4 \" g
unsigned int D1 : 16;
- A& u9 @4 W8 G1 n; e4 t
+ {# B; O5 u; x0 `0 f8 T* v1 d# \3 u. b( o3 g8 O5 R; }5 I& J
unsigned int D2 : 16;
5 e( o1 ]/ i5 ~/ [4 N1 ]% P8 d2 V/ A0 ^4 l: ]
) _/ _5 U, ?) [' M( y unsigned int D3 : 4 ; # e) w- d/ h7 E9 J
5 R$ ?( b# ?& I, w$ ?
. Q' ]" `6 [8 B unsigned int D4 : 1 ;, B" v4 \# x" p5 O; K
) g, m2 e8 F4 R- b
% \9 s& b' r& S9 G/ g unsigned int D5 : 1 ;
" ~+ l6 e+ F8 n1 m, x# c$ G: E
/ j: F7 K; O0 j4 H* ]/ `1 `1 Z% [5 @5 m
unsigned int D6 : 1 ;7 }2 [& b1 o! \% ?! d" ^3 _, K
0 d+ E+ f( y+ w; O6 W. f) A0 C2 d% y" x r; W {
unsigned int D7 : 1 ;- j5 X* W( ]- B2 m8 E
: c6 |: Q9 \ y3 p6 L) P& A9 I% _- y+ H1 Y$ Y
};
0 c6 ~1 r' c) P. }0 A% d- v! K2 X
1 f7 b: R2 N3 c0 J
sizeof(struct SDATA_BIT sBIT) = 3; //% E! e5 t0 }( J1 n" Q! K
2 u8 F" s4 x- L9 c# c [ r* [& l4 Y4 g) P5 z
由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!
5 w8 U; ?/ \$ I8 i, e" j, [. T; b7 Y1 J3 q0 T9 h& x! X
6 ?0 \ Y6 Q5 T) L0 {+ b. Y |
|