频道栏目
首页 > 系统 > Linux > 正文

世界杯投注官网

2018-08-09 17:19:10      个评论      
收藏   我要投稿

构建BootLoader

在网上直接下载u-boot-1.1.6.tar.bz2文件包,并通过samba服务器存于linux系统中去。

[email protected]:/home/zxc/ARM9_S3C2440世界杯投注官网 mkdir ARM_UBOOT 世界杯投注官网世界杯投注官网建立u-boot存放的目录

[email protected]:/home/zxc/ARM9_S3C2440世界杯投注官网 cp /home/zxc/samba_share/u-boot-1.1.6.tar.bz2 /home/zxc/ARM9_S3C2440/ARM_UBOOT 世界杯投注官网世界杯投注官网世界杯投注官网将u-boot文件复制到u-boot目录下

[email protected]:/home/zxc/ARM9_S3C2440世界杯投注官网 cd ARM_UBOOT世界杯投注官网世界杯投注官网世界杯投注官网进入u-boot压缩文件的目录

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT世界杯投注官网tar –xjvf u-boot-1.1.6.tar.bz2世界杯投注官网世界杯投注官网世界杯投注官网解压u-boot的源码

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT世界杯投注官网 cd u-boot-1.1.6世界杯投注官网世界杯投注官网进入u-boot源世界杯指定投注平台的根目录

\

移植U-BOOT的工作主要集中在对其源文件目录中特定文件的修改。

在board目录下有个smdk2410的子目录,但是没有smdk2440的子目录,这说明该u-boot只支持S3C2410,不支持S3C2440。

\

\

但是因为S3C2410与S3C2440很相似,可以在S3C2410源世界杯指定投注平台的基础上修改适用于S3C2440的U-Boot。

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board世界杯投注官网cp –R smdk2410 TQ2440世界杯投注官网世界杯投注官网连同目录及其内的文件全部复制

\

\

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board世界杯投注官网 cd TQ2440世界杯投注官网世界杯投注官网世界杯投注官网世界杯投注官网世界杯投注官网进入目录

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board/TQ2440世界杯投注官网 mv smdk2410.c TQ2440.c世界杯投注官网世界杯投注官网世界杯投注官网改名

\

将TQ2440目录下的Makefile的第28行:

COBJS:=smdk2410.o flash.o

改为

COBJS:=TQ2440.o flash.o

(注意Makefile文件的写法)

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6世界杯投注官网cp include/configs/smdk2410.h include/configs/TQ2440.h

在u-boot-1.1.6目录下的Makefile文件下的第1882行修改:

\

\

接恶习他着

\

最后执行make命令,得到u-boot.bin文件。

\

\

但是这里生成的u-boot.bin文件还是针对S3C2410的,并不能用在S3C2440上,这就需要修改世界杯指定投注平台了。

那么,应该修改哪里的世界杯指定投注平台呢?必须阅读源世界杯指定投注平台。那么多源世界杯指定投注平台,从哪个源世界杯指定投注平台开始读呢?当然是程序的第1行指令所在的文件,但这个文件是哪个呢?

查看make过程最后的连接命令:

\

其中有一个-T参数,/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board/TQ2440/u-boot.lds,可得链接脚本是/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board/TQ2440/u-boot.lds,到相应目录下查看该脚本:

\

\

可知,程序第一条指令所在源世界杯指定投注平台文件是cpu/arm920t/start.S

在start.S文件的第129行添加:

世界杯投注官网define REFCNT 1269

\

进入/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board/TQ2440目录的文件TQ2440.c。

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/board/TQ2440世界杯投注官网sudo gedit TQ2440.c

必须修改该世界杯指定投注平台的第77行和83行,

\

修改/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/cpu/arm920t/s3c24x0目录下的speed.c文件。

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/cpu/arm920t/s3c24x0世界杯投注官网sudo gedit speed.c

(现成文件,整体复制)

修改/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include目录下的文件s3c24x0.h

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include世界杯投注官网sudo gedit s3c24x0.h

\

修改/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include/configs目录下的TQ2440.h文件,将其81行的注释去掉。

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include/configs世界杯投注官网sudo gedit TQ2440.h

到此,执行make命令

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6世界杯投注官网make

此时会产生错误

\

根据提示,修改/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include/configs目录下的TQ2440.h文件,

在其倒数第二行增加宏定义

