您的位置 首页 应用

使用keil c51生成hex怎么设置ROM

我使用at89s52(256RAM,8K的ROM),程序编译后显示programSize:data=56.0xdata=0code=3529。我的电路中无外部ROM,为了使生成的hex代…

我运用at89s52(256RAM,8K的ROM),程序编译后显现program Size: data=56.0 xdata=0 code=3529。我的电路中无外部ROM,为了使生成的hex代码只存储在该片at89s52,我怎样设置呢?选small必定不可,由于我的代码大于2K;若选compact,代码能放在64K的程序空间,而我s52只要8K的ROM,代码不会放在我的8K之外吧,那样必定会犯错的。若我挑选“Use on-chip ROM(0x0-0xFFF)”,有什么影响? 求高手帮助了。。。。

附帖:为了阐明问题,供给一下Small、Compact及Large的阐明(虽然知道有此三种设置,但仍是不会运用,不知在什么情况下做何设置),在keil C51编译环境中,能供给:设置ROM空间的运用,有3个挑选项,Small、Compact及Large。1.Small:只用低于2K的程序空间,适用于AT89C2051这些芯片,2051只要2K的代码空间,所以跳转地址只要2KB,编译的时分会运用ACALL  AJMP这些短跳转指令,而不会运用LCALL  LJMP指令。假如代码地址跳转超越2K,那么会犯错。2.Compact:单个函数的代码量不能超越2K,整个程序能够运用64K程序空间。3.Large:可用悉数64K空间,表明程序或子函数代码都能够大到64KB,运用code bank还能够更大。一般都选用该方法。挑选Large方法速度不会比Small慢许多,所以一般没有必要挑选Compact和Small方法。Use on-chip ROM(0x0-0xFFF)挑选项,表明运用片上的ROM (选中该项并不会影响终究生成的方针代码量),该选项取决于单片机运用体系,假如单片机的EA接高电平,则选中这个选项,表明运用内部ROM,假如单片机的EA接低电平,表明运用外部ROM,则不选中该选项。
问题弥补:

我运用at89s52(256RAM,8K的ROM),程序编译后显现program Size: data=56.0 xdata=0 code=3529。我的电路中无外部ROM,为了使生成的hex代码只存储在该片at89s52,我怎样设置呢?选small必定不可,由于我的代码大于2K;若选compact,代码能放在64K的程序空间,而我s52只要8K的ROM,代码不会放在我的8K之外吧,那样必定会犯错的。若我挑选“Use on-chip ROM(0x0-0xFFF)”后,那Small、Compact及Large 三档选哪一档?

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/275408.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部