EDA365电子论坛网

标题: 完全自己写的bootloader启动kernel,2440直接可用 [打印本页]

作者: jiangdou    时间: 2013-10-31 10:11
标题: 完全自己写的bootloader启动kernel,2440直接可用
完全自己写的bootloader启动kernel,2440直接可用,4.3寸屏,带apple的logo
  1. int main(void)% ^% b8 j) t2 ~5 K7 _; A9 t
  2. {0 n$ v. `6 s, q3 D
  3.   char c;
    . P6 F4 @9 E  p5 o
  4.   char cmd_buf[200];' P1 `6 h7 `, i1 f6 t
  5.   uart0_init();/ H/ N9 m4 [% K3 G
  6. " U; N* b, }" f# U' i4 @( G
  7.   puts("\n\r#####################################\n\r");
    ' }% m0 K# }9 R& I
  8.   puts("The board:TQ2440\n\r");
    9 U6 B8 Y7 E: O
  9.   puts("The NAND:K9F1216U0A 256MB\n\r");. _* c' M3 o( ^
  10.   puts("The NOR:EN29LV160AB 2MB\n\r");
    % J  o0 a- c7 Z1 n; k/ l$ {8 y
  11.   puts("The SRAM:HY57V561620 x2 64MB\n\r");
    / F) r' [1 _# {; n3 t; k
  12.   puts("just bootloader linux        date: 2013.8.19;by jiangdou\n\r");( F3 E& X* w% o% T, R& }
  13.   puts("#####################################\n\r");
    , B  c& j, @% P; P& y$ w1 B

  14. * m# P: @+ c' X6 Z4 c

  15. 3 V& Y9 M+ ~3 S) i/ f
  16.   lcd_Init();% u) X) }  K6 D" N1 s3 x( d
  17.   my_logo();; x- L; s' j) U: O. w0 _7 K
  18.   PutPixel(20,250,0x001F);3 @4 i) N/ m9 a/ J5 c
  19.   PutPixel(40,250,0x07E0);
    1 P' U4 p1 Z4 s' h: P, o
  20.   PutPixel(40,250,0xF800);& |+ a# _; ~- P
  21.   //paint_Bmp(0,0,320,240,logo);& |8 i7 |4 o- d* F2 f1 ]
  22.   //lcd_ClearScr(0x001F);2 r$ r% R: A) |8 `7 L
  23.   //paint_Bmp((LCD_XSIZE_TFT -80) / 2, (LCD_YSIZE_TFT -80) / 2, 80, 80, logo);0 ]; l+ d. ^# A
  24.   puts("Booting Linux ...\n\r");! \9 T4 t  ?) f$ N0 t( y, K
  25.   boot_zImage(0x00200000, 0x00300000);
复制代码
2.makefile
  1. CC      = arm-linux-gcc
    2 J; W. v$ p& U4 y- o. Q
  2. LD      = arm-linux-ld
    9 Z9 O* n' j) ^$ s* @5 [
  3. AR      = arm-linux-ar
    + y. R2 v+ w# Q. ]/ x
  4. OBJCOPY = arm-linux-objcopy# Q  F6 a  }8 ~$ w
  5. OBJDUMP = arm-linux-objdump
    + w& f0 e2 Y. l+ i( ]7 g
  6. / e5 r3 |6 z# Z9 ?/ k
  7. CFLAGS                 := -Wall -O2
    ) c2 ?1 t" p( H9 b9 ~: s( T
  8. CPPFLAGS           := -nostdinc -nostdlib -fno-builtin, e+ Y+ t( A3 {2 [' H% x
  9. LIB         := $(obj)liblcd.a6 |0 q2 a8 r6 O6 E/ m
  10. objs := start.o init.o main.o boot_zImage.o lcd_logo.o logo.o
    1 C; \% }0 J9 X* h1 Y* J% D

  11. ; {1 D4 s! y, D* E7 G
  12. u-boot.bin: $(objs)
    8 Q8 D) Z  a1 |- v/ ^# Q( X
  13.         ${LD} -Tboot.lds -o boot.elf $^
    9 u: ~5 p, q! N$ X
  14.         ${OBJCOPY} -O binary -S boot.elf $@5 q: D0 B# ?3 x6 V/ I% h
  15.         ${OBJDUMP} -D -m arm boot.elf > u_boot.dis1 |3 P3 B  i1 m8 U5 }9 s! q1 B- g+ [
  16. 7 k" I0 }0 m8 C0 `$ b' X8 W
  17. %.o:%.c
    / l" z3 c- v" m" S% h
  18.         ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<  Z  m8 s$ ~, Z0 V, _6 z4 z
  19. - L6 c) ]9 }5 l9 Q+ G
  20. %.o:%.S
    # n& i7 C: y/ G$ a
  21.         ${CC} $(CPPFLAGS) $(CFLAGS) -c -o $@ $<
    . V3 [0 x  [3 P7 L: p- y6 F$ q0 k3 ^

  22. % @0 n' z. T' m- L. g, U
  23. clean:$ J6 S/ B- j2 Q- u( q: C
  24.         rm -f *.o *.bin *.elf *.dis
复制代码

myuboot_for 2440.rar

20.27 KB, 下载次数: 28, 下载积分: 威望 -5


作者: jiangdou    时间: 2013-10-31 10:16
短小精悍,,{:soso_e113:}
7 d) Q3 R. L+ _7 g' z/ ~

QQ截图20131031101546.jpg (61.84 KB, 下载次数: 3)

QQ截图20131031101546.jpg

作者: liangkai520    时间: 2013-11-1 08:35

作者: ArthurGXH    时间: 2013-11-2 06:18
楼主很强焊,好像S3C2440停产了,怎么不用2416或6410呢?
作者: wy_703    时间: 2013-11-2 09:29
牛人啊,一直想学习啊
作者: shiyi_jiang    时间: 2013-11-2 10:36
牛X的LZ啊,膜拜.....
作者: 平安之星    时间: 2013-11-22 15:11
谢谢分享
作者: baojian510    时间: 2013-11-25 09:25
不错,牛人,赞一个!!
作者: part99    时间: 2013-11-25 10:31
牛人,学习了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2