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

김재훈님
larger block flash에 맞게 nand 쪽 드라이버를 수정이 되었는지를 알지 못하겠네요..
죄송하지만 아래 코드는 nand 관련 설정 부분입니다. 지식이 짧은지라 어디를 수정해 줘야 되는지를 정확하게 알지 못하겠네요.... TT
/* NAND configuration */
#define CFG_MAX_NAND_DEVICE     1

#define CFG_NAND_BASE           (0x4e000010)
#define NAND_MAX_FLOORS         1
#define NAND_MAX_CHIPS          1
#define NAND_ChipID_UNKNOWN     0x00
//#define SECTORSIZE            2048
#define SECTORSIZE              1024  <--수정

#define ADDR_COLUMN             1

#define ADDR_PAGE               2
#define ADDR_COLUMN_PAGE        3

#define NAND_DISABLE_CE(nand)           (NFCONT_REG |= (1 << 1))
#define NAND_ENABLE_CE(nand)            (NFCONT_REG &= ~(1 << 1))

#define CFG_NAND_SKIP_BAD_DOT_I         1  /* ".i" read skips bad blocks   */

#define CFG_NAND_WP                     1

#define NAND_WP_OFF()                   do { NFCONT_REG &= ~(1 << 12); } while(0)
#define NAND_WP_ON()                    ;

#define NAND_OOB_SIZE           (64) <--수정
//#define NAND_PAGES_IN_BLOCK     (32)
//#define NAND_PAGE_SIZE          (512)
#define NAND_PAGES_IN_BLOCK     (64) <--수정
#define NAND_PAGE_SIZE          (2048)<--수정



#define NAND_BLOCK_SIZE         (NAND_PAGE_SIZE*NAND_PAGES_IN_BLOCK)
#define NAND_BLOCK_CNT          (4096)
#define NAND_BLOCK_MASK         (NAND_BLOCK_SIZE - 1)
#define NAND_PAGE_MASK          (NAND_PAGE_SIZE - 1)

/* #define NAND_3_ADDR_CYCLE    1 */
/* #define S3C24X0_16BIT_NAND   1 */

/* mark bad block */
#define NF_BB_ON   1
#define NF_BB_OFF  0

/* NAND R/W status */
#define NF_RW_NORMAL   1   /* default */
#define NF_RW_YAFFS    2   /* yaffs image r/w */

/* NAND R/W ECC status */
#define NF_USE_ECC     1
#define NF_USE_MTD_ECC 2


#define CFG_ENV_IS_IN_NAND
#define CFG_ENV_OFFSET 0x0003C000


profile

김재훈

2008.12.11 08:46:42
*.162.4.148


1.1.6이면 커널의 MTD 코드를 걍 뜯어오시면 될 것 같은데... 전 저 소스를 모르는 관계로 일단, S3C24X0 PDS에 고도리님이 사용하셨던 Legacy NAND용 Command 코드 샘플을 올려드리겠으니, 참고해 보시고 수정해 보시기 바랍니다.

배신규

2008.12.18 04:02:04
*.181.191.121

NAND_BLOCK_CNT 부분도 수정을 해주셔야 될꺼 같은데요.
그리고 보통 large block이면 커맨드도 ADDR_COLUMN_PAGE도 4가 되야 될꺼 같구요.. 보통 ADDR_COLUMN 2, ADDR_PAGE 2가 아닐까 싶은데.. 스팩을 봐야 알겠지만요..

배신규

2008.12.18 04:06:02
*.181.191.121

추가로.. nand read, write하는 부분의 커맨드도 스팩에 맞게 맞춰 주셔야 합니다. small block에서 large block바꾸시는거 같은데 커맨드가 조금 다릅니다.
List of Articles
번호 제목 글쓴이 날짜 조회 수
368 일반 질답란입니다. 리눅스, wince, BSD, RTOS등등의.... 고도리 2007-10-16 2224
367 yaffs iozone 테스트 [1] 박지훈 2009-01-22 1175
366 aesop2440보드에 qt-embedded-4.4 올릴 때 문제 아시는 분 [4] 류경훈 2009-01-20 932
365 Angstrom compile후 진행사항 문의 [3] 박종석 2009-01-16 1064
364 6410 보드 양산시 메모리 인식 문제 [4] 성인제 2009-01-07 1191
363 mplayer의 실행 좌표 질문입니다. [1] 박선종 2009-01-05 797
362 Angstrom이 무엇인가요? [1] 박종석 2009-01-04 828
361 RVDS 2.2 설치 [6] 한영민 2008-12-31 6535
360 aesop커널에 crmafs올릴려면..(질문 조금 수정했습니다.) [2] 배신규 2008-12-31 938
359 고도리님께 질문 [3] 박선종 2008-12-30 822
358 U-boot에서 usb storage 인식하기. 최종환 2008-12-30 1509
357 nand flash 설정 문의 [1] 정대현 2008-12-24 917
356 [완료]uboot 1.0.0에 aesop kernel 2.6버전을 올려도 되나요? [2] 배신규 2008-12-19 693
355 u-boot에서 flash관련... [2] 김경식 2008-12-15 939
354 QT에서 tslib를 사용하지 않고 touch 사용? [1] 정원 2008-12-13 1273
353 [질문] 임베디드 개발자 분들에게 질문드려요(parallel 카드) [4] 고태현 2008-12-12 714
» u-boot1.1.6 nand read 에러문의 [3] 정대현 2008-12-09 1033
351 [질문]POLLUX에서 2GB MLC(K9GAG08U0M) 에러 관련... [3] 장병남 2008-12-09 1584
350 nand read 에러문의 [3] 정대현 2008-12-09 1012
349 flash제어에 관한 문의입니다. [2] 강용근 2008-12-08 815

사용자 로그인