有关flash的操作
?????一般的单片机里面都会集成可编程的FLASH存储器,用于程序代码和非易失数据的存储。现行单片机FLASH的大小有32KB,64KB,128KB,256KB等。从汇编角度来操作FLASH的话,则需要用MOVX指令进行在线编程。一旦FLASH位被清零,只能通过擦除才能将其志为1状态。 ? ?我们对FLASH的操作分为三种:读FLASH,写FLASH以及擦除FLASH。 ? ?读FLASH:在进行读FLASH时并没有改变FLASH里面的值,因此没有什么需要特别需要注意的情况。在此不作详细解读。 ? ?在包含写和/或擦除FLASH存储器的代码的任何系统中,为了保证FLASH内容的完整性,必须使能VDD 监视器并将其设置为复位源。而且在使能VDD 监视器和将其使能为复位源之间不应有延时。在VDD 监视器被禁止或未被使能为复位源期间,对FLASH 存储器执行任何擦除或写操作都将导致FLASH 错误器件复位。 ? ?用软件写和擦除flash时受flash锁定和关键码功能的保护。在进行FLASH 操作之前,必须按顺序向FLASH 锁定和关键码寄存器(FLKEY)写入正确的关键码。关键码为:0xA5,0xF1。写关键码的时序并不重要,但必须按顺序写。如果写关键码的顺序不对或写入了错误的关键码,FLASH 写和擦除操作将被禁止,直到下一次系统复位。如果在正确写入关键码之前进行了FLASH 写或擦除操作,FLASH 写和擦除也将被禁止。每次FLASH 写和擦除操作之后,FLASH 锁定功能复位;在进行下一次FLASH 写或擦除操作之前,必须重新写关键码。 一:擦除FLASH?操作步骤: FLASH 存储器是以1024 字节的页为单位组织的,擦除操作将擦除一个整页(将页内的所 6. 用MOVX 指令向待擦除页内的任何一个地址写入一个数据字节。 二:写FLASH操作步骤: 特别注意:写FLASH 存储器可以清除数据位,但不能使数据位置1;只有擦除操作能将FLASH 中的数据位置1。在写入新值之前,必须先擦除待编程的字节地址。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |