프로그램 실행중에 NOR flash 에 데이타를 저장하고 읽는것이 가능한가요.?
글쓴이: guriis / 작성시간: 수, 2011/09/28 - 2:49오후
현재 개발중인 장비에는 S3c2410x 와 8mb NOR Flash 가 있습니다.
NOR Flash 의 5mb 정도는 code 영역이 저장되어 있고 나머지 1mb 를 데이타 저장용으로 사용할려고 합니다.
RealView Debugger 를 사용해서 테스트를 할때는 NOR Flash 에 쓰고 읽는것이 가능한데.
release mode 로 컴파일후 테스트 하면 장비가 멈쳐버리네요.
프로그램 실행중에 NOR Flash 에 데이타를 저장하고 읽는것이 가능한지 알고 싶습니다.
Forums:
일반적으로 불가능 하다고 말합니다. multi
일반적으로 불가능 하다고 말합니다.
multi bank 구조인 고용량 제품의 경우 다른 bank에 대한 program/erase 가 가능합니다.
code 영역은 bank0, data 저장 영역은 bank1 인 경우라면
bank0에 있는 code 중에서 nor program/erase code가 정상 수행 할 수 있습니다.
그런데 bank가 1개인 일반 저용량 NOR는 불가능 합니다.
그래도 꼭 데이터 저장용으로 사용을 하고 싶다면 NOR access(read/program/erase) 하는 코드를
별도로 RAM으로 복사해서 RAM에서 수행하도록 하면 됩니다. (shadow 기법)
이렇게 하려면 ld script를 바꾸거나 realview 컴파일러에서는 scatter loading script 파일로
로딩하는 주소를 명시해서 할 수 있습니다.
보통 SW 자체 업그레이드 기능이 있는 임베디드 SW의 경우 shadow 기법으로 펌웨어를 업그레이드 합니다.
mtd 를 이용하면 문제 없을텐데요..
저희는 write 하는데 문제가 없습니다.
댓글 달기