PSOC4简介
本文适用于PSOC 4000S/4700S/4100PS类的芯片,该类芯片搭载了ARM M0+的CPU,SWD ID为0x0BC11477, 对应的flash有256行,每行有128 bytes。
注意:一定要确认芯片的类型,不同类型的芯片的flash配置不一样,SWD ID也会不同,对应的寄存器地址也有可能不一样,所以该驱动只适用于同类的芯片。
Flash烧录流程
准备:在烧录前确保SWD能正常通讯,能正常访问到ARM的DAP寄存器。
Device acquire:
该步骤包含创建SWD连接、线复位、获取SWD ID以及在擦除和写入前将内部主振荡器IMO的频率设置为48MHz等等操作。
Verify silicon ID:
用于验证烧录文件与烧录芯片是否匹配。
Erase all flash:
此步骤将擦除所有用户行和相应的闪存保护。
Checksum Privileged Calculation:
在删除所有用户行后。此步骤用于计算和校验。
Program Flash:
将数据烧录到flash中。
Verify Flash:
验证flash中的数据和被烧录的数据是否一致。
Program protection setting:
此步骤将行保护和芯片保护写入到特定的flash区域。
Verify protection setting:
两个保护设置都与十六进制文件中的设置相匹配。
Verify Checksum:
此步骤将闪存中用户数据的校验和与十六进制文件中的校验和进行匹配。