???о?HK32F103xC/D/E-flash??д??ü????????
HK32F103x/C/D/E??????????????д???????F103???о??????32λMCU????????????flash?????ó????洢??????????????????????????????flash??Flash???????????
???512 Kbyte Flash?洢??
?洢??????
??????????飺512Kbyte,??洢?黮???256??Page????2Kbyte
??????????256????
?????????????
??????????????????
?????????????
????????/????????
??????/д????
?????????
Flash?????32λ????洢????????????????????????????????????256?????2Kbyte??????????±??????

Flashд?????????
Flash??д??鴦??Flash????????????????12??32λ???????????????????????????Χ????????Flash??????????????ò?????????12???????????
??Flash???????????FLASH_KEYR??
??Flash???????????(FLASH_OPTKEYR)
??Flash????????(FLASH_CR)
??Flash???????(FLASH_SR)
??Flash????????(FLASH_AR)
??Flash??????????(FLASH_OBR)
??Flashд?????????(FLASH_WRPR)
??Flash????????2(FLASH_ECR)
??4?????????????(PW0~PW3)
??CPU??????Flash?????????е?Flashд???????????CPU?????С??????????д/???????????????????Flash???????????????????????????????
??λ??Flash?洢???????????????????????????????FLASH_CR???????????????????д????ж?FLASH_KEYR????????н????????????ж?FLASH_ CR????????????????????????????????裺
1.??FLASH_KEYR?????д??????KEY1=0x45670123??
2.??FLASH_KEYR?????д??????KEY2=0xCDEF89AB??
?κδ????????????FLASH_CR?????θ?λ?????????????????????????????????????????????ж??
?????KEY1??????????????ж??
?????KEY1?????KEY2????????????KEY2???????????ж??
??????????????о??????????????????

??????
Flash ?洢???????????????????????????ж??????????????????????????????????????????????????FLASH_SR???????PGERRλ???????????澯??????????????????????????????????????????澯??
?????????????????FLASH_WRPR?е?д????λ??Ч???????????б??????????????????????澯??????????????FLASH_SR??????е?EOPλ??????????
??Flash?洢????????????????????
???????????
1.???FLASH_SR?е?BSYλ?????????β????????????
2.??λFLASH_CR??????е?PGλ????FLASH_ECR??WPGλ??
3.??????????????/?????λ???????д???????
4.???FLASH_SR??????е? BSY ????
5.????????????????
1.???FLASH_SR?е?BSYλ?????????β????????????
2.??λFLASH_ECR??????е?2WPGλ????4WPGλ??
3.???????????PW0~PW1????PW0~PW4д???????
4.??FLASH_ARд??????λ?????λ??????
5.??λFLASH_CR??????е?STRTλ?1??
6.???FLASH_SR??????е?BSY????
7.????????????????
????? FLASH_SR?е?BSY???á?1?????д??????????????????
Flash?洢??????
Flash?洢???????????????λ????????????????????
?????
???????????????1.???FLASH_SR?е?BSYλ?????????β????????????
2.??FLASH_CR??????е?PERλ???1??????????????
3.дFLASH_AR???????FARλ??д??????????????
4.??FLASH_CR??????е? STRT λ???1??????????????????
5.???FLASH_SR?е?BSY???0????????????????ɡ?
6.???LASH_SR???????EOP???????Flash???????????λEOP??????????????????λ??
???????
Flash?????1Kbyte?????????????????????????????????????FLASH_ECR?е?HPERλ?á?1?????????????????????
1.???FLASH_SR??????е?BSYλ?????????β????????????
2.??FLASH_CR??????е?HPERλ???1???????????????
3.дFLASH_AR???????FARλ??д????????????????
4.??FLASH_CR??????е?STRTλ???1??????????????????
5.???FLASH_SR?е?BSY???0????????????????ɡ?
6.???LASH_SR???????EOP???????Flash???????????λEOP??????????????????λ??
???????
???????????????????β???????Flash?????????????????????飬???岽???????
1.???FLASH_SR???????BSλ?????????β????????????
2.??FLASH_CR??????е?MERλ???1????????????????
3.??FLASH_CR??????е?STRTλ???1??????????????????
4.???FLASH_SR?е?BSYλ??0???????????????????????
5.???FLASH_SR???????EOP???λ?????Flash???????????λEOP??????????????????λ??
flash??д????????ù??????????????
??????????
CACHE?????????FLASHд???????????????????
?????????????
?????????
??д??FLASH->AR???????,????FLASH->CR?????????CACHE->CTL|=0x0800????????CACHE??????HK32F103xCxDxE???????????hk32f10x_flash.c ?????????
????????????MCU???????????????????????????????????????????????


????zzy ?????????2022-06-02