打印
[匠人手记]

《两轮小车DIY》之《STM32 堆栈溢出的问题》(问题解决,已

[复制链接]
4071|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
程序匠人|  楼主 | 2009-3-16 00:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
更多相关内容连接:《两轮小车DIY》主贴 

前几天写了LCD1602程序(其实也就不过是移植篡改啦),今晚调试。一开始当然是问题多多啦,幸好大多数都是一些笔误原因造成的。再加上匠人神勇无敌,一路过关斩将,大小妖精逐个斩杀,把匠人高兴得,“欧耶”了好几回。最后总算把错误排除,满以为可以正常工作了。结果,进入仿真后又遇到这么个超级变态的终极BOSS:


“Sun Mar 15 23:08:56 2009: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.%”

还没几行指令,堆栈就溢出啦?哈哈,这下彻底倒塌。

先坦白一下匠人做的“坏事”。基本上是在原有DEMO(流水灯)的基础上修改:
1、增加LCD模块。
2、增加了一个延时函数模块,其中又用到了SysTick中断。(基本上是按照香斑竹在《STM32F10x常见应用解析.pdf》中介绍的方法)

先开个贴,相当于“自首”。待香斑竹来“提审”。看还需要匠人交待什么,再一并“坦白”。

相关帖子

沙发
程序匠人|  楼主 | 2009-3-16 00:19 | 只看该作者

另外1个讨论贴


另外1个相关讨论贴子地址如下(可惜都没有讨论出什么结果来,所以就不转帖啦,给个地址吧):

我在调试USART1的时出现的一个运行错误
http://group.**/619/10215.aspx?page=1

使用特权

评论回复
板凳
香水城| | 2009-3-16 14:12 | 只看该作者

经确认应该是匠人所用的驱动有问题

匠人的问题是最早ST-LINK驱动的问题,请在ST网站下载更新的驱动,就不会出现这个堆栈溢出的问题了。

STM32 微控制器系列
   开发工具 (Development Tools)
       ST-Link2使用指南  IAR EWARM 4.42A 驱动  Keil MDK 3.22 驱动

使用特权

评论回复
地板
程序匠人|  楼主 | 2009-3-16 16:08 | 只看该作者

香斑竹的“严刑拷打”及匠人的“口供”笔录

为了此帖的完整性,避免网友们看到4楼的帖子后一头雾水。特公开一下香斑竹的“严刑拷打”及匠人的“口供”笔录:


 程序匠人 发给 香水城 于 2009-3-16 12:31:50   
又要请教啦:https://bbs.21ic.com/club/bbs/list.asp?boardid=63&page=1&t=3265094&tp=%u300A%u4E24%u8F6E%u5C0F%u8F66DIY%u300B%u4E4B%u300ASTM32%20%u5806%u6808%u6EA2%u51FA%u7684%u95EE%u9898%u300B%uFF08%u52A8%u6001%u66F4%u65B0%uFF09 


 香水城 发给 程序匠人 于 2009-3-16 12:48:18   
这应该是IAR的软件问题,最近很久没有人文这个问题了。
请问你用的是什么版本的调试软件?要不要我找人帮你看看?

 程序匠人 发给 香水城 于 2009-3-16 13:02:28   
版本是IAR EWARM 4.42A。这个版本来自于当初万利板的配套
光盘。因为年前安装了。后来这次拿到新的板子后,我试了一下可以用,就没有重新安装IAR。

 香水城 发给 程序匠人 于 2009-3-16 14:13:45   
《STM32堆栈溢出的问题》是驱动的问题,请在ST网站下载更新驱动,URL在你的帖子中。

程序匠人 发给 香水城 于 2009-3-16 14:26:07   
谢谢!研究一下,再回复

 
 


 
 

使用特权

评论回复
5
kbgyzp| | 2009-3-16 21:21 | 只看该作者

晕,匠人这大牛还用仿真器啊?!

直接用串口下程序加调试就可以了,哪里不对直接把内存数据用指针发出来瞧瞧,从不用仿真器

使用特权

评论回复
6
hotpower| | 2009-3-16 21:22 | 只看该作者

6楼比匠人牛~~~

使用特权

评论回复
7
程序匠人|  楼主 | 2009-3-16 22:33 | 只看该作者

向香斑竹报喜!欧耶!

第1喜:匠人重新把新的配套光盘里面的"installSTLink.exe"文件重新按装了一遍,堆栈溢出的问题解决了。

第2喜:在秒杀了终极BOSS后,1602LCD显示屏程序已经顺利调通了。本着开源的精神。稍后上图,并上源程序。

双喜临门啊,欧耶!

使用特权

评论回复
8
hotpower| | 2009-3-16 22:34 | 只看该作者

匠人总在玩呼啦圈~~~俺有时间也转转看晕乎不~~~

使用特权

评论回复
9
程序匠人|  楼主 | 2009-3-16 23:01 | 只看该作者

上图


 
 

使用特权

评论回复
10
香水城| | 2009-3-16 23:03 | 只看该作者

哈哈,鼓掌祝贺

今晚大家都可以睡个好觉了,俺也不怕半夜被匠人吵醒了≈≈≈≈≈ ^_^

使用特权

评论回复
11
程序匠人|  楼主 | 2009-3-16 23:11 | 只看该作者

哈哈,谢谢香斑竹。就此结贴!欧耶!

下回再骚扰您。呵呵。



补充一句,LCD的驱动程序见:《两轮小车DIY》之《LCD模块》(动态更新)

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

734

主题

11156

帖子

676

粉丝