位置:51电子网 » 技术资料 » 测试测量

P89C51RD2的Boot ROM与ISP功能的实现

发布时间:2008/6/3 0:00:00 访问次数:1227

        作者:青岛海洋大学 刘 滨

     綦声波 杨 梅 马志强 来源:《单片机与嵌入式系统应用》

     摘要:简单论述p89c51rd2的isp和iap功能,给出实现读取其boot

     rom源代码的硬件电路和程序;初步探讨isp功能中的波特率的自动跟踪技术、命令字的接收格式和执行方式,给出部分源代码。

    

    

     关键词:p89c51rd2

     boot rom isp(iap)功能

     1 概述

     p89c51rd2是philips公司内核基于8位80c51单片机的派生产品,在完全保留80c51指令系统和硬件结构的大框架下,进行了多方面的加强、扩展和创新,最大限度地利用了原有结构的方方面面。p89c51rd2将原有的对外数据和程序存储器的16位寻址机制加以利用,把片上的ram扩展到1kb、片上的flash

     eprom扩展到64kb,满足当今用嵌入式高级语言对片上大存储容量的需要。

     p89c51rd2最显著的特点莫过于其isp(in-system

     programming,在系统可编程)功能和iap(inapplication

     programming,在应用可编程)功能。isp指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用isp方式擦除或再编程。iap指mcu可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。isp和iap技术是未来仪器仪表的发展方向。philips公司为了使isp技术和iap技术得以推广,在芯片上免费提供了boot

     rom固件,并且巧妙地解决了固件和flash的地址覆盖问题及一些具体实现细节问题,使它们的实现变得简单而现成。

     对于boot rom中的内容,philips公司是不公开的。但很多技术人员对于boot

     rom固件中isp(iap)功能的实现非常感兴趣。就isp状态而言,上位机直接跟boot

     rom固件中的程序打交道,因此,必须根据philips公司提供的流程和协议来编制上位机程序,至于boot

     rom内部是如何实现isp功能的,则不得而知。如果能够搞明白isp功能实现的具体方法,则对于上位机软件的编制是大有好处的。以下是对boot

     rom中有关isp功能实现所作的一些初步探讨。

    

     2 boot rom固件代码的读出方法

     要对其isp功能进行分析,必须读出boot

     rom中的源代码。为此,必须型清楚boot rom空间和flash空间的关系。p89c51rd2采用了最选进的flash(快闪)eprom,其容量为64kb,并且分成8kb和16kb的存储块。我们知道,80c51系列8位单片机的最大寻址能力就是64kb,flash

     eprom已经将全部寻址空间占据。同时,philips公司为p89c51rd2在片内提供了一个名叫引导rom(boot

     rom)的1kb的固件。固件上有引导装载程序,可以接收主机经串口传来的命令和数据(如经pc机的rs-232c口),这个固件是放在64kb程序存储器的最高端的,与片内flash地址0fc00h~0ffffh相覆盖。两者之间的切换是通过特殊功能寄存器auxr1的enboot位来进行的。

     enboot=1 地址在0fc00h~0ffffh范围,寻址到固件

     enboot=0 地址在0fc00h~0ffffh范围,寻址到flash

     既然当enboot=1时,能够寻址到固件,则利用程序就可以将固件代码读出。下面是实现代码读出时的硬件部分和软件部分。

     (1)硬件部分

     为了读出boot rom中的内容,必须给p89c51rd2搭一个包括复位、晶振和串口通信功能的基本硬件系统,如图1所示。icl232为单电源串口转换芯片,可以完成ttl电平与rs-232c电平之间的转换。

     (2)软件编制

     编制软件的

        作者:青岛海洋大学 刘 滨

     綦声波 杨 梅 马志强 来源:《单片机与嵌入式系统应用》

     摘要:简单论述p89c51rd2的isp和iap功能,给出实现读取其boot

     rom源代码的硬件电路和程序;初步探讨isp功能中的波特率的自动跟踪技术、命令字的接收格式和执行方式,给出部分源代码。

    

    

     关键词:p89c51rd2

     boot rom isp(iap)功能

     1 概述

     p89c51rd2是philips公司内核基于8位80c51单片机的派生产品,在完全保留80c51指令系统和硬件结构的大框架下,进行了多方面的加强、扩展和创新,最大限度地利用了原有结构的方方面面。p89c51rd2将原有的对外数据和程序存储器的16位寻址机制加以利用,把片上的ram扩展到1kb、片上的flash

     eprom扩展到64kb,满足当今用嵌入式高级语言对片上大存储容量的需要。

     p89c51rd2最显著的特点莫过于其isp(in-system

     programming,在系统可编程)功能和iap(inapplication

     programming,在应用可编程)功能。isp指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用isp方式擦除或再编程。iap指mcu可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。isp和iap技术是未来仪器仪表的发展方向。philips公司为了使isp技术和iap技术得以推广,在芯片上免费提供了boot

     rom固件,并且巧妙地解决了固件和flash的地址覆盖问题及一些具体实现细节问题,使它们的实现变得简单而现成。

     对于boot rom中的内容,philips公司是不公开的。但很多技术人员对于boot

     rom固件中isp(iap)功能的实现非常感兴趣。就isp状态而言,上位机直接跟boot

     rom固件中的程序打交道,因此,必须根据philips公司提供的流程和协议来编制上位机程序,至于boot

     rom内部是如何实现isp功能的,则不得而知。如果能够搞明白isp功能实现的具体方法,则对于上位机软件的编制是大有好处的。以下是对boot

     rom中有关isp功能实现所作的一些初步探讨。

    

     2 boot rom固件代码的读出方法

     要对其isp功能进行分析,必须读出boot

     rom中的源代码。为此,必须型清楚boot rom空间和flash空间的关系。p89c51rd2采用了最选进的flash(快闪)eprom,其容量为64kb,并且分成8kb和16kb的存储块。我们知道,80c51系列8位单片机的最大寻址能力就是64kb,flash

     eprom已经将全部寻址空间占据。同时,philips公司为p89c51rd2在片内提供了一个名叫引导rom(boot

     rom)的1kb的固件。固件上有引导装载程序,可以接收主机经串口传来的命令和数据(如经pc机的rs-232c口),这个固件是放在64kb程序存储器的最高端的,与片内flash地址0fc00h~0ffffh相覆盖。两者之间的切换是通过特殊功能寄存器auxr1的enboot位来进行的。

     enboot=1 地址在0fc00h~0ffffh范围,寻址到固件

     enboot=0 地址在0fc00h~0ffffh范围,寻址到flash

     既然当enboot=1时,能够寻址到固件,则利用程序就可以将固件代码读出。下面是实现代码读出时的硬件部分和软件部分。

     (1)硬件部分

     为了读出boot rom中的内容,必须给p89c51rd2搭一个包括复位、晶振和串口通信功能的基本硬件系统,如图1所示。icl232为单电源串口转换芯片,可以完成ttl电平与rs-232c电平之间的转换。

     (2)软件编制

     编制软件的

相关IC型号

热门点击

 

推荐技术资料

音频变压器DIY
    笔者在本刊今年第六期上着重介绍了“四夹三”音频变压器的... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!