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

안녕하세요 초보입니다


제가 하려는 질문은 "NAND 0번지에 잘못된 프로그램이 들어있는 경우 어떻게 해야하나요?" 입니다.


U-Boot 버전을 업그레이드 해 볼까 하는 생각으로 평가보드가 아닌 양산용 보드에다가 

순수 u-boot 최신버전을 빌드만하여 NAND에 다운로드 하였습니다.

당연히 부팅될리가 없는데 해보고싶었더랬습니다.


하지만 u-boot를 다운로드한 이후부터 JTAG을 사용해서 NAND에 Writing이 되지 않습니다.

JTAG장비는 Codeviser를 사용하고 있습니다만, JnD Tech사에 문의하였더니 본인들도 모른다고 합니다.


예전에도 이런 경우가 있었는데, 눈물을 머금고 NAND 를 교체하여 해결?하였습니다.

하지만 지푸라기라도 잡는 심정으로 질문을 드리게 되었습니다.


선배님들의 많은 조언 부탁드립니다.


---------------------------

덧붙입니다: 

  AP 종류는 S3C-6410입니다.


박영기1

2012.04.12 18:26:24
*.90.129.146

참고로, Serial에는 어떠한 로그도 출력되지 않습니다

그리고 CVD 프로그램(JTAG)에서 타겟보드로 연결조차 안되는 것 같습니다.

정철진

2012.04.12 18:57:39
*.150.54.136

보드 초기화 해주는 스크립트 파일 같은것을 만들던지 수정을 해서 JTAG프로그램에서 타겟보드의 최소 초기화는 해줘야 JTAG으로 퓨징 가능한것으로 알고 있습니다.


JTAG장비회사에서 모른다고 했다니.. 좀 그렇네요.

박영기1

2012.04.12 20:29:01
*.90.129.146

uboot를 NAND에 Writing하는 스크립트는 갖고있습니다만,

스크립트를 실행시키면 Connect 명령에서 'Core를 중지할 수 없다'는 에러메시지를 내며 실패합니다.

정철진

2012.04.13 06:22:59
*.34.61.61

사용하시는 AP가 뭔지 모르겠지만 부트모드를 선택하는 핀(포트)이 2~3개 정도 있을것이고 회로도 상에서

이들 핀을 풀업이나 풀다운 처리해서 000->NOR부트, 001->Nand부트  뭐 이런식으로 모드선택하게 되어있을것같습니다.


이런 포트의 세팅 중에 풀업된 저항의 포트 입력측을 GND와 쇼트 시키면 (001->000) 잘못퓨징된 nand의 데이터

를 읽어오지 않게되어 스크립트가 수행될것 같습니다.

쾌도난마

2012.04.12 19:38:27
*.50.20.11

Nand boot 외 다른 방법이 있다면 (NOR , SPI , SDCARD) 그쪽으로 선회 하셔서 부팅 해 보셔야 할 것 같구요.


제일 간단한건 JTAG 입니다. 

T32를 예를 들면 cmm 에 명령을 통하여 시스템 초기화 시키고 RAM 에 다운로드 해서 

U-boot 부팅 시키고 nand scrub 하고 nand에 write 합니다.

아마 codeviser 도 가능 할 겁니다. 다시 한번 문의해 보세요.



JTAG 안붙고, 다른 부트 모드도 못 쓰는 최악의 상태까지 가면

NAND 를 떼어 내고 잘 되는 NAND 를 붙이셔야 하는 엄청난 일이경악할 일이..... ㅡ.ㅡ;

박영기1

2012.04.12 20:26:10
*.90.129.146

현재 NAND boot 밖에 할 수 없는 상황입니다.

그리고 JTAG의 프로그램(CVD)에서 Connect 명령을 주면 'Core 를 중지할 수 없다' 는 에러가 발생합니다.

장비 회사에서 답변하기로는 NAND에 쓰레기값이 들어가 있는 경우 안될수도 있다고...

이 말이 사실이라면 양산보드에서 개발은 못하는 것이겠군요..

쾌도난마

2012.04.12 21:40:30
*.50.20.11

저도 NAND 에 잘못된 data 가 있을 경우 JTAG 이 붙지 않는 경우가 발생 했는데

부트모드를 다른 부트 모드로 바꾼 뒤 ARM 을 건드리지 않도록 하여 붙이는 경우가 있었습니다.


NAND boot 밖에 할 수 없다는 것은 그렇게 납땜 되어 있다는 것이면 잠시 JTAG 을 붙이기 위해

