[참고] STM32L1xx : 내장 플래시 메모리를 손상시킵니다! (... 하즈가 ...)

개요


  • STM32L1계의 FLASH의 특정한 곳 소거, 기입을 반복해, 어느 정도로 불량이 나오는지, 를 보고 싶었지만. .
  • 대부분 전에 테스트를 했지만, 하룻밤, 밤새 정도 계속했을 정도로는 괜찮았다. (하즈 ..)
  • 데이터 보존에 사용하는데, 어느 정도, 견딜 수 있는지 알고 싶었지만, 제품에서는, 신경쓰지 않고, 사용하는데.
  • 잘 테스트·순서·회수(일수)등 있으면, 코멘트 부탁합니다.

  • 환경


  • STM32L15xVC 계열
  • Cortex®-M3, 256KB Flash, 32KB SRAM, 8KB EEPROM
  • Reference manual:RM0038의 Product category definition에서 Cat.3의 칩.

  • 내장 플래시 정보 (Cat.3)
  • Page: 지우기 단위
  • 256 Bytes: 총 1024 pages

  • Sector:
  • 0 ~ 31 sector: 16 pages = 4 KB
  • 32 ~ 64 sector: 256 pages = 64 KB

  • 쓰기는 WORD(32bit) 단위

  • Memory map (STM32L151xC STM32L152xC 데이터 시트의 Memory map에서)

  • FLASH 관련 사용 HAL API
  • 쓰기: HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data)
  • 삭제: HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *PageError)
  • FLASH 잠금: HAL_StatusTypeDef HAL_FLASH_Lock(void)
  • FLASH 잠금 해제: HAL_StatusTypeDef HAL_FLASH_Unlock(void)


  • 테스트 내용



    테스트 1


  • 테스트 방법
  • 페이지 지우기
  • 데이터 검사(ALL 0x00 ?)
  • 페이지 쓰기 (256Bytes 0xFF로 채우기)
  • 데이터 검사 (ALL 0xFF ?)
  • 루프

  • 결과 ... 보통으로 사용할 수 있었다 (하즈)

  • 기타


  • 테스트 소스 코드를 찾으면 넣습니다.
  • 좋은 웹페이지 즐겨찾기