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

안녕하세요.

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 임베디드 처음 해보는 초보입니다. [4] 양용현 2006-06-27 1371
6267 serial gadget 이 안되네요... [6] 이율삼 2006-06-28 3138
6266 [질문] 부팅 과정중 CS8900A 인식 실패 메시지 <-완료 [6] 오주열 2006-06-29 1139
6265 mpeg-4 최종 specification 갖고 계신분 [3] 고현철 2006-07-04 1087
6264 [질문] /var/adm/messages 파일을 계속 쓰는데..<-완료 [3] 오주열 2006-07-05 992
6263 [질문] 부팅시 ping을 쏘면 이더넷이 동작을 안하네요 <-완료 [6] 오주열 2006-07-06 1140
6262 high speed aesop-jtag 의 2410버전이 있나요? [2] 박병구 2006-07-11 1005
6261 aesop보드에 붙일만한 지상파 dmb 칩 알고 계신분 고현철 2006-07-11 1186
6260 [re] 지상파 dmb 칩에 대하여 ... 현철님 보세요 .... [5] 장석원 2006-07-11 1710
6259 특정핀을 부트로더와 부팅시에 GPIO로 사용하게 하는법<--완료 [3] 오주열 2006-07-15 1240
6258 가입하자마자 질문을 드립니다.. ^^; [8] 강성곤 2006-07-18 1692
6257 CS8900의 IP,Gate Way, Subnet, MAC을 저장하는법<--완료 [4] 오주열 2006-07-18 1404
» [질문] NOR Flash의 erase 에 대해서...<--완료 [5] 김선엽 2006-07-20 1173
6255 이솝 3차보드에 LCD용 핀이 몇개나 나오나요?<--완료 [2] 오주열 2006-07-20 1070
6254 혹시 aesop 보드에 wince 포팅해보신분 계신가요?? <= 완료 [3] 안정섭 2006-07-24 1428
6253 와이브로의 경우 ... [3] 장석원 2006-07-25 907
6252 AESOP 3차 Board 일정이 어떻게 되나요? <== 완료 [2] 손진호 2006-07-25 1112
6251 [질문]회로 베껴서 보드 떴는데 JTAG로 부트로더 다운로드가 안됩니... [5] 양용현 2006-07-26 1358
6250 무선랜 ?? <==완료 [3] 윤현승 2006-07-28 1494
6249 [질문] 이솝보드의 telnetd 질문입니다. <== 완료 ^^ [4] 이재훈 2006-07-28 1129

사용자 로그인