WIZnet Developer Forum

w7500p flash memory Erase 관련 문의입니다.

[W7500x][W7500P]

안녕하세요.

현재 W7500P를 통해 flash memory에 데이터를 저장하고 있습니다. 처음 flash memory가 비어 있을땐
FLASH_IAP(IAP_ERAS_DAT0, 0, 0, 0); 함수와 FLASH_IAP(IAP_PROG, DAT0_START_ADDR, savedata, writeCnt);함수를 통해 flash memory에 정상적으로 값이 써집니다(savedata 배열변수와 writeCnt 변수는 unsigned int 8[uint8_t] 입니다).
하지만 새로운 데이터를 받아 flash memory에 새로운 값들을 쓰기 위해 FLASH_IAP(IAP_ERAS_DAT0, 0, 0, 0); 함수를 사용하면 첨부해 드린 이미지와 같은 에러가 발생합니다.

20200804_175046

이미지와 같은 에러가 발생하는 원인과 해결 방법에 대해 알고 싶습니다.
추가로, 개발툴은 Eclipse를 사용 중이며 Debug는 J-link를 통해 진행 중에 있습니다.

한가지더 추가하여 제가 현재 사용하고 있는 flash memory값들입니다. 아래의 이미지 처럼 정상적으로 값이 저장 될때와 에러가 발생했을때의 메모리 값입니다.

  • 정상적인 flash memory 값
    20200804_181829

  • 에러 발생 후 flash memory 값
    20200804_181845

사용 중인 제품 명을 위와 같이 제목에 명기하시면 더 빠른 응답을 받으실 수 있습니다.
본 Template을 삭제 후 문의 내용을 남겨 주세요. :slight_smile:

방금 전 문의드린 부분에 대해서 정리하여 답변 남깁니다.

위의 이미지에서 처럼 DUALTIMER_Config() 함수를 실행 한 뒤 바로 아랫줄에 나오는 flash 관련 함수들을 사용하면 정상적으로 동작되지 않지만 DUALTIMER_Config() 함수 실행 전 flash 관련 함수들을 실행하면 flash memory에 정상적으로 값이 쓰여집니다.
추가로 이미지에 빨간 네모 박스로 쳐져있는 부분에 FLASH_IAP(IAP_ERAS_DAT0, 0, 0, 0); 함수와 FLASH_IAP(IAP_PROG, DAT0_START_ADDR, savedata, writeCnt); 함수가 실행 됩니다.

DUALTIMER와 Flash메모리를 함께 쓰는 것이 가능 한지 궁금합니다.

감사합니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.