程序代码比单片机内部ROM大了,怎么办?

[复制链接]
5702|19
 楼主| zxq1234508 发表于 2007-5-23 16:42 | 显示全部楼层 |阅读模式
可不可以把程序下在到外部ROM里面?但是单片机启动的时候怎么调用呢?
Airwill 发表于 2007-5-23 16:50 | 显示全部楼层

哈哈

1. 换大rom 的片子
2. 代码优化(指针和循环往往会出奇制胜)
3. 外挂 rom 可是不好的选择(大多片子也不支持)
 楼主| zxq1234508 发表于 2007-5-23 16:50 | 显示全部楼层

自己顶一下先!

 楼主| zxq1234508 发表于 2007-5-23 17:06 | 显示全部楼层

回2楼

大ROM的单片机有那些啊,我估计我这各程序代码由几十K吧,如果要从外部调用的话是不是要具有BOOTLOADER功能的芯片?
后学 发表于 2007-5-23 17:57 | 显示全部楼层
ww4u 发表于 2007-5-23 19:18 | 显示全部楼层

同意

利用EA可以选择程序启动方式为低时读外部ROM,为高时读内部ROM
winhiwang 发表于 2007-5-23 19:48 | 显示全部楼层

你用的是什么单片机呀

  大多少,压缩一下程序,多做些子程序什么的
 楼主| zxq1234508 发表于 2007-5-24 07:56 | 显示全部楼层

用的是AT89S2的内部ROM8K,用keil编译后
Program Size: data=60.6 xdata=759 code=17594
想请教一下,keil 里怎么看编译后的代码有多长?
另外,5楼说的利用EA,那程序代码要不 要做特殊处理?直接把程序烧录到外部ROM就可以了?
后学 发表于 2007-5-24 08:01 | 显示全部楼层

code=17594

直接把程序烧录到外部ROM就可以了
fsaok 发表于 2007-5-24 08:40 | 显示全部楼层

.

用的是AT89S2的内部ROM8K,用keil编译后
Program Size: data=60.6 xdata=759 code=17594

换89C55就可以了
救火车 发表于 2007-5-24 08:55 | 显示全部楼层

AT89C55WD

hqgboy 发表于 2007-5-24 10:43 | 显示全部楼层

stc89c516 64k w78e516 64k

atmega128 128k
lpc2138 512k
mc9s08aw60 60k
conwh 发表于 2007-5-24 10:48 | 显示全部楼层

因为是单片机能不加外片的就不加

孤独泪 发表于 2007-5-24 10:57 | 显示全部楼层

还可以选择优化方式9

应该可以为你节省很多空间,
综合比较方法如下:
1:编译器优化方法选择
2:程序精简
3:选择片内rom较大的cpu,原则兼容,成本变化不大。
4:外部扩展rom.
5: 实在没办法了,改cpu,能够扩展更大的rom。
6: 在实在没办法,程序还是太大了,别找理由了,不就是想把项目XX吗?
 楼主| zxq1234508 发表于 2007-5-24 13:30 | 显示全部楼层

====

外部扩展ROM有没有特殊的要求?只要把程序烧进去就可以了?
还有就是keil里编译了的代码长度怎么看?还是计算?
古道热肠 发表于 2007-5-24 13:35 | 显示全部楼层

Keil环境代码长度能看到

  如楼上朋友的结果Program Size: data=60.6 xdata=759 code=17594
  代码长度为17594Byte,17K多一点,记住8K长度最大8192 32K最大32768
......
 楼主| zxq1234508 发表于 2007-5-24 15:37 | 显示全部楼层

多谢古道热肠

明白怎么看代码长度了,嘿嘿。。。。
yinjunlei 发表于 2007-5-24 15:56 | 显示全部楼层

C8051F120 ROM 120K

孤独泪 发表于 2007-5-24 16:16 | 显示全部楼层

还有老兄不仅是ROM不够

Program Size: data=60.6 xdata=759 code=17594。
89c52本人记得片内没有xdata,就是有肯定没有759。只有128字节data.
你这个程序可以选有sm8958或者stc8958接近。
资源分别为sm8958, 256data  1024-256 xdata, 32768flash(rom).
          stc8958,256data  1024xdata,      32768-2048 flash(rom).
还有写程序时尽量用data。
 楼主| zxq1234508 发表于 2007-5-24 16:59 | 显示全部楼层

可以把程序下载到外部ROM吗?

多谢孤独泪的提醒,不过我在外部扩展了RAM了的,不怕XDATA不够。
现在我想知道的是可不可以把程序全部烧录到外部ROM里吗?那样的话硬件上要不要特殊设计?51系列的单片机有没有这种功能?DSP好象有这功能
BOOTLOADER?)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

485

帖子

0

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