导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→86启动是怎样实现的?有源代码么?[hid]

 *第14005篇: 86启动是怎样实现的?有源代码么?

  
楼 主:hid 2003年7月2日10:32
 86启动是怎样实现的?有源代码么?
我用的flash是256k,地址空间为0c0000h~0fffffh,上电在0ffff0h, 但是我们需要把程序写在0c0000h位置,这需要加一个段间的转移,请问这个转移怎么实现,最好是源代码,注意:186不能实现20位直接寻址
谢谢了,着急
zhujg◎langchao.com.cn
  
2楼:Lichunfu 2003年7月3日09:37
 《单片机与嵌入式应用》杂志上有一篇相关文章。
具体是哪一期记不清楚了,你可以到北航的网站去看看,也许会有点用,我做过ROM扩展,在8051上使用512K的FLASH,但是情况与你有所不同,我的程序是放在0-32K空间里面,余下的空间我是存放汉字字库的,程序不需要换页,只在取数据时才要换页。
  
3楼:hid 2003年7月4日08:49
 这种做法好像可以,不过要是我要从flash的开始些那?
这样就必须用到段交叉跳转,在186里面这种跳转总是编译不过去,不知道是不是因为编译器的原因?
  
4楼:Lichunfu 2003年7月4日11:18
 抱歉,我没有玩过196,不好意思!
  
5楼:greentree 2003年7月3日19:51
 pgreentree@yahoo.com
注意:186不能实现20位直接寻址?

你是不是用186的UCS做片选?如果是的话,就先在0XFFFF0处加一个短的跳转,比如用 jmp 0XFFC00。再在0XFFC00地址写186的初始化函数,是扩大UCS的寻址范围。做完了这些,你就可以跳到MAIN()了。

如果使用PARADIGM编译器及定位软件,问题就很容易解决了


>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:请教C51程序如何实现外部数据的访问?

[下一篇主题]:FPGA模拟ISA的问题