TMS320C5410烧写Flash实现并行自举引导
> ;器,pdr是存放编程数据的寄存器
_WRITECOMMAND#8555H,#0AAH;周期1(解锁)
_WRITECOMMAND#82AAH,#055H;周期2(解锁)
_WRITECOMMAND#8555H,#0A0H;周期3(建立)
LDpdr,A;周期4(编程)
STLA,par;把pdr寄存器中数据放入par
;寄存器的地址中
RPT#12
NOP
_JUDGEpar,pdr;检测编程是否正确,见Flash
;的操作检测
.endm
_WRITECOMMAND是实现一个周期编程的写命令宏,而_WRITEFlash是完成对指定地址编程的四个完整周期。
表2擦除命令
周期1(解锁)2(解锁)3(建立)4(解锁)5(解锁)6(片擦除)6(扇区擦除)地址0x5550x2AA0x5550x5550x2AA0x555SA(扇区地址)数据0xAA0x550x800xAA0x550x100x30
②擦除命令。该命令有片擦除和扇区擦除两种,都需要6个总线周期,前两个解锁周期,第三个建立周期,四、五两个解锁周期,最后是片擦除或扇区擦除周期,如表2所列。一旦执行编程或擦除命令后,就启动Flash的内部编程或擦除算法,自动完成编程或擦除操作。擦除程序如下:
_ERASEFlash.macro;擦除宏
_WRITECOMMAND#8555H,#0AAH;周期1(解锁)
_WRITECOMMAND#82AAH,#055H;周期2(解锁)
_WRITECOMMAND#8555H,#080H;周期3(建立)
_WRITECOMMAND#8555H,#0AAH;周期4(解锁)
_WRITECOMMAND#82AAH,#055H;周期5(解锁)
_WRITECOMMAND#8555H,#010H;周期6(片擦除)
STM#8555H,AR3
LD#010H,A
STLA,*AR5
_JUDGE*AR3,*AR5;检测是擦除结束,见Flash的
;操作检测
.endm
③读数据命令。上电或内部编程、擦除操作结束后就进入读数据状态,写入要读取的地址即可读出该地址的数据。
④复位命令。它使存储器复位,进入读数据状态,向任何一个地址写入数据0xF0就能使Flash存储器复位。在进行编程、擦除之前,都应先复位,在编程或擦除等正常操作中出现错误时也要复位。复位程序如下:
_RESETFlash.macro
_WRITECOMMAND#8001H,#0F0H
;向8001H写入0F0H使Flash复位
RPT#12
NOP
.endm
1.3Flash的操作检测
Flas 《TMS320C5410烧写Flash实现并行自举引导(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/174622.html
_WRITECOMMAND#8555H,#0AAH;周期1(解锁)
_WRITECOMMAND#82AAH,#055H;周期2(解锁)
_WRITECOMMAND#8555H,#0A0H;周期3(建立)
LDpdr,A;周期4(编程)
STLA,par;把pdr寄存器中数据放入par
;寄存器的地址中
RPT#12
NOP
_JUDGEpar,pdr;检测编程是否正确,见Flash
;的操作检测
.endm
_WRITECOMMAND是实现一个周期编程的写命令宏,而_WRITEFlash是完成对指定地址编程的四个完整周期。
表2擦除命令
周期1(解锁)2(解锁)3(建立)4(解锁)5(解锁)6(片擦除)6(扇区擦除)地址0x5550x2AA0x5550x5550x2AA0x555SA(扇区地址)数据0xAA0x550x800xAA0x550x100x30
②擦除命令。该命令有片擦除和扇区擦除两种,都需要6个总线周期,前两个解锁周期,第三个建立周期,四、五两个解锁周期,最后是片擦除或扇区擦除周期,如表2所列。一旦执行编程或擦除命令后,就启动Flash的内部编程或擦除算法,自动完成编程或擦除操作。擦除程序如下:
_ERASEFlash.macro;擦除宏
_WRITECOMMAND#8555H,#0AAH;周期1(解锁)
_WRITECOMMAND#82AAH,#055H;周期2(解锁)
_WRITECOMMAND#8555H,#080H;周期3(建立)
_WRITECOMMAND#8555H,#0AAH;周期4(解锁)
_WRITECOMMAND#82AAH,#055H;周期5(解锁)
_WRITECOMMAND#8555H,#010H;周期6(片擦除)
STM#8555H,AR3
LD#010H,A
STLA,*AR5
_JUDGE*AR3,*AR5;检测是擦除结束,见Flash的
;操作检测
.endm
③读数据命令。上电或内部编程、擦除操作结束后就进入读数据状态,写入要读取的地址即可读出该地址的数据。
④复位命令。它使存储器复位,进入读数据状态,向任何一个地址写入数据0xF0就能使Flash存储器复位。在进行编程、擦除之前,都应先复位,在编程或擦除等正常操作中出现错误时也要复位。复位程序如下:
_RESETFlash.macro
_WRITECOMMAND#8001H,#0F0H
;向8001H写入0F0H使Flash复位
RPT#12
NOP
.endm
1.3Flash的操作检测
Flas 《TMS320C5410烧写Flash实现并行自举引导(第2页)》