原创 u-boot-1.3.4 移植到S3C2440 (带有某些解析)3

2014-9-4 11:38 845 12 12 分类: MCU/ 嵌入式

 

15. 修改/lib_arm中的board.c。添加几个debug信息  (这一步可以不用修改)
......
#include <common.h>
#include <command.h>
#include <malloc.h>
#include <devices.h>
#include <version.h>
#include <net.h>
 
......
 
static int display_banner (void)
{      
         S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
         gpio->GPFDAT = 0x8f;  //qljtninja
//在串口初始化和console初始化完成,串口输出信息之前,LED1LED2LED3会亮起!
    printf ("\n\n%s\n\n", version_string);
    debug ("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\n",
           _armboot_start, _bss_start, _bss_end);
    printf ("U-Boot code: %08lX -> %08lX  BSS: -> %08lX\n",    //qljt
        _armboot_start, _bss_start, _bss_end);      //qljt
#ifdef CONFIG_MODEM_SUPPORT
    debug ("Modem Support enabled\n");
#endif
#ifdef CONFIG_USE_IRQ
    debug ("IRQ Stack: %08lx\n", IRQ_STACK_START);
    debug ("FIQ Stack: %08lx\n", FIQ_STACK_START);
#endif
    return (0);
}
void start_armboot (void)
{
         init_fnc_t **init_fnc_ptr;
         char *s;
#ifndef CFG_NO_FLASH
         ulong size;
#endif
#if defined(CONFIG_VFD) || defined(CONFIG_LCD)
         unsigned long addr;
#endif
         S3C24X0_GPIO * const gpio = S3C24X0_GetBase_GPIO();
         gpio->GPFDAT = 0x7f;  //qljtninja
//在进入命令提示符之前,四个LED会同时亮起!
         /* main_loop() can return to retry autoboot, if so just run it again. */
         for (;;) {
                   main_loop ();
         }
         /* NOTREACHED - no way out of command loop except booting */
}
/*===========================================================
到这里,应该是可以编译通过的,否则就是编辑的时候出现了错误
===========================================================*/
16. 裁减flash的支持 (这一步也可以不执行)
(1)在board/qljt/qljt2440/flash.c的头部加上:#if 0,尾部加上:#endif
(2)在include/configs/qq2440.h加上:
#undef CONFIG_CMD_FLASH
#undef CONFIG_CMD_IMLS
….
#define CFG_NO_FLASH  1
(3)在common/cmd_bootm.c的”#include”语句后加上
#ifdef CONFIG_CMD_IMLS
#undef CONFIG_CMD_IMLS
#endif
附录:
一.
U-boot的命令默认配置存放在/include/config_cmd_default.h里,可以修改该文件或者在qq2440.h里添加#undef里裁减不需要的内容
二.
1.u-boot-1.3.2(不含u-boot-1.3.2)nand_init函数的调用关系,它的调用是被“CONFIG_COMMANDS&
CFG_CMD_NAND”和“CFG_NAND_LEGACY”控制的,1:表示该值为真,0:表示该值为假
CONFIG_COMMANDS&
CFG_CMD_NAND
CFG_NAND_LEGACY
/drivers/mtd/nand/nand.c中的
nand_init()函数
/board/qljt/qljt2440/qljt2440.c中的nand_init()函数
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1
2.u-boot-1.3.2(u-boot-1.3.2)nand_init函数的调用关系,它的调用是被“CONFIG_CMD_NAND”和“CFG_NAND_LEGACY”控制的,1:表示该值为真,0:表示该值为假
CONFIG_CMD_NAND
CFG_NAND_LEGACY
/drivers/mtd/nand/nand.c中的
nand_init()函数
/board/qljt/qljt2440/qljt2440.c中的nand_init()函数
0
0
0
0
0
1
0
0
1
0
1
1
1
1
0
1

 

in ni if a c

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条