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

[复制链接]
13808|44
 楼主| auzxj 发表于 2009-8-24 12:45 | 显示全部楼层
17# georgekin203
Program Size: data=88.3 xdata=2496 code=7742
这是我存储器的使用情况。。。。
yewuyi 发表于 2009-8-24 13:18 | 显示全部楼层
呵呵,LS的,很菜是一道什么样的菜?可以炒饭吗?可以下酒吗?
 楼主| auzxj 发表于 2009-8-24 15:42 | 显示全部楼层
22# yewuyi
“很菜”都没吃过?不可能吧,开始很苦,后来有点甜,以后越来越甜,甜到一定程度就没味道了,忘了“很菜”的滋味了,这叫味觉适应,您是不是已经忘了啊
哪天抓只菜鸟回家包饺子。。。。。。
georgekin203 发表于 2009-8-24 19:50 | 显示全部楼层
建议楼主再仔细检查一下,导致启动失败可能不会是xdata太多,而是 其他编译条件或者中断太多.虽然通过修改启动文件调试通了,但是根本原因却不是这个,
 楼主| auzxj 发表于 2009-8-24 20:12 | 显示全部楼层
24# georgekin203
我把xdata减少就不会出现这问题啊,那我再检查一下,你觉得有什么别的原因吗?可以一起探讨。。。
georgekin203 发表于 2009-8-25 09:18 | 显示全部楼层
思来想去,觉得楼主有道理,问一下,你的xdata是定义在片内的4 k XRAM 里还是片外扩展的xram?
tage 发表于 2009-8-25 09:24 | 显示全部楼层
不错。
huangqi412 发表于 2009-8-25 09:33 | 显示全部楼层
KEIL弄ARM也发现,呵呵,俺,俺当然第一反映就看启动那了,默认开看门狗了...
 楼主| auzxj 发表于 2009-8-25 09:37 | 显示全部楼层
26# georgekin203 是片内xram的,我一般要是片内的不够用,要么优化,要么直接换一个大一些的,从来不外扩,呵呵。。。。。再说我都裸奔,用不了太大。。。。
 楼主| auzxj 发表于 2009-8-25 09:53 | 显示全部楼层
KEIL弄ARM也发现,呵呵,俺,俺当然第一反映就看启动那了,默认开看门狗了...
huangqi412 发表于 2009-8-25 09:33

像你们比较熟了还好,我以前只知道有启动代码这回事,不知道他的具体的用途,现在也不是很明白,很多和我一样的初学者碰到这问题都很棘手
有的时候高手觉得很容易的事情,在初学者那却是很大的障碍,这就是所谓的会而不难、难而不会…………
victech 发表于 2009-8-25 22:44 | 显示全部楼层
学C8051必须要去这个论坛看看才行
https://www.silabs.com/support/forums/pages/default.aspx
这是silabs公司的论坛,感觉回复很快,并且还很认真负责
 楼主| auzxj 发表于 2009-8-26 18:44 | 显示全部楼层
31# victech
不错,国外的很多论坛都很好,有些并不是技术支持的论坛,但回复很快,有时间我整理一下比较好的国外的论坛,用我的中式英语他们也能看懂,哈哈
cmzlap 发表于 2009-8-27 08:42 | 显示全部楼层
不要耍嘴皮子,说正事
 楼主| auzxj 发表于 2009-8-27 21:17 | 显示全部楼层
33# cmzlap
嘛意思??
清风一士 发表于 2009-8-28 11:39 | 显示全部楼层
偶记得C51有个类似的入口函数,可以不用直接修改启动代码,但是忘记什么名字了
emicro 发表于 2009-8-28 15:48 | 显示全部楼层
LZ说的原因和做法没问题,我用C8051F340时也遇到相似的问题。外扩了32K RAM,做内存检查就进不了mian函数,删除内存检查函数就正常 了。同样在网上一通搜索,真发现不少同样案例,有好几个提到要在项目里加入silabs范例中的STARTUP.A51。加入后编译、装入,果然没问题了。把它跟Keil的STARTUP.A51一对比发现主要是多了一句ANL 0D9H, #0BFH查看数据手册,发现这个就是关闭看门狗的,这下全都清楚了。因为前后没花多长时间,也没感觉是多大个问题,要是没看到LZ帖子,都没什么印象了。
 楼主| auzxj 发表于 2009-8-28 15:54 | 显示全部楼层
36# emicro
我是在keil下开发的,silabs他自己的集成开发环境用的不习惯,不知道用它的环境它加载的是哪个启动文件,可能用它的环境就没问题了吧
emicro 发表于 2009-8-28 16:21 | 显示全部楼层
我也用的是Keil,启动文件是从silabs网站上F340的一个范例中拷贝的。建议你装一个新版的silabs开发环境,它提供了很多范例,不用它的开发环境,看看那些代码也是很有帮助的。
 楼主| auzxj 发表于 2009-8-28 16:53 | 显示全部楼层
38# emicro
开始用C8051f的时候就是用它的集成环境,后来换的keil,现在打算用STM32了,O(∩_∩)O哈哈~
hemyname 发表于 2009-8-28 21:33 | 显示全部楼层
yuan来。。。有是狗的错。。哎呀。。我一直没有搞懂、。。为什么要养个狗,,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部