|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
完全自己写的bootloader启动kernel,2440直接可用,4.3寸屏,带apple的logo- int main(void)% t, a& _- _4 m) O2 t% Z
- {8 U' O! y6 j( p3 p, a8 G
- char c;" q6 J$ e: N d6 j) F, e9 b
- char cmd_buf[200];- r! [5 n1 ^* B- o
- uart0_init();
, [& |( m5 h& Y7 F* n( z4 O- b - % u; t1 t1 ]* h
- puts("\n\r#####################################\n\r");; e( C# x7 ?3 F# I
- puts("The board:TQ2440\n\r");
* ~/ @6 {5 O- {9 d% x" y - puts("The NAND:K9F1216U0A 256MB\n\r");
J5 U8 F' N2 o6 S! \' z0 q- x F - puts("The NOR:EN29LV160AB 2MB\n\r");$ b4 A) h9 q2 `" _( x
- puts("The SRAM:HY57V561620 x2 64MB\n\r");6 j0 q; L' q0 @0 `& ]
- puts("just bootloader linux date: 2013.8.19;by jiangdou\n\r");
- `! _5 C3 M% r9 T8 P% ] w - puts("#####################################\n\r"); P( J8 b4 @; h: r; l1 t$ L
8 @! O0 |3 F7 I* W
5 m. P( z: g3 |! `# F3 T- lcd_Init();* ]. y) D7 v5 h
- my_logo();
" M! m6 U ~! Y; K - PutPixel(20,250,0x001F);
8 z: w( e/ [1 u' w+ J - PutPixel(40,250,0x07E0);# M. l; j# T" l1 O+ P
- PutPixel(40,250,0xF800);0 k$ ?. ?- K. H2 C% I
- //paint_Bmp(0,0,320,240,logo);5 w; P/ x) I! M
- //lcd_ClearScr(0x001F);
1 P: T- X7 M. ~3 F - //paint_Bmp((LCD_XSIZE_TFT -80) / 2, (LCD_YSIZE_TFT -80) / 2, 80, 80, logo);
2 v' J* @! x- Q6 w - puts("Booting Linux ...\n\r");
$ D/ X! W, X9 l; L. R0 F' p - boot_zImage(0x00200000, 0x00300000);
复制代码 2.makefile- CC = ARM-linux-gcc
4 c* E; Q* `8 X - LD = arm-linux-ld7 k a* C8 d& C. o
- AR = arm-linux-ar
/ x+ h9 Z8 b+ i. M2 B5 D - OBJCOPY = arm-linux-objcopy
, x1 X# A6 Y. b' E( t. C - OBJDUMP = arm-linux-objdump
6 c* [ g* w" p* z4 l
) G# e6 }0 q7 O) e- CFLAGS := -Wall -O2
7 W) H# L, m! i6 p - CPPFLAGS := -nostdinc -nostdlib -fno-builtin
$ W9 R! a: v' _6 g$ u7 G - LIB := $(obj)liblcd.a
) X, X7 k& M: y! C- ^7 } - objs := start.o init.o main.o boot_zImage.o lcd_logo.o logo.o
4 O0 F0 n* h5 Q - 4 m; L0 Z6 W6 ~. j! p* l% `
- u-boot.bin: $(objs); W+ m) L$ ]0 y" D! t
- ${LD} -Tboot.lds -o boot.elf $^. @* n9 f/ L. t$ R
- ${OBJCOPY} -O binary -S boot.elf $@" }. q/ l- N1 `) g
- ${OBJDUMP} -D -m arm boot.elf > u_boot.dis
( Q: \+ I5 y; k* c1 M2 R - & C0 t( p9 B. k+ n; q
- %.o:%.c1 Y$ H' N/ u3 o: p' Q s, o
- ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<$ F- A" x; |2 ]
- ! V2 v- u1 n3 \; o) ~' }3 d
- %.o:%.S6 f7 J6 p$ h {; u4 t
- ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
) y3 U+ Q+ j) {/ w* n) k - 3 i% m; Q: E$ j6 f4 _+ P2 |& N
- clean:: U7 M5 o1 r/ p* e$ ?) _
- rm -f *.o *.bin *.elf *.dis
复制代码 |
|