MC68HC908LJ12微控制器中的闪存在电路编程
发布时间:2008/5/28 0:00:00 访问次数:676
在电路编程是指在器件安装在最终电路板(目标系统)上的时候对器件进行编程或擦除操作。这允许在不把电路从目标系统取下的情况下改变用户代码,从而实现对器件的重新编程或初始化编程。
motorola mc68hc908lj12 (lj12)是基于hc08架构的一种通用器件,具有12k字节的片上闪存和512字节的ram、一个红外通信接口、一个串行外设接口、一个ad转换器、一个实时钟和一个lcd驱动器模块。其中12k字节闪存分配给用户代码,另外还有48字节分配给用户定义的复位和中断向量。对于编程或擦除操作不需要高电压供电,因为所需要的高电压由内部的电荷泵产生。可利用运行在用户模式或监控模式的软件例程通过写地址为$fe08的闪存控制寄存器实现对闪存的编程或擦除操作。
用户模式
在用户模式下,lj12运行的是已经编程存储在闪存中的用户代码。这是lj12在大多数时间中所处的模式。
监控模式
在监控模式下,lj12运行在生产时永久编程在lj12中的存储器区域中的监控代码。监控代码用于通过lj12的pta0管脚在lj12和外部主机间实现串行通信。 对初始的空白lj12闪存编程就是在监控模式下进行的。
闪存初始编程
lj12 操作模式在上电复位(por)后锁定,并由复位向量($fffe-$ffff)和下列管脚的逻辑电平决定:irq、 rst、 pta0、 pta1、 pta2和ptc1。
块保护的闪存
当闪存被块保护(block protected)时,闪存是不能被擦除可编程的。地址为$fe09的闪存块保护寄存器用来保护闪存的一块或整个闪存。向块保护寄存器中写$ff将解除整个闪存的保护。
rom驻留程序
lj12中的rom驻留程序旨在简化用户的闪存编程和擦除。这些程序是存储在rom中的永久代码,可利用子程序调用执行。表1 示出了闪存编程和擦除操作的四个程序。
用户模式下的在电路编程
在用户模式下的icp可保证在目标系统运行的同时对lj12中的闪存进行重新编程。对lj12中的闪存进行重新编程分成两步。第一步是通过擦除操作擦除闪存中的现有数据。最小的擦除单位是128字节,称为页。闪存控制寄存器中的mass位提供了一次操作擦除整个闪存阵列的选择,这种操作称为整体擦除(mass erase)。必需指出的是,闪存中被擦除的单元读出值为$ff。第二步是编程,即利用新的数据对空的闪存进行编程。因此,重新编程包括:擦除和编程两步。
icp 代码
在用户模式下进行icp要求,icp代码存储在可被用户程序调用的非易失性存储器中。这意味着icp代码必须做为用户代码的一部分编程到lj12的闪存中。考虑到这一点,用户模式下的icp在闪存最初为空(空白器件)时是不能进行的。初始的空白器件必须在监控模式下编程。
icp代码编程在闪存中,可以利用软件或硬件启动icp过程,有两种操作方式:
1.icp 代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。主机发出命令擦除lj2的闪存并下载数据对闪存进行编程。在这种情况下,lj12 icp代码就象一个命令解释器。
2.icp 代码运行自己的擦除子程序擦除闪存。然后icp代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。新的数据下载编程到闪存中。
在两种方法中,icp代码都必须加载到ram存储器中,并在ram中执行。当程序在闪存中运行时不允许编程或擦除操作。如果在icp代码还在闪存中运行时就进行编程或擦除操作,那么有擦除icp代码本身的危险。
监控模式下的在电路编程
在监控模式下, lj12运行在制造过程中永久编程在存储器中($fc00-$fdff 和 $fe10-$ffcf)中的监控代码。lj12器件中闪存的第一次编程只能在监控模式下进行。
通过施加高电压进入监控模式
与许多motorola 8位 mcu,通过在/irq引脚施加高电压(对lj12为1.5 * vdd、 max. 8v )和在几个i/o引脚施加特定的逻辑电平(对lj12为pta1、 pta2、和ptc1),则在上电复位(por)之后进入监控模式。利用这一高电压进入方法时,mcu(在osc1)的时钟输入必须来自外部振荡器,频率为4.9152mhz 或 9.8304mhz。通过对这一时钟分频在pta0生成9600波特的通信速度。
通过空向量方法进入监控模式
在新的闪存实施方案中,需要减少采用icp对mcu进行编程时连接目标系统的线数。进入监控模式的另一方法是空(被擦除)的复位向量。复位向量只有通过整体擦除操作擦除。 如果在上电复位后的模式锁定过程中/irq引脚接地,pll被使能,允许利用接在osc1和osc2间的32.768khz晶体作为输入时钟,生成9600的波特率。如果irq引脚在上电复位后的模式锁定过程中被拉成高(vdd),pll被禁止,一个外部4.9152mhz输入时钟(晶体或外部振荡器)将可产生4800的波特率。与高电压进入方式相比,这一方法节约了三条线,不需要连接pta1、 pta2、和 ptc1。
在监控模式下实现icp的优点是不需要在用户代码包含icp代码。此外,还可以利用mcuscribe 编程或 ics motorola工具通过pta0串行连接实现pc主机系统与mcu的通信
motorola mc68hc908lj12 (lj12)是基于hc08架构的一种通用器件,具有12k字节的片上闪存和512字节的ram、一个红外通信接口、一个串行外设接口、一个ad转换器、一个实时钟和一个lcd驱动器模块。其中12k字节闪存分配给用户代码,另外还有48字节分配给用户定义的复位和中断向量。对于编程或擦除操作不需要高电压供电,因为所需要的高电压由内部的电荷泵产生。可利用运行在用户模式或监控模式的软件例程通过写地址为$fe08的闪存控制寄存器实现对闪存的编程或擦除操作。
用户模式
在用户模式下,lj12运行的是已经编程存储在闪存中的用户代码。这是lj12在大多数时间中所处的模式。
监控模式
在监控模式下,lj12运行在生产时永久编程在lj12中的存储器区域中的监控代码。监控代码用于通过lj12的pta0管脚在lj12和外部主机间实现串行通信。 对初始的空白lj12闪存编程就是在监控模式下进行的。
闪存初始编程
lj12 操作模式在上电复位(por)后锁定,并由复位向量($fffe-$ffff)和下列管脚的逻辑电平决定:irq、 rst、 pta0、 pta1、 pta2和ptc1。
块保护的闪存
当闪存被块保护(block protected)时,闪存是不能被擦除可编程的。地址为$fe09的闪存块保护寄存器用来保护闪存的一块或整个闪存。向块保护寄存器中写$ff将解除整个闪存的保护。
rom驻留程序
lj12中的rom驻留程序旨在简化用户的闪存编程和擦除。这些程序是存储在rom中的永久代码,可利用子程序调用执行。表1 示出了闪存编程和擦除操作的四个程序。
用户模式下的在电路编程
在用户模式下的icp可保证在目标系统运行的同时对lj12中的闪存进行重新编程。对lj12中的闪存进行重新编程分成两步。第一步是通过擦除操作擦除闪存中的现有数据。最小的擦除单位是128字节,称为页。闪存控制寄存器中的mass位提供了一次操作擦除整个闪存阵列的选择,这种操作称为整体擦除(mass erase)。必需指出的是,闪存中被擦除的单元读出值为$ff。第二步是编程,即利用新的数据对空的闪存进行编程。因此,重新编程包括:擦除和编程两步。
icp 代码
在用户模式下进行icp要求,icp代码存储在可被用户程序调用的非易失性存储器中。这意味着icp代码必须做为用户代码的一部分编程到lj12的闪存中。考虑到这一点,用户模式下的icp在闪存最初为空(空白器件)时是不能进行的。初始的空白器件必须在监控模式下编程。
icp代码编程在闪存中,可以利用软件或硬件启动icp过程,有两种操作方式:
1.icp 代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。主机发出命令擦除lj2的闪存并下载数据对闪存进行编程。在这种情况下,lj12 icp代码就象一个命令解释器。
2.icp 代码运行自己的擦除子程序擦除闪存。然后icp代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。新的数据下载编程到闪存中。
在两种方法中,icp代码都必须加载到ram存储器中,并在ram中执行。当程序在闪存中运行时不允许编程或擦除操作。如果在icp代码还在闪存中运行时就进行编程或擦除操作,那么有擦除icp代码本身的危险。
监控模式下的在电路编程
在监控模式下, lj12运行在制造过程中永久编程在存储器中($fc00-$fdff 和 $fe10-$ffcf)中的监控代码。lj12器件中闪存的第一次编程只能在监控模式下进行。
通过施加高电压进入监控模式
与许多motorola 8位 mcu,通过在/irq引脚施加高电压(对lj12为1.5 * vdd、 max. 8v )和在几个i/o引脚施加特定的逻辑电平(对lj12为pta1、 pta2、和ptc1),则在上电复位(por)之后进入监控模式。利用这一高电压进入方法时,mcu(在osc1)的时钟输入必须来自外部振荡器,频率为4.9152mhz 或 9.8304mhz。通过对这一时钟分频在pta0生成9600波特的通信速度。
通过空向量方法进入监控模式
在新的闪存实施方案中,需要减少采用icp对mcu进行编程时连接目标系统的线数。进入监控模式的另一方法是空(被擦除)的复位向量。复位向量只有通过整体擦除操作擦除。 如果在上电复位后的模式锁定过程中/irq引脚接地,pll被使能,允许利用接在osc1和osc2间的32.768khz晶体作为输入时钟,生成9600的波特率。如果irq引脚在上电复位后的模式锁定过程中被拉成高(vdd),pll被禁止,一个外部4.9152mhz输入时钟(晶体或外部振荡器)将可产生4800的波特率。与高电压进入方式相比,这一方法节约了三条线,不需要连接pta1、 pta2、和 ptc1。
在监控模式下实现icp的优点是不需要在用户代码包含icp代码。此外,还可以利用mcuscribe 编程或 ics motorola工具通过pta0串行连接实现pc主机系统与mcu的通信
在电路编程是指在器件安装在最终电路板(目标系统)上的时候对器件进行编程或擦除操作。这允许在不把电路从目标系统取下的情况下改变用户代码,从而实现对器件的重新编程或初始化编程。
motorola mc68hc908lj12 (lj12)是基于hc08架构的一种通用器件,具有12k字节的片上闪存和512字节的ram、一个红外通信接口、一个串行外设接口、一个ad转换器、一个实时钟和一个lcd驱动器模块。其中12k字节闪存分配给用户代码,另外还有48字节分配给用户定义的复位和中断向量。对于编程或擦除操作不需要高电压供电,因为所需要的高电压由内部的电荷泵产生。可利用运行在用户模式或监控模式的软件例程通过写地址为$fe08的闪存控制寄存器实现对闪存的编程或擦除操作。
用户模式
在用户模式下,lj12运行的是已经编程存储在闪存中的用户代码。这是lj12在大多数时间中所处的模式。
监控模式
在监控模式下,lj12运行在生产时永久编程在lj12中的存储器区域中的监控代码。监控代码用于通过lj12的pta0管脚在lj12和外部主机间实现串行通信。 对初始的空白lj12闪存编程就是在监控模式下进行的。
闪存初始编程
lj12 操作模式在上电复位(por)后锁定,并由复位向量($fffe-$ffff)和下列管脚的逻辑电平决定:irq、 rst、 pta0、 pta1、 pta2和ptc1。
块保护的闪存
当闪存被块保护(block protected)时,闪存是不能被擦除可编程的。地址为$fe09的闪存块保护寄存器用来保护闪存的一块或整个闪存。向块保护寄存器中写$ff将解除整个闪存的保护。
rom驻留程序
lj12中的rom驻留程序旨在简化用户的闪存编程和擦除。这些程序是存储在rom中的永久代码,可利用子程序调用执行。表1 示出了闪存编程和擦除操作的四个程序。
用户模式下的在电路编程
在用户模式下的icp可保证在目标系统运行的同时对lj12中的闪存进行重新编程。对lj12中的闪存进行重新编程分成两步。第一步是通过擦除操作擦除闪存中的现有数据。最小的擦除单位是128字节,称为页。闪存控制寄存器中的mass位提供了一次操作擦除整个闪存阵列的选择,这种操作称为整体擦除(mass erase)。必需指出的是,闪存中被擦除的单元读出值为$ff。第二步是编程,即利用新的数据对空的闪存进行编程。因此,重新编程包括:擦除和编程两步。
icp 代码
在用户模式下进行icp要求,icp代码存储在可被用户程序调用的非易失性存储器中。这意味着icp代码必须做为用户代码的一部分编程到lj12的闪存中。考虑到这一点,用户模式下的icp在闪存最初为空(空白器件)时是不能进行的。初始的空白器件必须在监控模式下编程。
icp代码编程在闪存中,可以利用软件或硬件启动icp过程,有两种操作方式:
1.icp 代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。主机发出命令擦除lj2的闪存并下载数据对闪存进行编程。在这种情况下,lj12 icp代码就象一个命令解释器。
2.icp 代码运行自己的擦除子程序擦除闪存。然后icp代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。新的数据下载编程到闪存中。
在两种方法中,icp代码都必须加载到ram存储器中,并在ram中执行。当程序在闪存中运行时不允许编程或擦除操作。如果在icp代码还在闪存中运行时就进行编程或擦除操作,那么有擦除icp代码本身的危险。
监控模式下的在电路编程
在监控模式下, lj12运行在制造过程中永久编程在存储器中($fc00-$fdff 和 $fe10-$ffcf)中的监控代码。lj12器件中闪存的第一次编程只能在监控模式下进行。
通过施加高电压进入监控模式
与许多motorola 8位 mcu,通过在/irq引脚施加高电压(对lj12为1.5 * vdd、 max. 8v )和在几个i/o引脚施加特定的逻辑电平(对lj12为pta1、 pta2、和ptc1),则在上电复位(por)之后进入监控模式。利用这一高电压进入方法时,mcu(在osc1)的时钟输入必须来自外部振荡器,频率为4.9152mhz 或 9.8304mhz。通过对这一时钟分频在pta0生成9600波特的通信速度。
通过空向量方法进入监控模式
在新的闪存实施方案中,需要减少采用icp对mcu进行编程时连接目标系统的线数。进入监控模式的另一方法是空(被擦除)的复位向量。复位向量只有通过整体擦除操作擦除。 如果在上电复位后的模式锁定过程中/irq引脚接地,pll被使能,允许利用接在osc1和osc2间的32.768khz晶体作为输入时钟,生成9600的波特率。如果irq引脚在上电复位后的模式锁定过程中被拉成高(vdd),pll被禁止,一个外部4.9152mhz输入时钟(晶体或外部振荡器)将可产生4800的波特率。与高电压进入方式相比,这一方法节约了三条线,不需要连接pta1、 pta2、和 ptc1。
在监控模式下实现icp的优点是不需要在用户代码包含icp代码。此外,还可以利用mcuscribe 编程或 ics motorola工具通过pta0串行连接实现pc主机系统与mcu的通信
motorola mc68hc908lj12 (lj12)是基于hc08架构的一种通用器件,具有12k字节的片上闪存和512字节的ram、一个红外通信接口、一个串行外设接口、一个ad转换器、一个实时钟和一个lcd驱动器模块。其中12k字节闪存分配给用户代码,另外还有48字节分配给用户定义的复位和中断向量。对于编程或擦除操作不需要高电压供电,因为所需要的高电压由内部的电荷泵产生。可利用运行在用户模式或监控模式的软件例程通过写地址为$fe08的闪存控制寄存器实现对闪存的编程或擦除操作。
用户模式
在用户模式下,lj12运行的是已经编程存储在闪存中的用户代码。这是lj12在大多数时间中所处的模式。
监控模式
在监控模式下,lj12运行在生产时永久编程在lj12中的存储器区域中的监控代码。监控代码用于通过lj12的pta0管脚在lj12和外部主机间实现串行通信。 对初始的空白lj12闪存编程就是在监控模式下进行的。
闪存初始编程
lj12 操作模式在上电复位(por)后锁定,并由复位向量($fffe-$ffff)和下列管脚的逻辑电平决定:irq、 rst、 pta0、 pta1、 pta2和ptc1。
块保护的闪存
当闪存被块保护(block protected)时,闪存是不能被擦除可编程的。地址为$fe09的闪存块保护寄存器用来保护闪存的一块或整个闪存。向块保护寄存器中写$ff将解除整个闪存的保护。
rom驻留程序
lj12中的rom驻留程序旨在简化用户的闪存编程和擦除。这些程序是存储在rom中的永久代码,可利用子程序调用执行。表1 示出了闪存编程和擦除操作的四个程序。
用户模式下的在电路编程
在用户模式下的icp可保证在目标系统运行的同时对lj12中的闪存进行重新编程。对lj12中的闪存进行重新编程分成两步。第一步是通过擦除操作擦除闪存中的现有数据。最小的擦除单位是128字节,称为页。闪存控制寄存器中的mass位提供了一次操作擦除整个闪存阵列的选择,这种操作称为整体擦除(mass erase)。必需指出的是,闪存中被擦除的单元读出值为$ff。第二步是编程,即利用新的数据对空的闪存进行编程。因此,重新编程包括:擦除和编程两步。
icp 代码
在用户模式下进行icp要求,icp代码存储在可被用户程序调用的非易失性存储器中。这意味着icp代码必须做为用户代码的一部分编程到lj12的闪存中。考虑到这一点,用户模式下的icp在闪存最初为空(空白器件)时是不能进行的。初始的空白器件必须在监控模式下编程。
icp代码编程在闪存中,可以利用软件或硬件启动icp过程,有两种操作方式:
1.icp 代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。主机发出命令擦除lj2的闪存并下载数据对闪存进行编程。在这种情况下,lj12 icp代码就象一个命令解释器。
2.icp 代码运行自己的擦除子程序擦除闪存。然后icp代码通过lj12的端口引脚或sci接口建立lj12与一个外部主机系统的通信连接。新的数据下载编程到闪存中。
在两种方法中,icp代码都必须加载到ram存储器中,并在ram中执行。当程序在闪存中运行时不允许编程或擦除操作。如果在icp代码还在闪存中运行时就进行编程或擦除操作,那么有擦除icp代码本身的危险。
监控模式下的在电路编程
在监控模式下, lj12运行在制造过程中永久编程在存储器中($fc00-$fdff 和 $fe10-$ffcf)中的监控代码。lj12器件中闪存的第一次编程只能在监控模式下进行。
通过施加高电压进入监控模式
与许多motorola 8位 mcu,通过在/irq引脚施加高电压(对lj12为1.5 * vdd、 max. 8v )和在几个i/o引脚施加特定的逻辑电平(对lj12为pta1、 pta2、和ptc1),则在上电复位(por)之后进入监控模式。利用这一高电压进入方法时,mcu(在osc1)的时钟输入必须来自外部振荡器,频率为4.9152mhz 或 9.8304mhz。通过对这一时钟分频在pta0生成9600波特的通信速度。
通过空向量方法进入监控模式
在新的闪存实施方案中,需要减少采用icp对mcu进行编程时连接目标系统的线数。进入监控模式的另一方法是空(被擦除)的复位向量。复位向量只有通过整体擦除操作擦除。 如果在上电复位后的模式锁定过程中/irq引脚接地,pll被使能,允许利用接在osc1和osc2间的32.768khz晶体作为输入时钟,生成9600的波特率。如果irq引脚在上电复位后的模式锁定过程中被拉成高(vdd),pll被禁止,一个外部4.9152mhz输入时钟(晶体或外部振荡器)将可产生4800的波特率。与高电压进入方式相比,这一方法节约了三条线,不需要连接pta1、 pta2、和 ptc1。
在监控模式下实现icp的优点是不需要在用户代码包含icp代码。此外,还可以利用mcuscribe 编程或 ics motorola工具通过pta0串行连接实现pc主机系统与mcu的通信
热门点击
- 激光打靶游戏机
- 常见连接器和插座介绍
- 电池低电压指示及控制电路设计
- 红外枪打靶游戏
- 准同期并网控制电路
- 电流、磁力线方向演示器
- 镍氢电池充电器(三)
- 跨步电压触电演示器
- 高电压检测电路的设计
- 10kV线路与用户保护定值配合
推荐技术资料
- Seeed Studio
- Seeed Studio绐我们的印象总是和绘画脱离不了... [详细]