smdk2410 을 모델로 EZ-s3c2440 을 u-boot porting을 하고 있습니다.

 

u-boot -> ez-2440 포팅

1.Makefile

1643
라인에
XXXX_config    :
    @./mkconfig $(@:_config=) arm arm920t ez-2440  samsung s3c2440 # Seung yong add-in
2.
보드 디렉토리 추가

XXXX
용 디렉터리 추가
콘솔창에서
cd board
mkdir apps ->
보드에 종속적으로 들어갈 파일들
복사 명령어 cp -a./smdk2440/* ./XXXX/
3.XXXX
보드 디렉터리의 smdk2410 관련 파일 이름 수정

pwd ->
현재 경로를 알수 있게 한다.
cd XXXX

mv smdk2410.c apps.c // 현재 smdk2410 에 있는 소스들을 XXXX.c 로 복사 한다.

4.
보드 디렉터리 내에 Makefile 수정

*
컴파일할 오브젝트명의 변경
*COBJS
항목의 smdk2410.o apps.0 로 변경
->
주의 board 안에 있는 Makefile 를 바꿔줘야 함 ... 
바꾸기 전
COBJS := smdk2410.o flash.o
바꾼 후
COBJS := apps.o flash.o
5.u-boot
포팅  -헤더 생성

s3c2440  control register
관련 헤더파일 생성
포팅할 보드의 해더파일을 참조하여 생성
include/s3c2410.h
파일을 복사하여 사용
cd include
cp s3c2410.h s3c2440.h ->mv2443
에서 이미 있나 보나.... 복사 안했음
6.u-boot
포팅 -관련 헤더 수정_1

#ifdef CONFIG_S3C2410
으로 정의된 모든 부분을 찿아서 S3C2440 도 추가하여  같이 컴파일 될 수 있도록 한다.
라인은 ->85,95,99,107,110,156,379,412,462
#ifdef (CONFIG_S3C2410) 
열어보면 85 번째 줄 에
  85 #ifdef CONFIG_S3C2410
  86         S3C24X0_REG32   SUBSRCPND;
  87         S3C24X0_REG32   INTSUBMSK;
이러한 코드를
  85 #ifdef  (CONFIG_S3C2410) || defined (CONFIG_S3C2440) //2440
  86         S3C24X0_REG32   SUBSRCPND;
  87         S3C24X0_REG32   INTSUBMSK;

7.u-boot
포팅 -관련 헤더 수정

include /s3c24x0.h
파일 수정
s3c2410_NAND
s3c2440_NAND 로 수정
라인수 173 번째 s3c2410_NAND -> s3c2440_NAND 로 바꿈

8.u-boot
포팅 -관련 헤더 수정
s3c24x0_GPIO
S3C2440 에서 도 사용할수 있게 만들어 줘야 함
라인수 : 495 변경
 
9.u-boot
포팅 -관련 헤더 수정

include /s3c2440.h
파일의 2410 관련 내용을 2440 으로 변경
*S3C2410 /S3C2440 User's Manual
참조
S3C2440
  Camera aC97 관련 INTERRUPT BIT 가 추가 되었지만 Bootloader 와는 크게 상관없음

바꾸기 전
 53 #define S3C2410_ECCSIZE         512
 54 #define S3C2410_ECCBYTES        3
변경 후
 53 #define S3C2440_ECCSIZE         512
 54 #define S3C2440_ECCBYTES        3

10.include /S3C2440.h
변경전
557 static inline S3C2410_NAND * S3C2410_GetBase_NAND(void)
558 {
559         return (S3C2410_NAND *)ELFIN_NAND_BASE;
560 }
변경후
557 static inline S3C2440_NAND * S3C2440_GetBase_NAND(void)
558 {
559         return (S3C2440_NAND *)ELFIN_NAND_BASE;
560 }

변경전
593 static inline S3C2410_ADC * S3C2410_GetBase_ADC(void)
594 {
595         return (S3C2410__ADC *)ELFIN_ADC_BASE;
596 }
변경후
593 static inline S3C2440_ADC * S3C2440_GetBase_ADC(void)
594 {
595         return (S3C2440__ADC *)ELFIN_ADC_BASE;
596 }

머 이런식으로 변경하가면서 포팅을 하고 있는데요 .... 아직 기초가 부족하는건지....

 

컴파일 한 이미지를 올리면 부트로그가 안올라오네요..ㅜㅜ

 

이 외에도 여러군데를 만졌는데요....EZ-board 에  uboot 올리신분 안계신가요?