打印

请问51单片机外扩的ROM如何烧写?

[复制链接]
6399|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhizuzhe|  楼主 | 2009-2-25 21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
lyjian| | 2009-2-26 08:08 | 只看该作者

用编程器

使用特权

评论回复
板凳
救火车| | 2009-2-26 08:47 | 只看该作者

第31脚置高。烧ROM用编程器。

使用特权

评论回复
地板
zhizuzhe|  楼主 | 2009-2-26 14:08 | 只看该作者

一部分CODE在内部,一部分在外部啊~

51单片机一般都带ISP了,没看到有选择烧写范围的啊,
如果单片机内部flash不够,ISP能够自动把剩下的代码烧写到外扩的ROM中么?

用烧写器完整地烧写ROM我是知道的,但是不知道如何做到将单片机内部放不下的代码烧写到外部ROM,不知道我这样说清楚了没,呵呵。

使用特权

评论回复
5
ayb_ice| | 2009-2-26 20:25 | 只看该作者

现在很少一半在片内,一半在片外。。。

使用特权

评论回复
6
maxking| | 2009-2-26 21:31 | 只看该作者

现在很少用到外部rom了

我也很想了解下,估计老一辈知道怎样回事?

使用特权

评论回复
7
McuPlayer| | 2009-2-26 22:15 | 只看该作者

烧录器就可以了

比如你的代码64K,而单片机内置Flash只有24K

那么就就要把目标代码切割成24K和48K的两个文件,前者烧录到单片机(用ISP或者烧录器),后者烧录到外置存储器(EPROM或者FLash等)

使用特权

评论回复
8
Conanyang| | 2009-2-27 11:32 | 只看该作者

内部ROM可以ISP,外部ROM必须烧录

    从51的datasheet上可以看出,两种编程方式(并行、串行)的编程地址最大都是给到内部程序存储器的最大值,大于的地址都舍弃了。所以无法使用在线编程方式去编程外部存储器。
    而,如果一部分程序在片内,一部分程序在片外,如果你编译好的程序是bin文件,那么可以分割相应的大小去烧录,但是如果你的程序是.hex或其它,就不行了。具体原因见bin和hex的区别。

使用特权

评论回复
9
jack.king| | 2009-2-27 11:37 | 只看该作者

这个问题我也想知道!

LS
请问是不是首先HEX-BIN然后大小分割这个分别烧写就可以了啊?

使用特权

评论回复
10
quakegod| | 2009-2-28 05:20 | 只看该作者

偶觉得好像不是那么说的

这个跟ROM和MCU的接口地址译码范围有关系
假如说,MCU内部带8K,而外扩芯片是从0地址开始扩展32K的,
那么外扩芯片的0-8K地址的ROM都会被舍去,MCU只从8K以后的地址开始寻址。
这样会造成8K的ROM浪费。
除非把ROM接成以8K地址为基址的形式,但是这样,地址译码又会很麻烦。
所以偶觉得,如果想简单的话,就是,外扩芯片从0地址开始
外扩芯片烧录整个程序,或者把程序的前8K都添0,而不需要进行分割。

当然,如果外扩芯片也为8K,或4K,那么地址译码就简单的多了,可以8K地址作为基址进行扩展,这样节省芯片,但这时候程序就要分割了。

使用特权

评论回复
11
Conanyang| | 2009-3-2 09:58 | 只看该作者

呵呵,寻址译码你搞不明白吗?

楼上的,片外寻址译码不是你说的那样浪费,假如片内是8K,而你的单片机设定先从片内寻址再从片外寻址,则你片外的存储器地址就是8k~64k,当然你也可以只从片外寻址,这时你的片外存储器地址就是0~64k了,详情可以见51单片机的datasheet。

使用特权

评论回复
12
zhizuzhe|  楼主 | 2009-3-2 15:25 | 只看该作者

谢谢楼上的各位,呵呵

在实际使用中,现在确实很难碰到这种情况了,因为片内FLASH到64K的都有而且不贵,但是还是想知道怎么搞的~
我一般都是生成intel HEX格式的烧写文件,今天又了解了Bin格式,哈哈~

谢谢楼上的大侠们:)知道怎么搞了~

使用特权

评论回复
13
jesseaz| | 2009-3-17 15:44 | 只看该作者

111

程序可以写芯片。也可以下载到存储器上三。单独对存储器件烧写。

使用特权

评论回复
14
dxpol432| | 2009-3-17 19:54 | 只看该作者

重新定向

使用 ORG 设置起始地址,让出内部范围。

使用特权

评论回复
15
quakegod| | 2009-4-2 01:07 | 只看该作者

本来很累了,懒得和11楼磨嘴皮子

但是又担心误人子弟,

大家也帮帮说说吧,到底怎样才算对。

使用特权

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

本版积分规则

48

主题

214

帖子

1

粉丝