기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요.

NOR Flash의 한 섹터 지울때 메뉴얼에는 인터럽트를 disable 시키는것으로 추천하던데 왜 그럴까요?

한 섹터가 60000바이트정도 되고 erase 시간이 1초정도 걸리던데

동영상 같은것 플레이 중일때 1초 정도면 끊어지네요.

disable 시키지 않아도 아직까지는 문제없이 잘 돌아가구요.

꼭 disable를 시켜야 되나요?

답변 부탁드릴께요.

감사합니다.

고현철

2006.07.20 04:16:52
*.117.46.252

보통 Interrupt가 뜨면 해당 interrupt 처리 루틴으로 점프하기 때문에, erase에 문제가 있을 수도 있습니다.

개발에서 제일 힘든것이 평소때 잘 동작하는게 문제가 아니라,
가끔가다 특정상황에서 오동작을 하는게 문제입니다.

ISR이 발생하면 현재 context(현재 cpu가 하고 있는일)를 멈춰버리고
다른 짓을 해 버리기 때문에, 어떤 동작이 발생할지는 잘 모르는 문제지요.

일단 시키는대로 해주는게 좋습니다만, 꼭 해야한다고 한다면...
꽤 오랜기간 테스트를 해보시기 바랍니다.

뭐, erase니깐.....erase 안될 경우에는 write 안되니...또 지우고
쓰면 되겠습니다만...ㅎㅎ

고현철

2006.07.20 11:53:12
*.232.213.232

개발환경이 어떤 환경인가요? OS가 올라간 환경이라면 큰 상관은 없을거라고 보여집니다만...

최원철

2006.07.21 08:54:23
*.238.108.105

크게 두가지 문제가 있었습니다. 플래시 쓰기나 삭제 시퀀스 중에 인터럽트 루틴으로 인해 다른 플래시 접근 시퀀스가 끼어들어 해당 시퀀스가 깨지는 일이 있을 수 있고요.. 이 경우 당연히 작동하지 않겠죠. 두번째로는 OS 사용시 FLASH 접근 시퀀스중 (특히 파일 시스템 접근 중에) TASK SWITCHING을 허용함은 시스템의 예외 상황(시스템 종료등의)을 허용하는 것이 되기 때문에 문제가 될 수 있습니다.

플래시 중. 쓰기와 읽기가 동시에 가능한 제품도 있긴있다고 들었습니다. (삭제 명령 후 삭제가 진행중인 상태에서 다른 섹터에서 작업을 할 수 있는 등의)

플래시나 파일 시스템 관련은 추후 심각한 상황(소송 같은?)이 올 수 있으므로 스펙을 준수하는게 좋습니다.

최원철

2006.07.21 08:56:26
*.238.108.105

여럿이 작업할 경우. 원래의 구조 컨셉에서 벗어나 특정 TASK(파일 시스템 TASK 같은)에서 사용해야 하는 루틴을 다른 테스크에서 직접 호출 할 경우 시퀀스 깨지는 문제가 간헐로 나타나는 경우도 있었습니다.

김선엽

2006.07.21 20:31:05
*.94.41.89

환경은 OS올라간 셋탑박스였구요. 충분히 테스트를 해봐야 될 듯하네요.
플래시 write 할 경우 앞뒤로 세마포어를 쓰기때문에 중복으로 불릴 일은 없을듯 합니다.
늦었지만 답변 감사합니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6268 [질문] (하드웨어) 기판 두께가 얇은 이유? [1] 이동술 2007-05-09 3755
6267 [완료] USB CDRW [9] 한영민 2007-05-10 3748
6266 메인 페이지도 오픈하셨네요... 툴체인 관련...<=완료 [5] 이홍석 2006-04-06 3738
6265 GUI Tool 선정에 관하여 [2] 권형식 2006-04-12 3727
6264 [완료] 터치칩 제조사 검색이 안되네요. [3] 박영학 2007-05-15 3720
6263 [완료]공유기 없이 VMware network 환경 설정 [7] 최재혁 2007-12-24 3700
6262 [완료]sd card mount 질문입니다~~^^; [5] 김승규 2007-07-09 3686
6261 [완료] 공구 LX800 LCD화면 색이 변해서 어떠한 것이 문제인지..... [10] 이승진 2007-05-07 3681
6260 [질문] USB 메모리로 부팅해서 설치하는데.. [1] 류충렬 2007-05-12 3678
6259 안드로이드 해상도 변경방법은?? [2] 블루스카이 2012-05-01 3657
6258 [ORIGEN-4412]Linux포팅하는 방법을 알고 싶습니다. [5] monad 2013-04-26 3646
6257 완료) XP 용 graphic driver는 어떻게 만드나요 ? [2] 김형기 2007-08-10 3607
6256 [질문] aesop-lx800 보드 사용시에 필요한 부품들은? [8] 류충렬 2007-05-08 3603
6255 winpe 설치 해보신분 [3] 김준대 2007-05-16 3590
6254 [질문] PCI LAN Card. RTL8139D Error 있습니까? [6] 한영민 2007-05-09 3583
6253 [질문]LCD 고장인거 같아서 외부 모니터 설정하는 키보드 순서 알... [4] 이동술 2007-06-28 3578
6252 외부 모니터로 출력 선택후 10분뒤 LCD 하단부가 고열로 검게 변했... [5] 조준동 2007-06-02 3574
6251 일반터미널 상에서는 emmc에 uboot를 올리지못하나요?? [10] xoduddk123 2014-02-14 3553
6250 [완료]serial gadget에 관해서.. [5] 박기호 2007-05-24 3552
6249 I2S를 구현하다 문제가 있어 질문 드립니다. [5] 션한물 2013-04-12 3544

사용자 로그인