发 帖  
原厂入驻New
[问答] 处理器核的寄存器是16位的吗?
2020-6-10 09:12:01  115 处理器
分享
处理器是F28335 CCSv4
void foo()
[
     static uint64_t sum_A;
     sum_A = 1326 * 1326;
]
得到的结果不对
而必须对1326 进行强制转换 且 sum_A 必须放到函数外部
处理器核的寄存器是16位的吗? 那sum_A也必须成为全局变量?
0
2020-6-10 09:12:01   评论 分享淘帖
9 个讨论
追加:
且float32 temp,corr_f_sum,corr_am_sum *p;的话只有p 有效 其他无效
2020-6-10 09:30:04 评论

举报

下面追加的问题我没看明白,上面的问题,请这样写:
  sum_A = 1326L * 1326L;
L的作用说明如下:
When you initialize a long double to a constant, you must use the l or L suffix. The constant is treated as a
double type without the suffix and the run-time support double-to-long conversion routine is called for the
initialization. This could result in the loss of precision. For example:
long double a = 12.34L; /* correctly initializes to double precision */
long double b = 56.78; /* converts single precision value to double precision */
The formatting rules for long doubles in C I/O require a capital ’L’ in the format string. For example:
printf("%Lg", 1.23L);
printf("%Le", 3.45L);
详情请看一下TMS320C28x Optimizing C C++ Compiler中的说明。
2020-6-10 09:48:38 评论

举报

您说的这个 我早上已经找到答案了 谢谢,但是有一个问题:
函数中声明好几个float32型的数据,但在CCS 中观察变量 无论是local 还是全局 都只能看到一个, 这是何解啊?谢谢
2020-6-10 10:08:15 评论

举报


局部变量没法看,何解,求教。。
2020-6-10 10:16:04 评论

举报

楼主是怎么定义的?工程是否有设置编译器优化?
如果只是 float32 temp,corr_f_sum,corr_am_sum;   定义一下
然后之后整个程序中都未用到他们,那么编译器会把他们优化掉。有些变量是局部变量,只在程序进入某一子程序的时候有效。
2020-6-10 10:30:22 评论

举报

您好,我理解您的意思。这些变量确实用到了,而且是进入函数中观察的变量 。编译器设置 0 级优化。之前还可以看后来可能动了CCS的某些设置导致的。
谢谢
2020-6-10 10:46:58 评论

举报

胡bbs4 发表于 2020-6-10 10:46
您好,我理解您的意思。这些变量确实用到了,而且是进入函数中观察的变量 。编译器设置 0 级优化。之前还可以看后来可能动了CCS的某些设置导致的。
谢谢

局部变量,只有在进入了局部变量所在的子程序的时候,才会给局部变量分配地址。所以就像Forrest说的。
                                                                         Young Hu 
C2000 FAE
2020-6-10 11:02:20 评论

举报

Arttronix 发表于 2020-6-10 11:02
局部变量,只有在进入了局部变量所在的子程序的时候,才会给局部变量分配地址。所以就像Forrest说的。
                                                                         Young Hu 
C2000 FAE

谢谢你的回答,还是没什么结果。还是谢谢你
2020-6-10 11:21:31 评论

举报

胡bbs4 发表于 2020-6-10 11:21
谢谢你的回答,还是没什么结果。还是谢谢你

再试试下面的办法,楼主如果找到原因,请分享一下。
删除workspace,重新新建一个project导入这些设置,还是不行吗?有能够反映这个问题的project没?传上来我看看。
一般如果在使用CCS的时候碰到莫名问题,删除workspace会是一个很好的办法。
2020-6-10 11:36:34 评论

举报

只有小组成员才能发言,加入小组>>

1348个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表