잠시 다른 부트모드로 변경 뒤(H/W팀에게 맡겨서...) JTAG 을 한번 붙여 보려고 시도해 보시는건 어떨까요?

쾌도난마

2012.04.12 19:45:47
*.50.20.11

'하지만 u-boot를 다운로드한 이후부터 JTAG을 사용해서 NAND에 Writing이 되지 않습니다.'


본문에 다음글을 그냥 지나 쳤는데

지금 상황이 nand boot 는 되지 않지만 JTAG 을 통하여 RAM 부트 가능하지만(u-boot 프롬프트 나옴)

RAM 부트 하면 NAND write가 되지 않는다. 인가요?


이런 경우는 다음과 같이 추측해 볼 수 있지 않을까 싶습니다.

u-boot 가 first boot loader , second boot loader 로 나눠어져 있는 경우가 있습니다.

JTAG 을 통한 ram boot 는 second boot loader 를 RAM 에 로드 하여 그 번지에서 시작 하게 하는데

(우리가 보통 알고 있는 u-boot.bin MEMORY MAP 끝지점에서 시작 하는 U-boot)


nand 초기화 및 타이밍 이런것들을 세팅해 놓는곳이 대게 first boot loader 에서 합니다. 

(second boot loader 를 load 해야 함으로)

그렇기 때문에 현재 JTAG을 통하여 load 하였다고 하나 NAND 초기화가 안 되어 있어 write 및 read 을

할수 없을 수도 있습니다. 

방법은 second boot loader 에서도 nand 드라이버를 작성( copy & paste ) 하셔서 맞춰 보세요


뭐....... 이런 경우도 있다구요^^ ㅎㅎ 


lyreisis

2012.04.13 17:49:48
*.149.184.145

CPU중에 reset이후 코드가 하나라도 실행되면 JTAG 장비 연결이 안되것들이 있더군요. 그래서 저는 CPU reset전 NAND CS라인을 핀셋으로 high로 연결한후 JTAG 장비를 연결하고 NAND에 다시 Write여 복구 한적이 있습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
5308 Starting Kernel 메세지만 출력이 나왔는데, menuconfig에서 Dataf... file [2] 혜민아빠 2012-04-17 1306
5307 interrupt를 활용한 keypad 감지 c프로그램은 어떤식으로...? [3] Supsupi 2012-04-17 1766
5306 V310 스펙(OM 부팅모드) 관련하여 질문입니다. [3] 노대성 2012-04-15 1253
5305 [질문] h264파일을 mp4컨테이너에 담기 [3] 차차호드 2012-04-14 1426
5304 중소기업도 GMS 인증 가능할까요? [4] 현쓰 2012-04-12 1441
5303 블루스카이님, 고도리님, ikari님, 김지원님 !!! [4] 차차호드 2012-04-12 1243
5302 커널에서 head.S보다 더 먼저 거치는 부분이 어딘가요? [3] 혜민아빠 2012-04-12 1183
» NAND 0번지에 잘못된 프로그램이 들어있는 경우 어떻게 해야하나요... [9] 박영기1 2012-04-12 1625
5300 [s5pc110] 인코딩시에 와이드비율에서 이미지 마지막 흐려지는 현상 file [5] 차차호드 2012-04-11 1447
5299 Starting Kernel 메세지까지 출력이 되었습니다. 어디서부터 디버깅... file [3] 혜민아빠 2012-04-10 1313
5298 NAK bailout생기면서 I2C 통신 fail이 나네요. 훌러덩 2012-04-10 8974
5297 커널 디버깅을 하기 위해 printascii()함수를 사용하려면 무슨 head... [1] 혜민아빠 2012-04-10 1573
5296 콘솔상에서 /dev/mem을 통한 물리메모리 덤프 시도 [1] 김지원 2012-04-10 1401
5295 긴급질문입니다! boot animation 무한반복현상 [2] yama 2012-04-09 1089
5294 invvalidate TLB 해황 2012-04-08 734
5293 제가 만든 모듈을 보드에 있는 커널에 삽입하려고 하니..아래와 같은... [1] 혜민아빠 2012-04-07 1493
5292 stripped 파일은 어떻게 만드는 것인가요? file [5] 혜민아빠 2012-04-07 1221
5291 4210에서 smbus사용하기 위해서 [1] 훌러덩 2012-04-06 1319
5290 왜? 모듈을 올리려면(insmod: can't insert 'dev_led.ko': invali... [3] 혜민아빠 2012-04-06 1554
5289 S3C6410타겟보드에 2.95 컴파일러를 사용하는 환경에서 개발이 가능할... [2] 은민아빠 2012-04-05 1141

사용자 로그인