世界杯投注官网define CFG_MAX_NAND_DEVICE 1

世界杯投注官网define NAND_MAX_CHIPS 1

世界杯投注官网define CFG_NAND_BASE 0

再执行make命令

[email protected]:/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6世界杯投注官网make

此时还会产生错误

\

新建/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/cpu/arm920t/s3c24x0/nand_flash.c

(现成文件,直接复制)

在/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include目录下的文件s3c24x0.h文件中,仿照S3C2410_NAND定义2440的Nand Flash控制器寄存器的数据结构,以供board_nand_init函数使用。

\

在/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include目录下的文件s3c2410.h文件中,仿照S3C2410_GetBase_NAND定义函数S3C2440_GetBase_NAND,以供board_nand_init函数使用。

\

修改/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/cpu/arm920t/s3c24x0目录下的Makefile文件的第29行:。

\

到此,该U-Boot已经可以在s3c2440上运行了。但是,该U-Boot有很多缺点,比如:提示符不是你自己的logo;不能执行ping命令;不能在命令行进行编辑,不能记忆历史命令;不能自动加载Linux操作系统……

下面将一一解决(其实只要/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.1.6/include/configs目录下的TQ2440.h文件即可)

\

/home/zxc/ARM9_S3C2440/ARM_UBOOT/u-boot-1.3.4/cpu/arm920t/s3c24x0/interrupts.c

interrupts.c:1: warning: target CPU does not support interworking

interrupts.c: In function &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;:

interrupts.c:250: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:250: error: (Each undeclared identifier is reported only once

interrupts.c:250: error: for each function it appears in.)

interrupts.c: In function &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;:

interrupts.c:274: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: In function &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;:

interrupts.c:285: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: In function &世界杯投注官网39;Isr_Init&世界杯投注官网39;:

interrupts.c:319: error: &世界杯投注官网39;ISR_TIMER4_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:320: error: &世界杯投注官网39;ISR_WDT_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:332: warning: function declaration isn&世界杯投注官网39;t a prototype

interrupts.c:360: error: redefinition of &世界杯投注官网39;ClearPending&世界杯投注官网39;

interrupts.c:241: error: previous definition of &世界杯投注官网39;ClearPending&世界杯投注官网39; was here

interrupts.c:366: error: redefinition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;

interrupts.c:247: error: previous definition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;:

interrupts.c:370: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:376: error: redefinition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39;

interrupts.c:257: error: previous definition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39; was here

interrupts.c:388: error: redefinition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;

interrupts.c:269: error: previous definition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;:

interrupts.c:394: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:402: error: redefinition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;

interrupts.c:283: error: previous definition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;:

interrupts.c:405: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:410: error: redefinition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39;

interrupts.c:291: error: previous definition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39; was here

interrupts.c:417: error: redefinition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39;

interrupts.c:298: error: previous definition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39; was here

interrupts.c:423: error: redefinition of &世界杯投注官网39;Isr_Init&世界杯投注官网39;

interrupts.c:304: error: previous definition of &世界杯投注官网39;Isr_Init&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Isr_Init&世界杯投注官网39;:

interrupts.c:439: error: &世界杯投注官网39;ISR_TIMER4_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:440: error: &世界杯投注官网39;ISR_WDT_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:452: warning: function declaration isn&世界杯投注官网39;t a prototype

interrupts.c:451: error: redefinition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39;

interrupts.c:332: error: previous definition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39; was here

interrupts.c:480: error: redefinition of &世界杯投注官网39;ClearPending&世界杯投注官网39;

interrupts.c:241: error: previous definition of &世界杯投注官网39;ClearPending&世界杯投注官网39; was here

interrupts.c:486: error: redefinition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;

interrupts.c:247: error: previous definition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;:

interrupts.c:490: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:496: error: redefinition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39;

interrupts.c:257: error: previous definition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39; was here

interrupts.c:508: error: redefinition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;

interrupts.c:269: error: previous definition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;:

interrupts.c:514: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:522: error: redefinition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;

interrupts.c:283: error: previous definition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;:

interrupts.c:525: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:530: error: redefinition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39;

interrupts.c:291: error: previous definition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39; was here

interrupts.c:537: error: redefinition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39;

interrupts.c:298: error: previous definition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39; was here

interrupts.c:543: error: redefinition of &世界杯投注官网39;Isr_Init&世界杯投注官网39;

