FSTWikiDiff for 1.8 u-boot
Login:
Password:
Join
E D R S I H P RSS
FrontPage|FindPage|TitleIndex|RecentChanges

Difference between r1.8 and the current

@@ -6,7 +6,11 @@

== u-boot란? ==

ad
== u-boot 구할 수 있는 곳은? ==
sf.net 에서 u-boot 으로 검색하면 최신 u-boot 소스를 다운 받을 수 있다. 
 
== u-boot 빌드 ==
== u-boot 소스 분석 ==
=== Nand 플래시 ===
common/cmd_nand.c
@@ -36,7 +40,7 @@
위에서 data_buf는 nand_probe()함수에서 malloc을 통해 할당 받는다. data_buf의 크기는 oobblock+oobsize 이다. 즉 낸드 플래시 페이지가 512바이트이고 OOB 크기가 16바이트라고 한다면 data_buf의 크기는 528바이트가 된다.

ECC [[BR]]
다음은 낸드 플래시의 페이지가 크기가 512바이트일 때, JFFS2에서 ECC에 대한 것이다.
||'''OOB 영역의 비트'''||'''설명'''||
||비트 0||JFFS2_OOB_ECCPOS0||
||비트 1||JFFS2_OOB_ECCPOS1||
@@ -46,13 +50,12 @@
||비트 5||BADBLOCK_POS||
||비트 6||JFFS2_OOB_ECCPOS4||
||비트 7||JFFS2_OOB_ECCPOS5||
||비트 8||cleanmarkcleanmarker. 0x85|| 
||비트 9||cleanmarkcleanmarker. 0x19|| 
||비트 10||cleanmarkcleanmarker. 0x03|| 
||비트 11||cleanmarkcleanmarker. 0x20|| 
||비트 12||cleanmarkcleanmarker. 0x08|| 
||비트 13-15||cleanmarkcleanmarker. 0x00||
== 참고 ==
* [http://www.denx.de/twiki/bin/view/DULG/Manual U-Boot Manual]



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란? #


ad

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

sf.net 에서 u-boot 으로 검색하면 최신 u-boot 소스를 다운 받을 수 있다.

1.3 u-boot 빌드 #

1.4 u-boot 소스 분석 #

1.4.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
다음은 낸드 플래시의 페이지가 크기가 512바이트일 때, ?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
비트 8cleanmarker. 0x85
비트 9cleanmarker. 0x19
비트 10cleanmarker. 0x03
비트 11cleanmarker. 0x20
비트 12cleanmarker. 0x08
비트 13-15cleanmarker. 0x00

1.5 참고 #


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