[原创] C51 函数的绝对定位?
我有一个项目,使用 SST89C58 单片机,有 32 KB Flash ROM, 我想用它来做一个 小小的操作系统, 提供 键盘扫描, LCD 显示, 串口通讯等等。这可能用不到 32 KB 内存。
我想用它来加载 存储在 24C512 的应用程序。我使用 64KB 的 XRAM. 我想把程序加载在64KB 中的 高 32 KB 空间。64KB 中的 低 32 KB 空间用作 XRAM. 64KB 中的 最高 4 KB 空间 用作 I/O . 我想在编制程序的时候,在一块连接。 生成代码之后, 分割存放。操作系统 在片内, 应用程序 在片外 IIC 接口的 EEPROM 当中(可能有多个)。
在系统复位之后,生成一个菜单,根据选择,从相应的IIC 接口的 EEPROM 中加载它到XRAM当中,然后运行它。
现在的问题是:如何让应用程序 代码定位在 08000H 开始呢 ?
如何让操作系统 代码定位在 00000H 开始呢 ?
本系统采用 冯诺依曼体系 , 使用 /PSEN and /RD 信号读取 代码和数据。
使用 /WR 信号写入数据.
恳请各位朋友帮忙解决这个问题。 我打算使用 Keil C51 编制程序。
发表时间:2003年5月19日20:36:12