[Linux驱动开发] mini2440开发板u-bbot移植

原创 2012年03月27日 17:05:40

在下载的uboot源码中并没有对mini2440开发板的支持,需要做相应的移植

1、下载u-boot源码:u-boot-2008.10.tar

2、解压源码

3、选择移植参考开发板

3.1、首先选择MCU相同的开发板,在u-boot-2008.10中不支持MCUS3C2440芯片的开发板

3.2、如果没有相同MCU的开发板,则选择MPU相同的开发板

此处S3C2440MPUarm920t,与u-boot-2008.10中的smdk2410相同,故选择smdk2410作为参考开发板

4、在顶层Makefile中为开发板添加新的配置选项,同样参考smdk2410的配置选项

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10$ vi Makefile

4.1、添加mini2440_config

4.2、修改编译工具,arm架构下使用CROSS_COMPILE = arm-linux-gnu-

5、修改cpu/arm920t/start.S

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/cpu/arm920t$ vi start.S

5.1、修改编译条件使其支持S3C2440

#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) 

修改为:

5.2、添加寄存器的定义

5.3、修改中断禁止部分,添加S3C2440中断禁止代码

5.4、修改时钟设置(S3C2440主频设置为405MHZ)

6、修改cpu/arm920t/s3c24x0/interrupts.c

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/cpu/arm920t/s3c24x0$ vi interrupts.c

6.1、在有S3C2410宏定义开关里加入对S3C2440的支持

6.2、在函数get_tbclk中,添加对mini2440的支持

7、修改cpu/arm920t/s3c24x0/speed.c

7.1、仍然是在宏定义中添加对S3C2440的支持

7.2、修改函数get_PLLCLK

由于S3C2440S3C2410MPLLUPLL计算公式不同,需要修改相关代码

7.3、修改函数get_HCLK,同样S3C2440对分频的设置也不相同,需添加相关修改

8、修改cpu/arm920t/s3c24x0/serial.c

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/cpu/arm920t/s3c24x0$ vi serial.c

在有s3c2410宏定义开关里加入对s3c2440的支持

9、修改include/asm-arm/mach-types.h,添加mini2440机器ID,要求添加的ID与内核提供的ID保持一致。在内核源码文件include/asm-arm/mach-types.h

10、修改include/s3c24x0.h

在有s3c2410宏定义开关里加入对s3c2440的支持

10.1INTERRUPT

10.2DMAS

10.3CLOCK & POWER MANAGEMENT

10.4LCD CONTROLLER

10.5I/O PORT

11、在board目录中创建一个属于新开发板的目录,向目录中添加文件,再修改

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board$ sudo cp -r smdk2410/ mini2440

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board$ sudo chmod -R 777 mini2440/

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board/mini2440$ vi Makefile

28 COBJS   := smdk2410.o flash.o 修改为:28 COBJS   := mini2440.o flash.o

12、修改board/mini2440/mini2440.c

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board$ cd mini2440/

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board/mini2440$ sudo cp smdk2410.c mini2440.c

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board/mini2440$ vi mini2440.c

12.1、修改PLL的配置

12.2、修改UPLL的配置

12.3、为了引导内核,修改函数board_init中开发板类型代码部分

123     /* arch number of SMDK2410-Board */

124     gd->bd->bi_arch_number = MACH_TYPE_SMDK2410;

修改为:

124     /* arch number of mini2440-Board */

125     gd->bd->bi_arch_number = MACH_TYPE_MINI2410;

13、修改board/mini2440/lowlevel_init.S,修改REFRESH的刷新周期

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/board/mini2440$ vi lowlevel_init.S

123 #define Trp         0x0 /* 2clk */  修改为:123 #define Trp         0x2 /* 4clk */

126 #define REFCNT          1113    /* period=15.6us, HCLK=60Mhz, (2048+1-15.6*60) */ 修改为:

126#define REFCNT          1112  

14、软硬件配置文件mini2440.h

为开发板添加新的软硬件配置文件,先复制参考板的配置文件smdk2410.h,然后修改

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/include/configs$ cp smdk2410.h mini2440.h

 

15、修改include/configs/mini2440.h

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/include/configs$ vi mini2440.h

15.1、添加对S3C2440宏定义

 37 #define CONFIG_S3C2410      1   /* in a SAMSUNG S3C2410 SoC     */

 38 #define CONFIG_SMDK2410     1   /* on a SAMSUNG SMDK2410 Board  */

改为:

 37 #define CONFIG_S3C2440      1   /* in a SAMSUNG S3C2440 SoC     */

 38 #define CONFIG_mini2440     1   /* on a SAMSUNG mini2440 Board  */

 

