打印

【有奖征文活动】C8051F 进不了main函数问题解决办法

[复制链接]
楼主: auzxj
手机看帖
扫描二维码
随时随地手机跟帖
21
auzxj|  楼主 | 2009-8-24 12:45 | 只看该作者 回帖奖励 |倒序浏览
17# georgekin203
Program Size: data=88.3 xdata=2496 code=7742
这是我存储器的使用情况。。。。

使用特权

评论回复
22
yewuyi| | 2009-8-24 13:18 | 只看该作者
呵呵,LS的,很菜是一道什么样的菜?可以炒饭吗?可以下酒吗?

使用特权

评论回复
23
auzxj|  楼主 | 2009-8-24 15:42 | 只看该作者
22# yewuyi
“很菜”都没吃过?不可能吧,开始很苦,后来有点甜,以后越来越甜,甜到一定程度就没味道了,忘了“很菜”的滋味了,这叫味觉适应,您是不是已经忘了啊
哪天抓只菜鸟回家包饺子。。。。。。

使用特权

评论回复
24
georgekin203| | 2009-8-24 19:50 | 只看该作者
建议楼主再仔细检查一下,导致启动失败可能不会是xdata太多,而是 其他编译条件或者中断太多.虽然通过修改启动文件调试通了,但是根本原因却不是这个,

使用特权

评论回复
25
auzxj|  楼主 | 2009-8-24 20:12 | 只看该作者
24# georgekin203
我把xdata减少就不会出现这问题啊,那我再检查一下,你觉得有什么别的原因吗?可以一起探讨。。。

使用特权

评论回复
26
georgekin203| | 2009-8-25 09:18 | 只看该作者
思来想去,觉得楼主有道理,问一下,你的xdata是定义在片内的4 k XRAM 里还是片外扩展的xram?

使用特权

评论回复
27
tage| | 2009-8-25 09:24 | 只看该作者
不错。

使用特权

评论回复
28
huangqi412| | 2009-8-25 09:33 | 只看该作者
KEIL弄ARM也发现,呵呵,俺,俺当然第一反映就看启动那了,默认开看门狗了...

使用特权

评论回复
29
auzxj|  楼主 | 2009-8-25 09:37 | 只看该作者
26# georgekin203 是片内xram的,我一般要是片内的不够用,要么优化,要么直接换一个大一些的,从来不外扩,呵呵。。。。。再说我都裸奔,用不了太大。。。。

使用特权

评论回复
30
auzxj|  楼主 | 2009-8-25 09:53 | 只看该作者
KEIL弄ARM也发现,呵呵,俺,俺当然第一反映就看启动那了,默认开看门狗了...
huangqi412 发表于 2009-8-25 09:33

像你们比较熟了还好,我以前只知道有启动代码这回事,不知道他的具体的用途,现在也不是很明白,很多和我一样的初学者碰到这问题都很棘手
有的时候高手觉得很容易的事情,在初学者那却是很大的障碍,这就是所谓的会而不难、难而不会…………

使用特权

评论回复
31
victech| | 2009-8-25 22:44 | 只看该作者
学C8051必须要去这个论坛看看才行
https://www.silabs.com/support/forums/pages/default.aspx
这是silabs公司的论坛,感觉回复很快,并且还很认真负责

使用特权

评论回复
32
auzxj|  楼主 | 2009-8-26 18:44 | 只看该作者
31# victech
不错,国外的很多论坛都很好,有些并不是技术支持的论坛,但回复很快,有时间我整理一下比较好的国外的论坛,用我的中式英语他们也能看懂,哈哈

使用特权

评论回复
33
cmzlap| | 2009-8-27 08:42 | 只看该作者
不要耍嘴皮子,说正事

使用特权

评论回复
34
auzxj|  楼主 | 2009-8-27 21:17 | 只看该作者
33# cmzlap
嘛意思??

使用特权

评论回复
35
清风一士| | 2009-8-28 11:39 | 只看该作者
偶记得C51有个类似的入口函数,可以不用直接修改启动代码,但是忘记什么名字了

使用特权

评论回复
36
emicro| | 2009-8-28 15:48 | 只看该作者
LZ说的原因和做法没问题,我用C8051F340时也遇到相似的问题。外扩了32K RAM,做内存检查就进不了mian函数,删除内存检查函数就正常 了。同样在网上一通搜索,真发现不少同样案例,有好几个提到要在项目里加入silabs范例中的STARTUP.A51。加入后编译、装入,果然没问题了。把它跟Keil的STARTUP.A51一对比发现主要是多了一句ANL 0D9H, #0BFH查看数据手册,发现这个就是关闭看门狗的,这下全都清楚了。因为前后没花多长时间,也没感觉是多大个问题,要是没看到LZ帖子,都没什么印象了。

使用特权

评论回复
37
auzxj|  楼主 | 2009-8-28 15:54 | 只看该作者
36# emicro
我是在keil下开发的,silabs他自己的集成开发环境用的不习惯,不知道用它的环境它加载的是哪个启动文件,可能用它的环境就没问题了吧

使用特权

评论回复
38
emicro| | 2009-8-28 16:21 | 只看该作者
我也用的是Keil,启动文件是从silabs网站上F340的一个范例中拷贝的。建议你装一个新版的silabs开发环境,它提供了很多范例,不用它的开发环境,看看那些代码也是很有帮助的。

使用特权

评论回复
39
auzxj|  楼主 | 2009-8-28 16:53 | 只看该作者
38# emicro
开始用C8051f的时候就是用它的集成环境,后来换的keil,现在打算用STM32了,O(∩_∩)O哈哈~

使用特权

评论回复
40
hemyname| | 2009-8-28 21:33 | 只看该作者
yuan来。。。有是狗的错。。哎呀。。我一直没有搞懂、。。为什么要养个狗,,

使用特权

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

本版积分规则