zstack 3.0 栈指针初始值
编译 cc2538的zstack 3.0 工程。连接器设置为默认的$PROJ_DIR$\..\..\..\Tools\CC2538DB\CC2538.icf
当调用OnBoard_stack_used()函数获取栈使用大小时,系统死机,调试看到如下:
请问大神,这个问题是已知bug吗还是需要我更改哪儿设置,
谢谢
我的经验是IAR直接debug看变量值,十有八九根本不靠谱,但是又没有类似的"控制台" printf输出。
貌似是Download and Debug的实现有问题,我尝试了Ddebug without Downloading再查看local值就正常。
这个ptr看起来初始化为END,从后往前统计Stack占用,死机就不知道是什么原因了
Debug看变量,十有八九靠谱,除非看错了哈。
ptr是这样用,这个函数就统计用的。死机原因是访问了非法指针的内容,根源就是连接时候这个变量值不对,所以才提出这个问题请行家来指点哈。
谢谢老兄。
也请大神给解答。
不可能是看错,肯定是IAR的bug,很多时候直接看变量是不行的。
我还没法试这个方法,不过我修改了icf文件,把另外的16KB闲置的RAM给利用起来,就足够了。
//
// Define a region for the on-chip SRAM.
//
define region SRAM = mem:[from 0x20000000 to 0x20007FFF];
没理解你修改这个ram和我提的stack问题有啥关系。
IAR debug看变量根本不靠谱
那是你看不到也不是你说的看不对,请回到本帖正题。谢谢。
TI大神们,来看看啊 。
谢谢了
ka zhang:
你说的没错,刚才在Z-Stack 3.0 CC2538 SampleLigth工程上试了一下调用OnBoard_stack_used(),结果程序的确死翘翘了,真不知道Z-Stack 3.0在搞什么鬼? @VV
刚才又在Z-Stack 2.6.1上做了测试,同样死翘翘,看来这个函数形同虚设,最好别用了。
哥们,有问题解决问题哈,不要发这样言论 J。
死机原因是地址设置不对,具体地址配置肯定是工程很熟的人去修改比较好,这里请ti的高手们解就好了,希望他们快一些看到,@VV