打印

8031+bootloader?

[复制链接]
1714|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
arm86|  楼主 | 2007-12-15 12:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来源:

 aweyfan 发表于 2007-12-12 22:41 侃单片机 ←返回版面    

9楼: 抛块砖,请听题 

想起了n年前做的一个东西
一片增强51核ic,无片内rom,就当它是8031,外扩32kram,512kflash rom,串口

现在希望能够做一个bootloader,可以写外扩的flash,更新程序和数据

俺做不出,硬是拔flash靠编程器烧完成

看看两位前辈有无良策

 aweyfan 发表于 2007-12-12 23:14 侃单片机 ←返回版面    

16楼: 这个是要在8031上实现iap功能,并不简单 

擦除flash时,总线悬空,看看飞到哪里 
 
 arm86 发表于 2007-12-12 23:21 侃单片机 ←返回版面    

18楼: “擦除flash时,总线悬空,看看飞到哪里” 

有点意思了。刚才没有多想

flash是外扩的程序存储器,在这种情况下,硬件原理是否支持呢?得翻书了。翻书太累了,等别人来讲个明白吧。 
 
 hotpower 发表于 2007-12-13 01:39 侃单片机 ←返回版面    

19楼: 匠人找俺开心...俺眩晕...把俺摆在案板上或火炉上... 

回9楼:
我用过几乎所有的040芯片,从27/28/29/39.
并且自己做的擦写28/29/39程序支持10多个厂家的芯片(读ID).

做一个bootloader理论上是可以的.
关键要把它放置到最后面.最好用汇编编写.

但有几个问题不能不先说到明处.

1.首先程序的入口即引导必须在你的bootloader程序范围内控制.
这可能需要1个IO信号做为改写程序的分枝控制.


2.中断向量的问题.
因为程序的改动,程序向量即地址也会发生变动.
而1.中已要求引导到你的bootloader程序范围内.
故这里要考虑像ARM那样的向量分配或地址映射.
总之改好的程序要能正确地跳入到新的中断程序地址.

3.估计是有难度的
因为你只有1片040.bootloader程序不能擦除.
所以bootloader程序的位置定位很难受.


俺因为这个问题只要是自己工作需要的,那肯定能做到~~~ 
 

    我在想8031的PC寻址是否能够做到,因为它是数据存储与程序存储相分离的。硬件该如何实现呢? 8031的#PSEN接了FLASH的#OE,那FLASH的#WR呢?如何才能够跟数据存储器的空间不冲突呢?实在是想不明白了。
    我现在翻开书找了找,还是晕晕的,看来是对51的了解还不够。求教于大家了。
 

相关帖子

沙发
后学| | 2007-12-16 00:06 | 只看该作者

不知道,要是有片内ram好办些,

现在很多单片机片内有两块flash,实现IAP很方便,
比如sst89e564rs,

使用特权

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

本版积分规则

36

主题

745

帖子

5

粉丝