|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
完全自己写的bootloader启动kernel,2440直接可用,4.3寸屏,带apple的logo- int main(void)
+ F( I0 q* ^3 S! |$ r - {
% O6 G- F1 g( w- i& q- \3 L0 s - char c;4 z" \/ v. b& S( t. n! T/ }
- char cmd_buf[200];
; _' p$ w% C2 c+ [. ? - uart0_init();$ z/ o4 o' W; k) p4 X+ M* @& n
- 2 ?' x% i1 b" b+ x
- puts("\n\r#####################################\n\r");. W5 J( B2 _: v& l0 t2 o+ h
- puts("The board:TQ2440\n\r");- G. e$ Q3 o+ c5 f0 i& o
- puts("The NAND:K9F1216U0A 256MB\n\r");; p! M- Q% j$ U: q" P
- puts("The NOR:EN29LV160AB 2MB\n\r");
7 o+ z8 q* e3 k - puts("The SRAM:HY57V561620 x2 64MB\n\r");# A3 k4 T& [0 f+ z. I
- puts("just bootloader linux date: 2013.8.19;by jiangdou\n\r"); B0 Y; j+ |: O( o# V# c" y
- puts("#####################################\n\r");; }5 I+ t) H! Y- f
" X+ P# e4 w8 c! ~0 P9 k( E/ D8 c
% Y7 h# z _7 M8 o' m- lcd_Init();
% j1 R2 H) Z8 V) [5 V) m8 T - my_logo();1 ~) k3 q% @% v2 y% Y* }! R
- PutPixel(20,250,0x001F);3 P5 L9 f* m. C. Y# ^ j) ^) J$ {
- PutPixel(40,250,0x07E0);
) Q( d ~9 l. M3 h - PutPixel(40,250,0xF800);
+ ^* G7 [$ }3 G+ r; F n - //paint_Bmp(0,0,320,240,logo);
& I" }2 G; u, \6 P - //lcd_ClearScr(0x001F);
% @$ W& ?; F4 s6 g1 ]; G, s' s - //paint_Bmp((LCD_XSIZE_TFT -80) / 2, (LCD_YSIZE_TFT -80) / 2, 80, 80, logo);
- F4 K: o6 e3 U# x% M2 _/ c" g( F6 B - puts("Booting Linux ...\n\r");
2 h. V F% e2 x r5 J; O6 n - boot_zImage(0x00200000, 0x00300000);
复制代码 2.makefile- CC = ARM-linux-gcc
: o4 N" O) j" ~, i4 w - LD = arm-linux-ld- `2 h" Q( T6 R+ ~4 C
- AR = arm-linux-ar' p1 A+ ?1 I" U7 o
- OBJCOPY = arm-linux-objcopy2 _* f3 f4 d) R
- OBJDUMP = arm-linux-objdump
8 }4 Y. z4 l, d' e
, X N( y9 K0 y& G6 H; H8 Q" f# p: V- CFLAGS := -Wall -O2! o8 v8 l9 c) ?/ l: k0 f
- CPPFLAGS := -nostdinc -nostdlib -fno-builtin
, p! h1 |% C9 m: r: _ - LIB := $(obj)liblcd.a
- a( E; k' B* |6 D; u( ]* g - objs := start.o init.o main.o boot_zImage.o lcd_logo.o logo.o) D- t5 E! r. j$ l+ B- |
- 6 Z3 w7 ]7 h* z$ }5 i1 E; x, r& p
- u-boot.bin: $(objs)
+ v) D$ s. J9 @3 W O/ w: j7 l - ${LD} -Tboot.lds -o boot.elf $^
. @" ` q n7 M - ${OBJCOPY} -O binary -S boot.elf $@# T# {' Q* b, q' |: @5 Z% G
- ${OBJDUMP} -D -m arm boot.elf > u_boot.dis3 x% m3 S6 Z: Y2 n' @3 E) ]4 S
- / P/ ~( j+ u( u* Z9 T3 b) C1 X
- %.o:%.c
6 w' W- u0 M7 p5 @0 z - ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<+ v+ G# k3 {2 R/ P+ P
& J8 E1 H! ]0 z: o9 Z: G/ B- %.o:%.S8 }: F7 P, h( g! \& g
- ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
2 P/ E. X6 b5 x - , {; Y3 p G4 r! {& C$ o
- clean:0 X' ?) x& o" X0 v" S
- rm -f *.o *.bin *.elf *.dis
复制代码 |
|