Image
Image

haohaodee

+ 关注

粉丝 0     |     主题 3     |     回帖 80

指针使用不当,会造成很奇怪的问题,大家注意
2018-5-5 17:08
  • 侃单片机论坛
  • 76
  • 8871
  生成的image,有if,所在的函数size大了64个字节,他之后的函数,地址向后顺延了64个字节,飞机就不稳了。 ...  
  感谢苏山。 1. 所有编译生成的中间文件都在obj文件夹中,尝试过全部clean了,还是不行。 2. 程序中有一个 ...  
  很可能不是这个问题,这个只会引起随机的问题,但是稳的那个代码一直会稳。 ...  
  很可能是这个原因,我就是对这里没信心。 主要是怎样取串口收到的数据,然后解帧。目前使用的方法是另开一 ...  
  是啊,所以有没有技术手段能够分析。 比如比较.map,.hex,看代码位置的变化。 我现在还搞不懂,你有没有 ...  
  谢谢啦。 但是貌似跟条件判断没关系。我写成if(true),飞机就抖动;如果改成if(false),飞机就稳了。我也 ...  
  现在我们有这个线索,多家那一行和不加那一行的问题,最好是有能力从这里入手。 ...  
  我昨天把所有的数组指针检查了一遍。。。还是没搞定。。。  
  现在不是只这里会引起问题,即使这里注释掉if里面的,飞机飞稳了; 此时如果再修改别的地方,多一句或者少 ...  
  uint8_t control_get_mode() { return control_mode; } 反汇编: 0x08007942 2000 DCW ...  
  你说的对齐具体是指哪种情况啊如果飞稳了,我各种飞行基本都是正常的  
  你说的4个字节和我说的data段多出来的4个字节是不是可能是一回事。 现在把排查目标锁定到多出来的这4个 ...  
  有那一句比没那一句,所在的文件data段多了4个字节,就变抖了 hex的差别相差很大,我还看不出眉目 ...  
  control_mode_get()的反汇编: 149: return control_mode; 0x08007948 4801 LDR ...  
  好的hex和不好的hex反复测试过,好的一直都好,每次烧进去都好,不好的也一直不好。确认不是偶然因素造成 ...  
  好主意,比较hex。我明天上control_mode_get()的反汇编。 目前我比较.map,发现是他们所在的函数,有了判 ...  
  我现在比较在比较两种情况下生成的.map文件,还不确定怎么分析  
  堆栈有什么问题呀,我改大了堆栈也不行  
  堆栈有什么问题,我改大试了也不行  
  可能是,我有一个卡尔曼的函数,注释掉就没问题了  
2
3
近期访客