(STM32) Internal Flash Access
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了(STM32) Internal Flash Access,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2429字,纯文字阅读大概需要4分钟。
内容图文
1 #define ADDR_FLASH_PAGE_255 ((uint32_t)0x0807F800) 2 #define BufferSize 6 3 #define TEST_ERROR -1 4 #define TEST_SUCCESS 0 5 #define TEST_FAILED 1 6 7 uint16_t usFlashWriteBuf[BufferSize] = {0x0201,0x0403,0x0605,0x0807,0x0A09,0x0C0B}; 8 uint16_t usFlashReadBuf[BufferSize] = {0}; 9 10 static int FlashReadWriteTest(void) 11 { 12 uint32_t ucStartAddr; 13 int i = 0; 14 FLASH_Unlock(); 15 16 ucStartAddr = ADDR_FLASH_PAGE_255; 17 if (FLASH_COMPLETE != FLASH_ErasePage(ucStartAddr)) 18 { 19 printf("Erase Error!\n"); 20 return TEST_ERROR; 21 } 22 else 23 { 24 ucStartAddr = ADDR_FLASH_PAGE_255; 25 printf("Eease success flash data = \n"); 26 for (i = 0; i < BufferSize; i++) 27 { 28 usFlashReadBuf[i] = *(uint32_t*)ucStartAddr; 29 printf("ucFlashReadBuf[%d] = 0x%.4x\n", i, usFlashReadBuf[i]); 30 ucStartAddr += 2; 31 } 32 } 33 34 35 ucStartAddr = ADDR_FLASH_PAGE_255; 36 printf("\ninto flash data : \n"); 37 for (i = 0; i < BufferSize; i++) 38 { 39 if (FLASH_COMPLETE != FLASH_ProgramHalfWord(ucStartAddr, usFlashWriteBuf[i])) 40 { 41 printf("Write Error!\n"); 42 return TEST_ERROR; 43 } 44 printf("ucFlashWriteBuf[%d] = 0x%.4x\n", i, usFlashWriteBuf[i]); 45 ucStartAddr += 2; 46 } 47 48 49 FLASH_Lock(); 50 51 52 ucStartAddr = ADDR_FLASH_PAGE_255; 53 printf("\nRead Flash data : \n"); 54 for (i = 0; i < BufferSize; i++) 55 { 56 usFlashReadBuf[i] = *(__IO uint16_t*)ucStartAddr; 57 printf("ucFlashReadBuf[%d] = 0x%.4x\n", i, usFlashReadBuf[i]); 58 ucStartAddr += 2; 59 } 60 61 62 for (i = 0; i < BufferSize; i++) 63 { 64 if (usFlashReadBuf[i] != usFlashWriteBuf[i]) 65 { 66 return TEST_FAILED; 67 } 68 } 69 70 return TEST_SUCCESS; 71 }
最後再利用 STM32 ST-LINK Utility 和 UART Comport 去觀察 Memory 的結果。
(STM32) Internal Flash Access
标签:readwrite 如何使用 size nal info add medium read erase
本文系统来源:https://www.cnblogs.com/ollie-lin/p/14406545.html
内容总结
以上是互联网集市为您收集整理的(STM32) Internal Flash Access全部内容,希望文章能够帮你解决(STM32) Internal Flash Access所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。