|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
完全自己写的bootloader启动kernel,2440直接可用,4.3寸屏,带apple的logo- int main(void)0 z5 K; N6 k5 v: P6 {9 T* K) ]
- {
3 D/ T! e5 D! F9 F% _( [+ M - char c;* [* D" t$ }' {6 }
- char cmd_buf[200];
' L! Z- x" i$ u: w - uart0_init();$ B+ J6 y0 i6 n+ e0 Z- u
. h2 r2 e- T. D/ H2 @, W- puts("\n\r#####################################\n\r");1 L" U6 t1 _5 _$ ^
- puts("The board:TQ2440\n\r");) _# Q" M$ R5 ~5 O
- puts("The NAND:K9F1216U0A 256MB\n\r");
- Y% L4 ?& E# o. e - puts("The NOR:EN29LV160AB 2MB\n\r");
H% _0 p8 [4 z8 F7 r2 z% P - puts("The SRAM:HY57V561620 x2 64MB\n\r");
) S9 }0 B. J8 ?- x. ^ - puts("just bootloader linux date: 2013.8.19;by jiangdou\n\r");0 l- |# Q8 Q8 W! R6 R: p) n
- puts("#####################################\n\r");
: @8 D+ N, Z$ e4 {
# h1 v- l7 h d0 Y! h5 S; _( c
$ P7 _9 g* n/ K% n1 X( m7 Z0 h- lcd_Init();6 h( {9 Y" e2 _' P+ p
- my_logo();
0 e7 X8 \9 o! J% Z. d - PutPixel(20,250,0x001F);- C% f5 p2 T2 p& p% j! D
- PutPixel(40,250,0x07E0);
4 J e, Y. J5 E3 i9 \' \ - PutPixel(40,250,0xF800);5 `/ C `! l4 a4 }! ~( L) U
- //paint_Bmp(0,0,320,240,logo);1 l; e+ @/ T& K, J
- //lcd_ClearScr(0x001F);
( }5 y& L# \3 E - //paint_Bmp((LCD_XSIZE_TFT -80) / 2, (LCD_YSIZE_TFT -80) / 2, 80, 80, logo);
9 C" l! S) U. ]" x - puts("Booting Linux ...\n\r");
4 w' @6 R# e) n - boot_zImage(0x00200000, 0x00300000);
复制代码 2.makefile- CC = ARM-linux-gcc
% X8 {# n4 M- v+ Y; R% L. \* I2 B1 ] - LD = arm-linux-ld
5 c: S0 n# L1 D6 u, @' B - AR = arm-linux-ar
( Z8 H: r3 A8 A! T - OBJCOPY = arm-linux-objcopy) `; Y1 [1 s" b0 A7 m( a
- OBJDUMP = arm-linux-objdump
% f2 M) ]3 u0 w/ Y& a! A& X0 {4 ]2 k* ^ - 2 m* |" S) f' l, |7 @( a
- CFLAGS := -Wall -O2
: @* R0 d4 E# `1 t7 ~# v - CPPFLAGS := -nostdinc -nostdlib -fno-builtin' i& F% {# G% A
- LIB := $(obj)liblcd.a
" b% Q" ?* L0 D3 y) R, m9 C9 k - objs := start.o init.o main.o boot_zImage.o lcd_logo.o logo.o
4 K0 O( v/ Q! y+ s5 z' W - ! B/ j3 t$ J* f/ b
- u-boot.bin: $(objs)+ G7 d' \2 `/ \* q
- ${LD} -Tboot.lds -o boot.elf $^
# p7 o! B+ t# s# z9 z* P$ M D. Y - ${OBJCOPY} -O binary -S boot.elf $@; P2 d! }. f, h
- ${OBJDUMP} -D -m arm boot.elf > u_boot.dis
8 c- R. E$ B2 e+ U, R - & e) O9 K8 _, [$ _
- %.o:%.c5 v, E2 I3 i3 P) T9 y3 k$ W, _
- ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
g" i$ M: ]$ C8 s @
( F/ |' r/ s' y. w( w) G- %.o:%.S0 {" D1 a) k, c) O
- ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<1 Q1 L0 A, V( W( l
: K0 `- j9 Y/ ]5 y. r- clean:
+ J- D) I/ D0 c5 v0 z1 o1 a - rm -f *.o *.bin *.elf *.dis
复制代码 |
|