搜索
bottom↓
回复: 35

总觉得KEIL编译时超过2K(破解版)后有问题,求高人指点

[复制链接]

出0入0汤圆

发表于 2012-6-26 10:50:20 | 显示全部楼层 |阅读模式
各位高人:

   我在此论坛之前发了两个贴子!我本人感觉到用KEIL编译的时候,程序不能太长,超一定长度就出现问题,一直在STARTUP.A51里转悠!总跳不到MAIN()中来!不知道大家有否同感?求答案中...


注:   我是用新华龙的C8051F330比较多!

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2012-6-30 15:42:19 | 显示全部楼层
谢谢楼上帮忙可是我加了那语句后,问题依旧!
快倒了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-6-26 10:54:55 | 显示全部楼层
本帖最后由 and001 于 2012-6-26 11:50 编辑

自己顶下先,自己修改过!好象还是有问题,

改前:

.....
IF IDATALEN <> 0
                MOV     R0,#IDATALEN - 1
                CLR     A
IDATALOOP:      MOV     @R0,A
                DJNZ    R0,IDATALOOP
ENDIF
....

改后: // 不清7F个RAM.
IF IDATALEN <> 0
              ;  MOV     R0,#IDATALEN - 1
              ;  CLR     A
IDATALOOP:  
              ;MOV     @R0,A
              ;  DJNZ    R0,IDATALOOP
ENDIF


可还是跳不到MAIN()

请高人指点? 已经注册过了!!

出0入0汤圆

发表于 2012-6-26 10:57:56 | 显示全部楼层
自己修改一下start。a51

出0入0汤圆

发表于 2012-6-26 11:48:54 | 显示全部楼层
估计你没用注 册 机 注册

出0入0汤圆

 楼主| 发表于 2012-6-26 16:01:43 | 显示全部楼层
求高人指点!是否也碰到类似问题!!

出0入0汤圆

发表于 2012-6-26 20:27:42 | 显示全部楼层
自己下载一个,然后用注册机注册!不要用别人“破解”的;
怀疑:别人破解的是不是注册之后连目录一起拷贝打包的?然后你解压之……这样的话电脑不同可能有很多……麻烦!

出0入0汤圆

 楼主| 发表于 2012-6-27 09:08:53 | 显示全部楼层
谢谢楼上的朋友!我按你要求试试看!

出0入0汤圆

发表于 2012-6-27 14:37:45 | 显示全部楼层
我用的2。0版本好像没有啥问题

出0入0汤圆

 楼主| 发表于 2012-6-27 17:22:24 | 显示全部楼层
我是用新华龙的C8051F330仿真! VER2.0应该不支持!
是不是和IC也有关系呀!

出0入0汤圆

发表于 2012-6-27 19:21:57 | 显示全部楼层
好像没有这个问题的吧?

出0入8汤圆

发表于 2012-6-27 19:43:56 | 显示全部楼层
330需要启动后首先禁止看门狗。

出0入0汤圆

发表于 2012-6-27 20:23:19 | 显示全部楼层
直接不要新建项目时生成的劳什子STARTUP.A51,没用的。

出0入0汤圆

 楼主| 发表于 2012-6-27 20:54:51 | 显示全部楼层
本帖最后由 and001 于 2012-6-27 20:59 编辑

11楼说的好象有些道理!但不知道默认情况下是多久喂一次狗?如果这样我感觉到是一个IC的缺陷

出0入0汤圆

 楼主| 发表于 2012-6-30 13:20:27 | 显示全部楼层
真是不好意思!也许我弄错了
事实上我装了EUTAL给地址软件,其实效果是一样的,为什么好象程序没在STARTUP。A51里转悠呢原来是设置问题
刚装完后,我的默认设置是这样的(看附件图片),其实默认设置是真是不好意思!也许我弄错了
事实上我装了你给地址软件,其实效果是一样的,为什么好象程序没在STARTUP。A51里转悠呢原来是设置问题
刚装完后,我的默认设置是这样的 (看附件图片)
但确实给人有程序跑的流畅的感觉!遗憾的是两不是,即不是软件仿真,有不是硬件仿真!并且不能进入软件中断处理代码中
哎!这鬼KEIL让我费尽心思了。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-6-30 13:21:10 | 显示全部楼层
烦死了。。

出0入0汤圆

发表于 2012-6-30 13:47:28 | 显示全部楼层
和Keil无关, C8051F系统的喂狗时间太短,而且是上电就工作的.  如果程序里有大量全局变量(比如数组)要初始化, 这部分工作要在startup.a51里完成, 所以会导致还没执行到main()函数, 系统就复位了.   所以解决办法是在startup.a51里先关狗.


                CSEG    AT      0
?C_STARTUP:     LJMP    STARTUP1

                RSEG    ?C_C51STARTUP

STARTUP1:

                MOV                0D9H,#00h; 加入这行, 关开门狗, close  WDT
IF IDATALEN <> 0
                MOV     R0,#IDATALEN - 1
                CLR     A
IDATALOOP:      MOV     @R0,A
                DJNZ    R0,IDATALOOP
ENDIF