15.2、修改命令提示符

114 #define CFG_PROMPT      "SMDK2410 # "   /* Monitor Command Prompt   */

修改为:

114 #define CFG_PROMPT      " mini2440 # "  /* Monitor Command Prompt   */

16、网卡驱动移植

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/include/configs$ vi mini2440.h

17.1、屏蔽原来关于网卡的配置

17.2、添加关于DM9000的配置

17.3、添加对ping命令的支持

17、修改网卡驱动

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/drivers/net$ vi dm9000x.c

在网卡驱动drivers/net/dm9000x.c中,有一段程序试图连接网卡的MII接口,而实际MII接口并未使用,会有十秒的等待时间,然后报错,可以将此段程序注释掉

18、修改drivers/rtc/s3c24x0_rtc.c

terry@terry-virtual-machine:~/terry_shared/uboot/u-boot-2008.10/drivers/rtc$ vi s3c24x0_rtc.c

在有s3c2410宏定义开关里加入对s3c2410的支持

19、至此,代码部分已经修改完毕,接下来对修改之后的代码进行编译

#make clean

#make mini2440_config

#make CROSS_COMPILE=arm-linux-gnu-

20、编译后生成,用JTAG烧录到mini2440开发板中,并测试是否可用

20.1、配置环境变量

#setenv serverip 192.168.7.253

#setenv ipaddr 192.168.7.153

#setenv ethaddr 12:34:56:78:90:53

#saveenv

20.2ping服务器ip

#ping 192.168.7.153

[Linux驱动开发] mini2440开发板u-bbot移植

分类: Linux驱动开发 2012-03-27 17:05 365人阅读 评论(0) 收藏 举报 linuxcmakefile服务器工具测试 在下载的uboot源码中并没有对m...
  • hwmt2012
  • hwmt2012
  • 2013年10月25日 19:26
  • 575

[Linux驱动开发] mini2440开发板u-bbot移植总结

回顾上一篇博文所做的mini2440开发板的u-boot移植,总结,我们在开发板移植中对各个文件所要做的事情如下:...
  • Terry_Yuan2011
  • Terry_Yuan2011
  • 2012年03月27日 17:08
  • 806

移植u-boot到mini2440--添加开发板

我们用的是mini2440开发板1> 首先创建一个目录: board/samsung/mini2440/ 然后把 board/samsung/smdk2410/ 目录下的文件全部拷贝过去。 ...
  • XscKernel
  • XscKernel
  • 2016年05月03日 11:27
  • 1456

移植较新(Linux3.19)内核至mini2440开发板(二)——LCD的移植

mini2440 LCD的移植
  • winter_evening
  • winter_evening
  • 2015年04月26日 18:32
  • 828

移植较新(Linux3.19)内核至mini2440开发板(一)

最新内核移植
  • winter_evening
  • winter_evening
  • 2015年04月24日 23:13
  • 1888

MPlayer移植到mini2440开发板

MPlayer移植到mini24402010-12-16上午by  pinyue  QQ:1061211648硬件平台:RedHat Linux 5、mini2440(arm9)开发板软    件:a...
  • pinyue
  • pinyue
  • 2010年12月17日 09:31
  • 946

mini2440开发板移植mjpg-streamer

mini2440开发板移植mjpg-streamer Mjpg‐streamer是一个开源软件,用于从webcam摄像头采集图像,把它们以流的形式通过基于ip的网络传输到浏览器如Firefo...
  • YOURSUPERHERO
  • YOURSUPERHERO
  • 2014年10月14日 10:18
  • 703

移植u-boot-2016.01到mini2440开发板

待业在家闲着无聊,想把整个嵌入式系统从头复习一下,首先从开源bootloader:u-boot开始。从这里下载u-boot 代码,我下载的是2016年1月份的,这个比较新,没有前人移植的记录(以前也读...
  • XscKernel
  • XscKernel
  • 2016年04月28日 18:00
  • 3118

移植u-boot到mini2440开发板。

Normal 0 7.8 磅 0 2 false false false Microsof...
  • wenxy1
  • wenxy1
  • 2010年03月25日 20:51
  • 2184

移植QNX到Mini2440开发板

QNX6.41版本,mini2440(s3c2440)开发板,己完成: ipl(支持从nand flash启动), startup, 串口驱动, 网卡驱动, LCD驱动, 触摸屏驱动, nand fl...
  • shaorei
  • shaorei
  • 2010年01月10日 13:56
  • 5321
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[Linux驱动开发] mini2440开发板u-bbot移植
举报原因:
原因补充:

(最多只允许输入30个字)