|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
最近在用DSP28335时,发现数据类型与ARM体系的数据类型有些差异,做了以下测试,来确定DSP28335上数据类型的大小。
& O) m7 i4 o" {+ J
( L2 e3 C! f0 S0 ]; ~; x& I2 l# w8 ^: Y( ^+ ~) S5 P" h7 k7 b3 {# M
28335单位中长度为是16bit.$ g0 d& Q; \) n: \+ V; w: D
# c1 Q O. F. \& [& k7 J
& \ d7 ~+ o$ p. @- w9 _* }) i7 ^ count = sizeof(char);
0 h5 J' u! J: M% O4 V8 u count = sizeof(int);* K+ w+ G* `$ U& L9 g) T
count = sizeof(double);+ L" Q) s8 \) a2 }8 l4 a8 d
count = (sizeof(long)3 r) ^ J. z" F
' e4 N, Y& h; j
; A7 m4 }) ~8 H& y: g8 \ count = (sizeof(short)9 g# Z$ } t, ^2 I% e
" }' a4 c2 W8 e( P; o2 f
, V4 G/ j. m9 E( o4 V count = (sizeof(float);0 @& y# T1 O ^0 l
通过查看寄存器发现:$ U0 N' U, H2 h+ l7 _! h
6 M* h4 b+ s7 G) C
( ~- E5 c- P- \2 `char : 1 (16bit)4 W4 H3 N6 g. h* {7 A. q
int : 1 (16bit)
5 W4 \( c+ B' ]' ~; m$ Tdouble: 2 (32bit)
9 o+ Y; D# y( m- F' glong: 2 (32bit), X5 @% G- G" U, O' J' Y
short: 1 (16bit)$ U& Z0 v7 `" I
float: 2 (32bit)
, t& R# @! I/ ~8 u) Q' F5 {& klong long: 4 (64bit)
2 P0 P/ ~/ J: i7 f7 t6 T, r& q5 M
: j8 @7 p3 b) u4 }/ h. E o% x" |0 d# \
----------------------------------------------------------------------------------------------
! H* N' r5 g% n5 x
+ v) `* j0 P) o. k
: \# x& [; {* @ _5 |2 r) astruct SDATA_BIT{; `) k+ s R f9 @( Z- G
unsigned int D1 : 16;
/ |& q5 c# ]+ b E6 n* f8 K! X9 L2 C7 y* I; S4 ~! W' I9 T! W: R8 @+ r, x
+ Z5 ]- A* d* c- h5 }) z- T
unsigned int D2 : 16;
+ C4 Y2 M) \# I8 ]# X$ v7 m% x( j
, [/ i: X7 r- \7 z: ^ [
1 J8 Z. n; q- c" X: y0 A unsigned int D3 : 4 ; # f# v5 i6 ^; Y9 j
1 O0 Y. ]$ [! N6 q* i! I$ y
2 n6 ^) m+ F9 c/ U( r! g" t. U0 Z# } unsigned int D4 : 1 ;; C" {; f& w* Q! T& q9 ~" V0 q
# }' r1 Y. V9 E/ P; V7 C' s
9 i3 {$ W$ w; `! g6 v; G. W) j unsigned int D5 : 1 ; 8 c0 B' _) E9 f' {
! w, F' J1 g$ u* C( V$ `! G6 I8 i% ]% s+ w* w6 t& p" H& {
unsigned int D6 : 1 ;, h- u/ g9 c2 y
! m% h2 j& s7 f
' p" S; [& A7 _% f& g unsigned int D7 : 1 ;' r) {/ M# W$ z& v
, x* z. z1 s! |% l; }, Y- j8 F
; R8 D% L' f! ^, m};
4 V4 O( i8 Z' I' a8 X! W" n. F2 F7 ~: [6 H7 H5 G( s
1 k4 {2 K4 `7 ksizeof(struct SDATA_BIT sBIT) = 3; //
2 q ?& t' b# u9 l* q6 p- ?9 v. U. Z1 g* N; Z0 I; x" w
# s& u+ s; \0 T9 N0 `/ l: d- Q
由于DSP28335上的数据类型与ARM的不同,因此在做通信协议时,尤其是用到联合体、数组、结构体来存放数据时,要注意!!!7 n8 Y3 T5 a& l0 R `8 @% d8 E
2 [# ~& J1 |& D/ p+ k, w! {- n
" j. R; }2 \( K) i5 f
|
|