新闻中心

EEPW首页>嵌入式系统>设计应用> P89LPC932的几种ISP编程方法

P89LPC932的几种ISP编程方法

作者: 时间:2012-03-30 来源:网络 收藏

这种方式要求驻留在程序存储器内部的用户应用程序代码必须包括初始化异步串行口的代码。换句话说,用户必须使能异步串行口,同时,特殊功能寄存器AUXR1中的允许中止控制符信号位(EBRR)必须被置1,以允许在检测到中止控制符信号时触发处理器复位。此外,启动向量配置字节须保证为1EH(使用内预置的代码),状态字为00H(以使用户应用代码得以执行),且1E00H~1FFFH的Flash程序存储器不要使用或擦除。这样配置完成后,只要异步串行口的接收脚检测到中止控制符信号后,处理器就会复位,复位后LPC932将从由启动向量指定的地址处取指令执行。

有两个问题在使用这种触发方式的时候应该了解。一是某些USB转RS232的转换器无法发出中止控制符信号,所以无法使用检测中止控制符信号的方式触发处理器复位并进入模式;二是中止控制符信号在正常的串口通信不会出现,所以用户可以放心使用这种触发方式。

1.2.3硬件激活进入模式

使用这种模式的好处在于,不论处理器内部原来存储着什么用户代码,也不论状态位的值是什么,ISP模式总是可以进入的(不过有一点还是必须得到保证,就是处理器里原来的启动代码未被擦除或覆盖,而默认的启动向量1EH也没有修改过)。由于引脚数比较少,而且内置了程序存储器,又没有传统的用于外扩总线的P0、P2口和PSEN引脚,所以依靠硬件方式触发芯片进入ISP模式的与传统MCS-51芯片有所不同。

上电后,如果处理器在复位脚上检测到如图2所示的脉冲波形,则处理器将从启动向量指定的地址处取指令运行,也就是进入ISP模式,而不是从0000H处取指令执行。其实,这种进入方式的结果和有一个非零的状态字节有着相同效果。不过要注意的是,产生的脉冲数目只允许有3个,多于或少于3个脉冲都不能触发处理器进入ISP模式。

7.jpg
图2P89LPC932硬件激活ISP模式波形图

可以利用一枚外部的微处理器来产生这3个脉冲,同时它还控制一枚电源芯片来产生P89LPC932需要的电源电压。这种的原理很容易弄明白,笔者在此不再赘述。另外,还有一种更简单的,就是由用户PC机上的异步串行口加上部分硬件电路来直接产生所需的时序,具体介绍可以参看参考文献1。

1.2.4直接调用法触发处理器执行ISP代码

P89LPC932的ISP模式的预置启动向量为1EH,所以其ISP驻留代码首地址为1E00H,要进入ISP,直接调用1E00H处的代码就可以了。在C代码中,程序通过函数指针的方式就可以调用ISP驻留代码(即进入ISP模式)。

1.3在P89LPC932上使用Flashmagic

Flashmagic是一个免费的软件工具,可以为Philips的许多处理器作ISP,包括P89LPC932。Flashmagic启动时将试图连接用户选择的器件,不过通常在这里都会报错,因为并没有任何处理器处于ISP模式,又或者还有什么其他的设置需要更改。请选择Flashmagic控制的PC机上的正确串行口,同时选择目标器件为P89LPC932,如图3所示。然后使这片P89LPC932进入ISP模式(如果

7.jpg
图3FlashMagic的启动画面



评论


相关推荐

技术专区

关闭