interrupts.c:304: error: previous definition of &世界杯投注官网39;Isr_Init&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Isr_Init&世界杯投注官网39;:

interrupts.c:559: error: &世界杯投注官网39;ISR_TIMER4_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:560: error: &世界杯投注官网39;ISR_WDT_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:572: warning: function declaration isn&世界杯投注官网39;t a prototype

interrupts.c:571: error: redefinition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39;

interrupts.c:332: error: previous definition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39; was here

interrupts.c:600: error: redefinition of &世界杯投注官网39;ClearPending&世界杯投注官网39;

interrupts.c:241: error: previous definition of &世界杯投注官网39;ClearPending&世界杯投注官网39; was here

interrupts.c:606: error: redefinition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;

interrupts.c:247: error: previous definition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;:

interrupts.c:610: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:616: error: redefinition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39;

interrupts.c:257: error: previous definition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39; was here

interrupts.c:628: error: redefinition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;

interrupts.c:269: error: previous definition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;:

interrupts.c:634: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:642: error: redefinition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;

interrupts.c:283: error: previous definition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;:

interrupts.c:645: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:650: error: redefinition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39;

interrupts.c:291: error: previous definition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39; was here

interrupts.c:657: error: redefinition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39;

interrupts.c:298: error: previous definition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39; was here

interrupts.c:663: error: redefinition of &世界杯投注官网39;Isr_Init&世界杯投注官网39;

interrupts.c:304: error: previous definition of &世界杯投注官网39;Isr_Init&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Isr_Init&世界杯投注官网39;:

interrupts.c:679: error: &世界杯投注官网39;ISR_TIMER4_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:680: error: &世界杯投注官网39;ISR_WDT_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:692: warning: function declaration isn&世界杯投注官网39;t a prototype

interrupts.c:691: error: redefinition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39;

interrupts.c:332: error: previous definition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39; was here

interrupts.c:720: error: redefinition of &世界杯投注官网39;ClearPending&世界杯投注官网39;

interrupts.c:241: error: previous definition of &世界杯投注官网39;ClearPending&世界杯投注官网39; was here

interrupts.c:726: error: redefinition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;

interrupts.c:247: error: previous definition of &世界杯投注官网39;Timer_InitEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_InitEx&世界杯投注官网39;:

interrupts.c:730: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:736: error: redefinition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39;

interrupts.c:257: error: previous definition of &世界杯投注官网39;Timer_StartEx&世界杯投注官网39; was here

interrupts.c:748: error: redefinition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;

interrupts.c:269: error: previous definition of &世界杯投注官网39;Timer_StopEx&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Timer_StopEx&世界杯投注官网39;:

interrupts.c:754: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:762: error: redefinition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;

interrupts.c:283: error: previous definition of &世界杯投注官网39;IsrWatchdog&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;IsrWatchdog&世界杯投注官网39;:

interrupts.c:765: error: &世界杯投注官网39;BIT_WDT_AC97&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:770: error: redefinition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39;

interrupts.c:291: error: previous definition of &世界杯投注官网39;IsrTimer4&世界杯投注官网39; was here

interrupts.c:777: error: redefinition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39;

interrupts.c:298: error: previous definition of &世界杯投注官网39;Dummy_isr&世界杯投注官网39; was here

interrupts.c:783: error: redefinition of &世界杯投注官网39;Isr_Init&世界杯投注官网39;

interrupts.c:304: error: previous definition of &世界杯投注官网39;Isr_Init&世界杯投注官网39; was here

interrupts.c: In function &世界杯投注官网39;Isr_Init&世界杯投注官网39;:

interrupts.c:799: error: &世界杯投注官网39;ISR_TIMER4_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c:800: error: &世界杯投注官网39;ISR_WDT_OFT&世界杯投注官网39; undeclared (first use in this function)

interrupts.c: At top level:

interrupts.c:812: warning: function declaration isn&世界杯投注官网39;t a prototype

interrupts.c:811: error: redefinition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39;

interrupts.c:332: error: previous definition of &世界杯投注官网39;IRQ_Handle&世界杯投注官网39; was here

上一篇:SecureCRT安装和破解详细过程
下一篇:fullnat的负载均衡模式配置流程
相关文章
图文推荐

关于我们 | 联系我们 | 服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑--致力于做实用的IT技术学习网站