void ChipErase(void) { *(FlashStart + 0x5555) = 0xAAAA; *(FlashStart + 0x2AAA) = 0x5555; *(FlashStart + 0x5555) = 0x8080; *(FlashStart + 0x5555) = 0xAAAA; *(FlashStart + 0x2AAA) = 0x5555; *(FlashStart + 0x5555) = 0x1010; }解释CCS代码
时间: 2024-04-07 12:32:11 浏览: 123
DSP 28335 NOR_FLASH擦写实验程序 外部flash 39VF400A
5星 · 资源好评率100%
这段代码是在进行Flash的整片擦除操作,下面是每行代码的解释:
1. `*(FlashStart + 0x5555) = 0xAAAA;` 将FlashStart地址加上0x5555的偏移量,写入0xAAAA,这是进行整片擦除的第一步。
2. `*(FlashStart + 0x2AAA) = 0x5555;` 将FlashStart地址加上0x2AAA的偏移量,写入0x5555,这是进行整片擦除的第二步。
3. `*(FlashStart + 0x5555) = 0x8080;` 将FlashStart地址加上0x5555的偏移量,写入0x8080,这是进行整片擦除的第三步。
4. `*(FlashStart + 0x5555) = 0xAAAA;` 将FlashStart地址加上0x5555的偏移量,写入0xAAAA,这是进行整片擦除的第四步。
5. `*(FlashStart + 0x2AAA) = 0x5555;` 将FlashStart地址加上0x2AAA的偏移量,写入0x5555,这是进行整片擦除的第五步。
6. `*(FlashStart + 0x5555) = 0x1010;` 将FlashStart地址加上0x5555的偏移量,写入0x1010,这是进行整片擦除的最后一步。
整片擦除是将整个Flash芯片中的数据全部擦除,由于需要擦除的数据量比较大,因此整片擦除的时间比较长,一般需要几秒钟到几分钟不等。
阅读全文