|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
完全自己写的bootloader启动kernel,2440直接可用,4.3寸屏,带apple的logo- int main(void)
* i* C1 |; }0 u" P7 d - {. i2 O: f% d3 d* G
- char c;' ~3 k W* G1 l
- char cmd_buf[200];: c S; N6 L5 _* o- v0 C
- uart0_init();
6 E- a* \* V. C/ X/ h
0 K( j, R0 w9 c! m4 J4 _/ K- puts("\n\r#####################################\n\r");8 O9 Q- m* T3 g. C1 P
- puts("The board:TQ2440\n\r");/ N' H* Q) h( l8 M
- puts("The NAND:K9F1216U0A 256MB\n\r");! z5 n1 W: I( W* Z
- puts("The NOR:EN29LV160AB 2MB\n\r");
- G2 V/ a2 B/ O - puts("The SRAM:HY57V561620 x2 64MB\n\r");
7 G/ U' v$ }5 S2 R* t4 D - puts("just bootloader linux date: 2013.8.19;by jiangdou\n\r");
7 o# s2 s& j; D* V; [+ L - puts("#####################################\n\r");9 h* z, d! p& ^/ f3 Z
' Q/ o8 T$ G+ {, L' k: j- / }3 R3 @( z8 `' B2 l
- lcd_Init();
7 @8 X1 V0 G' b+ U6 ?# c - my_logo();. N6 h; e+ F% r- z$ n9 r; E
- PutPixel(20,250,0x001F);
5 e( w* m S+ j3 |7 U! t; E, [$ @6 M - PutPixel(40,250,0x07E0);9 b* q0 E6 S3 U( g. [4 \
- PutPixel(40,250,0xF800);" ~; P" ^$ E* ^1 J) i
- //paint_Bmp(0,0,320,240,logo);
/ `- P) D7 L& k" q3 c6 { - //lcd_ClearScr(0x001F);
" \( I# A7 a" W' c - //paint_Bmp((LCD_XSIZE_TFT -80) / 2, (LCD_YSIZE_TFT -80) / 2, 80, 80, logo);
1 B, i0 X; N$ z) K! K - puts("Booting Linux ...\n\r");
1 {9 b1 U' S/ T- K) I& I - boot_zImage(0x00200000, 0x00300000);
复制代码 2.makefile- CC = ARM-linux-gcc. r0 v5 ^6 G% ~4 w3 T
- LD = arm-linux-ld! l- L( e2 b o) J( E# m1 G9 d
- AR = arm-linux-ar, I4 n' y5 L4 S" c: o2 U
- OBJCOPY = arm-linux-objcopy) `/ Y5 d, Q9 y$ O1 e
- OBJDUMP = arm-linux-objdump! `+ R8 W2 z; f! @3 b7 y2 ~
( [5 h: J& _' T/ Q- CFLAGS := -Wall -O2- I) }, Q J; R; g! m5 S
- CPPFLAGS := -nostdinc -nostdlib -fno-builtin6 J3 l5 F$ `- {! ]
- LIB := $(obj)liblcd.a' |# d, B/ A0 x! S5 f+ ]; H; Y
- objs := start.o init.o main.o boot_zImage.o lcd_logo.o logo.o$ Q m% l7 }1 w' b" b6 _5 e
- ' m4 l3 Y* `9 H$ p) g
- u-boot.bin: $(objs)6 u1 o& k: s* o) A8 p' j5 q& ~
- ${LD} -Tboot.lds -o boot.elf $^
7 E2 w* K0 ^. U+ E - ${OBJCOPY} -O binary -S boot.elf $@
7 ^& S9 }. E2 _3 @ - ${OBJDUMP} -D -m arm boot.elf > u_boot.dis! ]7 c4 Y" R+ h/ {: F9 V8 g
5 r; n4 Y, S# T! t' @- %.o:%.c
) v" M: e) \! I9 X: P, p9 l( R - ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
" ]# F* F# A5 l9 s/ w# i+ \ - y2 \# ~4 |0 k# p; J
- %.o:%.S
5 V6 M8 d0 S; ?' r - ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
]( l5 U" T( M9 [" Q4 g - - J; M8 i. T O+ L
- clean:% }. u6 P x3 ~8 |% o. h
- rm -f *.o *.bin *.elf *.dis
复制代码 |
|