FSTWikiRev. 1.7 u-boot
Login:
Password:
Join
E D R S I H P RSS
FrontPage|FindPage|TitleIndex|RecentChanges

u-boot #


-- 김도집 2005-08-12 16:51:50

Contents

1 u-boot
1.1 u-boot란?
1.2 u-boot 구할 수 있는 곳은?
1.3 u-boot 빌드
1.4 u-boot 소스 분석
1.4.1 Nand 플래시
1.5 참고

1.1 u-boot란? #


1.2 u-boot 구할 수 있는 곳은? #

1.3 u-boot 소스 분석 #

1.3.1 Nand 플래시 #

common/cmd_nand.c

기본 데이터 구조체
struct nand_chip
  int page_shift;
  u_char *data_buf;
  u_char *data_cache;
  int cache_page;
  u_char ecc_code_buf[6]
  u_char reserved[2];
  ...
  uint oobblock;
  uint oobsize;
  uint eccsize;
  int bus16;
};

field설명
data_bufoobblock+oobsize. eg. 528
oobblockOOB를 제외한 페이지의 크기 eg. 512
oobsizeOOB의 크기 eg. 16

위에서 data_buf는 nand_probe()함수에서 malloc을 통해 할당 받는다. data_buf의 크기는 oobblock+oobsize 이다. 즉 낸드 플래시 페이지가 512바이트이고 OOB 크기가 16바이트라고 한다면 data_buf의 크기는 528바이트가 된다.

ECC {{BR}} ?JFFS2에서 ECC에 대한 것이다.
OOB 영역의 비트설명
비트 0JFFS2_OOB_?ECCPOS0
비트 1JFFS2_OOB_?ECCPOS1
비트 2JFFS2_OOB_?ECCPOS2
비트 3JFFS2_OOB_?ECCPOS3
비트 4ECCVALID_POS
비트 5BADBLOCK_POS
비트 6JFFS2_OOB_?ECCPOS4
비트 7JFFS2_OOB_?ECCPOS5
비트 8cleanmark. 0x85
비트 9cleanmark. 0x19
비트 10cleanmark. 0x03
비트 11cleanmark. 0x20
비트 12cleanmark. 0x08
비트 13-15cleanmark. 0x00

1.4 참고 #


last modified 2007-02-27 01:23:11
ShowPage|FindPage|DeletePage|LikePages Valid XHTML 1.0! Valid CSS! powered by MoniWiki
0.0200 sec