第一次使用LPC系列的IAP功能,不是很了解,在测试1788时发现一个很奇怪的现象:
程序通过串口接收数据,然后烧写到指定的FLASH扇区,烧写完后,在MDK里查看指定的扇区空间,发现烧写进去的数据,有小部分字节的数据是错误的,同接收到的数据不一致,扇区在烧写之前,成功擦除了的,也先成功选定了,烧写是每次256字节数据,不知道为什么会出现这种现象?
lpc1788的主频设置在72MHz,也不算高啊,FLASH时钟我设置为6个时钟周期了,按手册上所说,是安全的设置值了。
然后我把LPC1788的主频降到了48MHz再试了一下,这次烧写后发现数据都对了。难道1788的IAP功能只能运行在48MHz及以下的主频才能成功? |