出0入0汤圆

 楼主| 发表于 2012-6-30 15:47:42 | 显示全部楼层
请高人帮忙呀!

出0入0汤圆

 楼主| 发表于 2012-7-1 20:54:34 | 显示全部楼层
本帖最后由 and001 于 2012-7-1 20:59 编辑

谢谢楼上帮忙可是我加了那语句后,问题依旧!快倒了。。。
我把问题图片再上传一下
好象看不到了。。 程序在软件仿中中出现问题,


特别提示:  我的MCU IC是C8051F330D

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-1 20:55:43 | 显示全部楼层
好象看不到了。。  继续上传图3

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-1 20:56:29 | 显示全部楼层
好象看不到了。。继续上传图4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-1 20:57:06 | 显示全部楼层
好象看不到了。。继续上传图5

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-1 20:58:04 | 显示全部楼层
好象看不到了。。继续上传图6, 请高人继续帮忙指点

期待中。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-2 09:11:34 | 显示全部楼层
依然等待高人帮忙....

出0入0汤圆

发表于 2012-7-2 15:25:44 | 显示全部楼层
软件仿真也是这样? 程序打包发上来看看.

出0入0汤圆

 楼主| 发表于 2012-7-2 20:51:34 | 显示全部楼层
本帖最后由 and001 于 2012-7-2 20:52 编辑

你好!为了让你看得不清楚点我去掉了不需要的部分,但编译HEX文件后长度为2139  (我感觉到程序就在STARTUP.A51中转悠!!跑不到MAIN()中来)

program size :size data=83.0 xdata=64 code=2139
没有错误 但有15个无关紧要的警告

我是想写个蓝牙无线通信程序!

请高人帮忙分析,看看问题在哪里!谢谢

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-7-2 20:58:16 | 显示全部楼层
么用过这个启动文件呃

出0入0汤圆

 楼主| 发表于 2012-7-2 20:59:05 | 显示全部楼层
是的!哈哈
哈哈

出0入0汤圆

发表于 2012-7-2 22:06:44 | 显示全部楼层
and001 发表于 2012-7-2 20:51
你好!为了让你看得不清楚点我去掉了不需要的部分,但编译HEX文件后长度为2139  (我感觉到程序就在STARTUP. ...

编译不能过, 一大堆Warning, Keil的Warning是不能忽略的,
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  HEARTRATE
    MODULE:  nRF8001.obj (NRF8001)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  CONFIGER
    MODULE:  nRF8001.obj (NRF8001)
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:  FLG_CONNECTED
    MODULE:  nRF8001.obj (NRF8001)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  CONFIGER
    MODULE:  nRF8001.obj (NRF8001)
    ADDRESS: 07B2H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  FLG_CONNECTED
    MODULE:  nRF8001.obj (NRF8001)
    ADDRESS: 06C6H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  FLG_CONNECTED
    MODULE:  nRF8001.obj (NRF8001)
    ADDRESS: 06D4H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:  HEARTRATE
    MODULE:  nRF8001.obj (NRF8001)
    ADDRESS: 0847H

这些符号都无法链接, 编译结果必定是错误的.

出0入0汤圆

发表于 2012-7-2 22:29:01 | 显示全部楼层
因为你给的文件不全,为了编译通过(再说一遍,Keil C的Warning不能忽略, 这货连链接不上函数都不是ERROR,而是Waring), 修改nF8001.c 加了两个变量后没问题了. 见附件.


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2012-7-3 09:20:36 | 显示全部楼层
本帖最后由 and001 于 2012-7-3 09:24 编辑

谢谢高高人!考虑问题非常严谨! 真是厉害呀! 根本问题在二维数组那里!!
顺便问问 以下两个定义有什么区别(难怪我把二维数组缩短好象就没有问题了,总感觉文件长了不行)?
char  code        Configer[][32]={};
extern   const  char  Configer[][32]={};

出25入12汤圆

发表于 2012-7-3 09:43:27 | 显示全部楼层
一个是实实在在的饼,一个是墙上的饼

出0入0汤圆

 楼主| 发表于 2012-7-3 12:40:18 | 显示全部楼层
在高人的帮忙下,可以结贴了!谢谢高人呀!这里高人多呀! 好人也多!

出0入0汤圆

发表于 2012-7-3 14:00:20 | 显示全部楼层
and001 发表于 2012-7-3 09:20
谢谢高高人!考虑问题非常严谨! 真是厉害呀! 根本问题在二维数组那里!!
顺便问问 以下两个定义有什么区别( ...

C51语言和标准C都不认为const的东西要存储在flash里, 而是存储在RAM中, 想表达存储在Flash中,C51 要用code 修饰.

出0入0汤圆

 楼主| 发表于 2012-7-3 17:54:14 | 显示全部楼层
真不好意思!我改了下我的程序还有8个警告!不知道你还修改了??

除了你定义了 (在NRF8001.C中)
unsigned char HeartRate ; // add for compile
bit flg_connected;        // add for compile

出0入54汤圆

发表于 2012-7-17 10:42:05 | 显示全部楼层
我的能用 没问题的
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 17:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表