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

특정 board(ex: smdk2410 / aesop2440)등의 board specific flash code(flash_init /flash_print_info /flash_erase /write_buff )
들은 제가 알기로는 "/board/board명/flash.c"에 있는 것으로 알고 있습니다.
그런데, /drivers/cfi_flash.c와 /tools/updater/flash_hw.c 에도 flash관련 code들이 있네요...

구체적인 함수명으로 찾아 보면, 아래의 <검색결과>와 같습니다.

/board/board명/flash.c에 있는 flash관련 함수와
/drivers/cfi_flash.c와 /tools/updater/flash_hw.c에 있는 flash관련 함수의
차이점(사용 용도등...)은 무엇인지요 ?

========================<검색결과>==========================================

---- flash_init Matches (6 in 6 files) ----
Cfi_flash.c (drivers):unsigned long flash_init (void)
Flash.c (boardsmdk2410):ulong flash_init(void)
Flash.h (include):extern unsigned long flash_init (void);
Flash_hw.c (toolsupdater):unsigned long flash_init (void)
---- flash_print_info Matches (8 in 6 files) ----
Cfi_flash.c (drivers):void flash_print_info (flash_info_t * info)
Flash.c (boardsmdk2410):void flash_print_info  (flash_info_t *info)
Flash.h (include):extern void flash_print_info (flash_info_t *);
Flash_hw.c (toolsupdater):void flash_print_info (flash_info_t *info)
---- flash_erase Matches (12 in 6 files) ----
Cfi_flash.c (drivers):int flash_erase (flash_info_t * info, int s_first, int s_last)
Flash.c (boardsmdk2410):int flash_erase (flash_info_t *info, int s_first, int s_last)
Flash.h (include):extern int flash_erase (flash_info_t *, int, int);
Flash_hw.c (toolsupdater):int flash_erase (flash_info_t *info, int s_first, int s_last)
---- write_buff Matches (6 in 6 files) ----
Cfi_flash.c (drivers):int write_buff (flash_info_t * info, uchar * src, ulong addr, ulong cnt)
Flash.c (boardsmdk2410):int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)
Flash.h (include):extern int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt);
Flash_hw.c (toolsupdater):int write_buff (flash_info_t *info, uchar *src, ulong addr, ulong cnt)

---- flash_real_protect Matches (15 in 6 files) ----
Cfi_flash.c (drivers):int flash_real_protect (flash_info_t * info, long sector, int prot)
Flash.h (include):extern int flash_real_protect(flash_info_t *info, long sector, int prot);
===================================================================================

profile

김재훈

2008.12.15 23:02:20
*.162.60.144

NOR Flash용 코드가 아닐까요? ^^;
2440 보드는 보통 NOR이랑 NAND가 둘다 붙는데, 두 플래시 코드가 들립니당.

고현철

2008.12.16 01:08:07
*.32.117.22

1. board쪽의 함수들은 low level NOR flash I/O함수입니다.
즉, 예전에는 모든 코드를 이렇게 썼습니다.

2. mtd쪽 코드입니다. 근래(? 몇년전)부터 사용된 커널의 mtd코드를 u-boot로 포팅한 녀석들입니다. 그러다 보니 중복현상이 나온 듯 하네요.

2번 방식은 주로 nand쪽만 많이 사용을 합니다. nand도 그냥 커널처럼 쉽게 붙지도 않고요.

tools 디렉토리 밑의 것은 아마도 그냥 일반적인 x86용 실해화일일 가능성이 높습니다.
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
» u-boot에서 flash관련... [2] 김경식 2008-12-15 939
354 QT에서 tslib를 사용하지 않고 touch 사용? [1] 정원 2008-12-13 1273
353 [질문] 임베디드 개발자 분들에게 질문드려요(parallel 카드) [4] 고태현 2008-12-12 714
352 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 1013
349 flash제어에 관한 문의입니다. [2] 강용근 2008-12-08 815

사용자 로그인