首页 Uboot_for_Tiny6410_移植步骤详解

Uboot_for_Tiny6410_移植步骤详解

举报
开通vip

Uboot_for_Tiny6410_移植步骤详解Uboot_for_Tiny6410_移植步骤详解1、设计要求1.目的1)掌握U-boot剪裁编写2)掌握交叉编译环境的配置3)掌握U-boot的移植2.实现的功能1)U-boot编译成功2)移植U-boot,使系统支持从NANDFLASH启动2、设计方案1.硬件资源1)ARM处理器:ARM11芯片(SamsungS3C6410A),基于ARM1176JZF-S核设计,运行频率533Mhz,最高可达667Mhz2)存储器:128MDDRRAM,可升级至256M;MLCNANDFlash(2GB)3)其他资源:具有三...

Uboot_for_Tiny6410_移植步骤详解
Uboot_for_Tiny6410_移植步骤详解1、 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 要求1.目的1)掌握U-boot剪裁编写2)掌握交叉编译环境的配置3)掌握U-boot的移植2.实现的功能1)U-boot编译成功2)移植U-boot,使系统支持从NANDFLASH启动2、设计方案1.硬件资源1)ARM处理器:ARM11芯片(SamsungS3C6410A),基于ARM1176JZF-S核设计,运行频率533Mhz,最高可达667Mhz2)存储器:128MDDRRAM,可升级至256M;MLCNANDFlash(2GB)3)其他资源:具有三LCD接口、4线电阻触摸屏接口、100M 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 网络接口、标准DB9五线串口、MiniUSB2.0接口、USBHost1.1、3.5mm音频输入输出口、标准TV-OUT接口、SD卡座、红外接收等常用接口;另外还引出4路TTL串口,另1路TV-OUT、SDIO2接口(可接SDWiFi)接口等;在板的还有蜂鸣器、I2C-EEPROM、备份电池、AD可调电阻、8个中断式按键等。2.软件资源1)arm-linux-gcc-4.5.1(交叉编译)2)u-boot-2010.09.tar.gzarm-linux-gcc-4.5.1-v6-vfp-20101103.tgz3、移植过程1.环境搭建1)建立交叉编译环境2)去这2个网站随便下载都可以下载得到最新或者你想要的u-boot。(http://www.icdev.com.cn/batch.viewlink.php?itemid=1694ftp://ftp.denx.de/pub/u-boot/)下面是具体的对u-boot…的修改一:下载并解压u-boot-gxb.tar.gz。 #tarxzvfu-boot-gxb.tar.gz二:在顶层的目录下找到Makefile文件,并用gedit打开在Makefile中找到下面代码进行修改##########################################################################ARM1176Systems#########################################################################smdk6400_noUSB_config \smdk6400_config : unconfig @mkdir-p$(obj)include$(obj)board/samsung/smdk6400 @mkdir-p$(obj)nand_spl/board/samsung/smdk6400 @echo"#defineCONFIG_NAND_U_BOOT">$(obj)include/config.h @echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk @if[-z"$(findstringsmdk6400_noUSB_config,$@)"];then \ echo"RAM_TEXT=0x57e00000">>$(obj)board/samsung/smdk6400/config.tmp;\ else \ echo"RAM_TEXT=0xc7e00000">>$(obj)board/samsung/smdk6400/config.tmp;\ fi @$(MKCONFIG)smdk6400armarm1176smdk6400samsungs3c64xx @echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk下面红色的为新增加的#=====================更改部分=======================================tiny6410_noUSB_config\tiny6410_config:unconfig @mkdir-p$(obj)include$(obj)board/samsung/tiny6410 @mkdir-p$(obj)nand_spl/board/samsung/tiny6410 @echo"#defineCONFIG_NAND_U_BOOT">$(obj)include/config.h @echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk @if[-z"$(findstringtiny6410_noUSB_config,$@)"];then\echo"RAM_TEXT=0x57e00000">>$(obj)board/samsung/tiny6410/config.tmp;\else\echo"RAM_TEXT=0xc7e00000">>$(obj)board/samsung/tiny6410/config.tmp;\fi @$(MKCONFIG)tiny6410armarm1176tiny6410samsungs3c64xx @echo"CONFIG_NAND_U_BOOT=y">>$(obj)include/config.mk#==================================================================三:arch/arm/cpu/arm1176/s3c64xx/cpu_init.S#geditarch/arm/cpu/arm1176/s3c64xx/cpu_init.S #include<config.h>#include<asm/arch/s3c6400.h> .globlmem_ctrl_asm_initmem_ctrl_asm_init: /*DMC1baseaddress0x7e001000*/ ldr r0,=ELFIN_DMC1_BASE ldr r1,=0x4 str r1,[r0,#INDEX_DMC_MEMC_CMD] ldr r1,=DMC_DDR_REFRESH_PRD str r1,[r0,#INDEX_DMC_REFRESH_PRD] ldr r1,=DMC_DDR_CAS_LATENCY str r1,[r0,#INDEX_DMC_CAS_LATENCY] ldr r1,=DMC_DDR_t_DQSS str r1,[r0,#INDEX_DMC_T_DQSS] ldr r1,=DMC_DDR_t_MRD str r1,[r0,#INDEX_DMC_T_MRD] ldr r1,=DMC_DDR_t_RAS str r1,[r0,#INDEX_DMC_T_RAS] ldr r1,=DMC_DDR_t_RC str r1,[r0,#INDEX_DMC_T_RC] ldr r1,=DMC_DDR_t_RCD ldr r2,=DMC_DDR_schedule_RCD orr r1,r1,r2 str r1,[r0,#INDEX_DMC_T_RCD] ldr r1,=DMC_DDR_t_RFC ldr r2,=DMC_DDR_schedule_RFC orr r1,r1,r2 str r1,[r0,#INDEX_DMC_T_RFC] ldr r1,=DMC_DDR_t_RP ldr r2,=DMC_DDR_schedule_RP orr r1,r1,r2 str r1,[r0,#INDEX_DMC_T_RP] ldr r1,=DMC_DDR_t_RRD str r1,[r0,#INDEX_DMC_T_RRD] ldr r1,=DMC_DDR_t_WR str r1,[r0,#INDEX_DMC_T_WR] ldr r1,=DMC_DDR_t_WTR str r1,[r0,#INDEX_DMC_T_WTR] ldr r1,=DMC_DDR_t_XP str r1,[r0,#INDEX_DMC_T_XP] ldr r1,=DMC_DDR_t_XSR str r1,[r0,#INDEX_DMC_T_XSR] ldr r1,=DMC_DDR_t_ESR str r1,[r0,#INDEX_DMC_T_ESR] ldr r1,=DMC1_MEM_CFG str r1,[r0,#INDEX_DMC_MEMORY_CFG] ldr r1,=DMC1_MEM_CFG2 str r1,[r0,#INDEX_DMC_MEMORY_CFG2] ldr r1,=DMC1_CHIP0_CFG str r1,[r0,#INDEX_DMC_CHIP_0_CFG] ldr r1,=DMC_DDR_32_CFG str r1,[r0,#INDEX_DMC_USER_CONFIG] /*DMC0DDRChip0configurationdirectcommandreg*/ ldr r1,=DMC_NOP0 str r1,[r0,#INDEX_DMC_DIRECT_CMD] /*PrechargeAll*/ ldr r1,=DMC_PA0 str r1,[r0,#INDEX_DMC_DIRECT_CMD] /*AutoRefresh2time*/ ldr r1,=DMC_AR0 str r1,[r0,#INDEX_DMC_DIRECT_CMD] str r1,[r0,#INDEX_DMC_DIRECT_CMD] /*MRS*/ ldr r1,=DMC_mDDR_EMR0 str r1,[r0,#INDEX_DMC_DIRECT_CMD] /*ModeReg*/ ldr r1,=DMC_mDDR_MR0 str r1,[r0,#INDEX_DMC_DIRECT_CMD] /*EnableDMC1*/ mov r1,#0x0 str r1,[r0,#INDEX_DMC_MEMC_CMD]check_dmc1_ready: ldr r1,[r0,#INDEX_DMC_MEMC_STATUS] mov r2,#0x3 and r1,r1,r2 cmp r1,#0x1 bne check_dmc1_ready nop添加下面红色的代码/*===========================更改部分=============================*/#ifdefined(CONFIG_TINY6410)#defineSROM_BC1_REG_Tacs(0x0)//0clkaddressset-up#defineSROM_BC1_REG_Tcos(0x4)//4clkchipselectionset-up#defineSROM_BC1_REG_Tacc(0xE)//14clkaccesscycle#defineSROM_BC1_REG_Tcoh(0x1)//1clkchipselectionhold#defineSROM_BC1_REG_Tah(0x4)//4clkaddressholdingtime#defineSROM_BC1_REG_Tacp(0x6)//6clkpagemodeaccesscycle#defineSROM_BC1_REG_PMC(0x0)//normal(1data)pagemodeconfiguration#defineSROM_BW_REG_DATA((1<<7)|(1<<6)|(1<<4))#defineSROM_BW_REG_BC1(0xf<<4)#defineSROM_BC1_REG_DATA((SROM_BC1_REG_Tacs<<28)|\(SROM_BC1_REG_Tcos<<24)|\(SROM_BC1_REG_Tacc<<16)|(SROM_BC1_REG_Tcoh<<12)|\(SROM_BC1_REG_Tah<<8)|(SROM_BC1_REG_Tacp<<4)|\(SROM_BC1_REG_PMC))ldrr0,=ELFIN_SROM_BASEldrr1,[r0,#SROM_BW_REG_DATA]movr2,#(~SROM_BW_REG_BC1)andr1,r1,r2movr2,#SROM_BW_REG_DATAorrr1,r1,r2strr1,[r0,#INDEX_SROM_BW_REG]ldrr1,=SROM_BC1_REG_DATAstrr1,[r0,#INDEX_SROM_BC1_REG]#endif/*========================================================*/ mov pc,lr .ltorg四:修改arch/arm/cpu/arm1176/s3c64xx/Makefile#geditarch/arm/cpu/arm1176/s3c64xx/Makefileinclude$(TOPDIR)/config.mkLIB =$(obj)lib$(SOC).aSOBJS =reset.o#COBJS-$(CONFIG_S3C6400) +=cpu_init.ospeed.o添加下面红色代码#==================================更改部分================================COBJS-$(CONFIG_S3C6410)+=cpu_init.ospeed.o#=========================================================================COBJS-y +=timer.oOBJS :=$(addprefix$(obj),$(SOBJS)$(COBJS-y))all: $(obj).depend$(START)$(LIB)$(LIB): $(OBJS) $(AR)$(ARFLAGS)$@$(OBJS)五:修改arch\arm\include\asm\arch-s3c64xx\s3c64x0.h#ifndef__S3C64XX_H__#define__S3C64XX_H__添加红色代码/*==================================更改部分===============================*/#ifdefined(CONFIG_SYNC_MODE)&&defined(CONFIG_S3C6400)||defined(CONFIG_S3C6410)/*========================================================================*//*#errorCONFIG_SYNC_MODEunavailableonS3C6400,please,fixyourconfiguration!*/#endif#include<asm/types.h>六:修改arch/arm/include/asm/arch-s3c64xx/s3c6400.h#defineELFIN_SROM_BASE 0x70000000#defineSROM_BW_REG __REG(ELFIN_SROM_BASE+0x0)#defineSROM_BC0_REG __REG(ELFIN_SROM_BASE+0x4)#defineSROM_BC1_REG __REG(ELFIN_SROM_BASE+0x8)#defineSROM_BC2_REG __REG(ELFIN_SROM_BASE+0xC)#defineSROM_BC3_REG __REG(ELFIN_SROM_BASE+0x10)#defineSROM_BC4_REG __REG(ELFIN_SROM_BASE+0x14)#defineSROM_BC5_REG __REG(ELFIN_SROM_BASE+0x18)添加下面红色代码/*====================================更改部分=============================*/#defineINDEX_SROM_BW_REG0x0#defineINDEX_SROM_BC0_REG0x4#defineINDEX_SROM_BC1_REG0x8#defineINDEX_SROM_BC2_REG0xC#defineINDEX_SROM_BC3_REG0x10#defineINDEX_SROM_BC4_REG0x14#defineINDEX_SROM_BC5_REG0x18/*========================================================================*//*七:在board/samsung建立tiny6410的文件夹,并且把smdk6400文件里面的所有文件复制过去,在修改board/samsung/tiny6410/lowlevel_init.S_TEXT_BASE: .word TEXT_BASE .globllowlevel_initlowlevel_init: mov r12,lr /*LEDononly#8*//*=========================================更改部分========================*/#if0 ldr r0,=ELFIN_GPIO_BASE ldr r1,=0x55540000 str r1,[r0,#GPNCON_OFFSET] ldr r1,=0x55555555 str r1,[r0,#GPNPUD_OFFSET] ldr r1,=0xf000 str r1,[r0,#GPNDAT_OFFSET]#endif/*=========================================================================*/将上面的红色的部分屏蔽掉wakeup_reset: /*Clearwakeupstatusregister*/ ldr r0,=(ELFIN_CLOCK_POWER_BASE+WAKEUP_STAT_OFFSET) ldr r1,[r0] str r1,[r0] /*LEDtest*//*========================================更改部分===========================*/#if0 ldr r0,=ELFIN_GPIO_BASE ldr r1,=0x3000 str r1,[r0,#GPNDAT_OFFSET]#endif/*===========================================================================*/ /*Loadreturnaddressandjumptokernel*/ ldr r0,=(ELFIN_CLOCK_POWER_BASE+INF_REG0_OFFSET) /*r1=physicaladdressofs3c6400_cpu_resumefunction*/ ldr r1,[r0] /*Jumptokernel(sleep-s3c6400.S)*/ mov pc,r1 nop nop将上面红色的部分屏蔽掉/* *ThiswasunconditionalinoriginalSamsungsources,butitdoesn't *seemtomakemuchsenseonS3C6400. *//*======================================更改部分===========================*//*#ifndefCONFIG_S3C6400*/#if!defined(CONFIG_S3C6400)&&!defined(CONFIG_S3C6410)/*=========================================================================*/ ldr r1,[r0,#OTHERS_OFFSET]bic r1,r1,#0xC0 orr r1,r1,#0x40 str r1,[r0,#OTHERS_OFFSET]八:修改board/Samsung/tiny6410/Makefile中include$(TOPDIR)/config.mkLIB =$(obj)lib$(BOARD).a#=============================更改部分=====================COBJS-y :=tiny6410.oSOBJS :=lowlevel_init.o#===========================================================SRCS:=$(SOBJS:.o=.S)$(COBJS-y:.o=.c)OBJS :=$(addprefix$(obj),$(COBJS-y))SOBJS :=$(addprefix$(obj),$(SOBJS))九:修改board/samsung/tiny6410/tiny6410.c屏蔽掉下面头文件; /*===========================更改部分====================================*/#if0#include<netdev.h>#endif/*============================================================================*/#include<asm/arch/s3c6400.h>/*===============================更改部分====================================*/#if0#defineCS8900_Tacs 0x0 /*0clk addressset-up */#defineCS8900_Tcos 0x4 /*4clk chipselectionset-up */#defineCS8900_Tacc 0xE /*14clk accesscycle */#defineCS8900_Tcoh 0x1 /*1clk chipselectionhold */#defineCS8900_Tah 0x4 /*4clk addressholdingtime */#defineCS8900_Tacp 0x6 /*6clk pagemodeaccesscycle */#defineCS8900_PMC 0x0 /*normal(1data)pagemodeconfiguration */#endif/*============================================================================*/staticinlinevoiddelay(unsignedlongloops){ __asm__volatile("1:\n""subs%0,%1,#1\n" "bne1b" :"=r"(loops):"0"(loops));}/**Miscellaneousplatformdependentinitialisations*//*=====================================更改部分==========================*/#if0staticvoidcs8900_pre_init(void){ SROM_BW_REG&=~(0xf<<4); SROM_BW_REG|=(1<<7)|(1<<6)|(1<<4); SROM_BC1_REG=((CS8900_Tacs<<28)+(CS8900_Tcos<<24)+ (CS8900_Tacc<<16)+(CS8900_Tcoh<<12)+ (CS8900_Tah<<8)+(CS8900_Tacp<<4)+CS8900_PMC);}#endif/*=======================================================================*/intboard_init(void){ DECLARE_GLOBAL_DATA_PTR;/*=========================================更改部分===================*/ #if0 cs8900_pre_init(); #endif /*NOR-flashinSROM0*/ /*EnableWAIT*/ SROM_BW_REG|=4|8|1; gd->bd->bi_arch_number=MACH_TYPE; gd->bd->bi_boot_params=PHYS_SDRAM_1+0x100; return0;}intdram_init(void){ DECLARE_GLOBAL_DATA_PTR; gd->bd->bi_dram[0].start=PHYS_SDRAM_1; gd->bd->bi_dram[0].size=PHYS_SDRAM_1_SIZE; return0;}#ifdefCONFIG_DISPLAY_BOARDINFOintcheckboard(void){ printf("Board:TINY6410\n"); return0;}#endif#ifdefCONFIG_ENABLE_MMU/*=====================================更改部分==========================*/ulongvirt_to_phy_tiny6410(ulongaddr)/*=======================================================================*/{ if((0xc0000000<=addr)&&(addr<0xc8000000)) returnaddr-0xc0000000+0x50000000; else printf("donotsupportthisaddress:%08lx\n",addr); returnaddr;}#endif/*=======================================更改部分=======================*/#if0ulongboard_flash_get_legacy(ulongbase,intbanknum,flash_info_t*info){ if(banknum==0){ /*non-CFIbootflash*/ info->portwidth=FLASH_CFI_16BIT; info->chipwidth=FLASH_CFI_BY16; info->interface=FLASH_CFI_X16; return1; }else return0;}#endif/*=======================================================================*//*=================================更改部分===============================*/#ifdefCONFIG_CMD_NETintboard_eth_init(bd_t*bi){ intrc=0;#ifdefined(CONFIG_DRIVER_DM9000) rc=dm9000_initialize(bi);#endif returnrc;}#endif十:修改drivers/net/dm9000x.cDM9000_ior(DM9000_MRCMDX); /*Dummyread*/ /*Getmostupdateddata, onlylookatbits0:1,SeeapplicationnotesDM9000*/ rxbyte=DM9000_inb(DM9000_DATA)&0x03;/*========================================更改部分==========================*/#if1u8temp; temp=DM9000_ior(DM9000_MRRH); temp=DM9000_ior(DM9000_MRRL); #endif红色的为增加的/*=============================================================================*/ /*Statuscheck:thisbytemustbe0or1*/ if(rxbyte>DM9000_PKT_RDY){ DM9000_iow(DM9000_RCR,0x00); /*StopDevice*/ DM9000_iow(DM9000_ISR,0x80); /*StopINTrequest*/ printf("DM9000error:statuscheckfail:0x%x\n", rxbyte); return0; }十一:修改drivers/usb/host/ohci-hcd.c#ifdefCONFIG_AT91RM9200#include<asm/arch/hardware.h> /*neededforAT91_USB_HOST_BASE*/#endif//=====================更改部分================#ifdefined(CONFIG_ARM920T)||\defined(CONFIG_S3C24X0)||\defined(CONFIG_S3C6400)||\defined(CONFIG_S3C6410)||\defined(CONFIG_440EP)||\defined(CONFIG_PCI_OHCI)||\defined(CONFIG_MPC5200)||\defined(CONFIG_SYS_OHCI_USE_NPS)//=============================================#defineOHCI_USE_NPS /*forceNoPowerSwitchingmode*/#endif#undefOHCI_VERBOSE_DEBUG /*notalwayshelpful*/十二:include/configs/tiny6410.h/**HighLevelConfigurationOptions*(easytochange)*///======================更改部分==================================//#defineCONFIG_S3C6400 1 /*inaSAMSUNGS3C6400SoC*/#defineCONFIG_S3C64101/*inaSAMSUNGS3C6400SoC*///===============================================================#defineCONFIG_S3C64XX 1 /*inaSAMSUNGS3C64XXFamily*/#defineCONFIG_SMDK6400 1 /*onaSAMSUNGSMDK6400Board*///=========================更改部分====================================#defineCONFIG_TINY6410 1//===================================================================#defineCONFIG_SKIP_RELOCATE_UBOOT#defineCONFIG_PERIPORT_REMAP#defineCONFIG_PERIPORT_BASE 0x70000000#defineCONFIG_PERIPORT_SIZE 0x13#defineCONFIG_SYS_SDRAM_BASE 0x50000000/*inputclockofPLL:SMDK6400has12MHzinputclock*/#defineCONFIG_SYS_CLK_FREQ 12000000#if!defined(CONFIG_NAND_SPL)&&(TEXT_BASE>=0xc0000000)#defineCONFIG_ENABLE_MMU#endif#defineCONFIG_SETUP_MEMORY_TAGS#defineCONFIG_CMDLINE_TAG#defineCONFIG_INITRD_TAG/**Architecturemagicandmachinetype*///===================更改部分=====================/*#defineMACH_TYPE 1270*/#defineMACH_TYPE2520//==============================================#defineCONFIG_DISPLAY_CPUINFO#defineCONFIG_DISPLAY_BOARDINFO/**Sizeofmalloc()pool*/#defineCONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE+1024*1024)#defineCONFIG_SYS_GBL_DATA_SIZE 128 /*sizeinbytesforinitialdata*//**Hardwaredrivers*///==========================更改部分============================将sc8900的网卡干掉#if0#defineCONFIG_NET_MULTI#defineCONFIG_CS8900 /*wehaveaCS8900on-board */#defineCONFIG_CS8900_BASE 0x18800300#defineCONFIG_CS8900_BUS16 /*followtheLinuxdriver */#endif换成下面的#defineCONFIG_NET_MULTI 1#defineCONFIG_DRIVER_DM9000 1#defineCONFIG_DM9000_NO_SROM 1#defineCONFIG_DM9000_USE_16BIT 1#defineCONFIG_DM9000_BASE 0x18000300#defineDM9000_IO CONFIG_DM9000_BASE#defineDM9000_DATA (CONFIG_DM9000_BASE+4)#defineCONFIG_ETHADDR08:08:10:12:10:27#defineCONFIG_NETMASK255.255.255.0#defineCONFIG_IPADDR192.168.1.253#defineCONFIG_SERVERIP192.168.1.159#defineCONFIG_GATEWAYIP192.168.1.1//=============================================================/**selectserialconsoleconfiguration*/#defineCONFIG_SERIAL11 /*weuseSERIAL1onSMDK6400 */#defineCONFIG_SYS_HUSH_PARSER /*use"hush"commandparser */#ifdefCONFIG_SYS_HUSH_PARSER#defineCONFIG_SYS_PROMPT_HUSH_PS2 ">"#endif#defineCONFIG_CMDLINE_EDITING/*allowtooverwriteserialandethaddr*/#defineCONFIG_ENV_OVERWRITE#defineCONFIG_BAUDRATE 115200/************************************************************Commanddefinition***********************************************************/#include<config_cmd_default.h>#defineCONFIG_CMD_CACHE#defineCONFIG_CMD_REGINFO#defineCONFIG_CMD_LOADS#defineCONFIG_CMD_LOADB#defineCONFIG_CMD_SAVEENV#defineCONFIG_CMD_NAND#ifdefined(CONFIG_BOOT_ONENAND)#defineCONFIG_CMD_ONENAND#endif#defineCONFIG_CMD_PING#defineCONFIG_CMD_ELF#defineCONFIG_CMD_FAT#defineCONFIG_CMD_EXT2//===========================================更改部分==================添加红色部分#undefCONFIG_CMD_IMLS//======================================================================#defineCONFIG_BOOTDELAY 3#defineCONFIG_ZERO_BOOTDELAY_CHECK#if(CONFIG_COMMANDS&CONFIG_CMD_KGDB)#defineCONFIG_KGDB_BAUDRATE 115200 /*speedtorunkgdbserialport*/#defineCONFIG_KGDB_SER_INDEX 1 /*whichserialporttouse */#endif/**Miscellaneousconfigurableoptions*/#defineCONFIG_SYS_LONGHELP /*undeftosavememory */下面修改为自己喜欢的提示字符//==============================更改部分======================================//#defineCONFIG_SYS_PROMPT "SMDK6400#" /*MonitorCommandPrompt*/#defineCONFIG_SYS_PROMPT"TINY6410#"/*MonitorCommandPrompt*///===========================================================================#defineCONFIG_SYS_CBSIZE 256 /*ConsoleI/OBufferSize*/#defineCONFIG_SYS_PBSIZE 384 /*PrintBufferSize*/#defineCONFIG_SYS_MAXARGS 16 /*maxnumberofcommandargs*/#defineCONFIG_SYS_BARGSIZE CONFIG_SYS_CBSIZE /*BootArgumentBufferSize*/#defineCONFIG_SYS_MEMTEST_START CONFIG_SYS_SDRAM_BASE /*memtestworkson */#defineCONFIG_SYS_MEMTEST_END (CONFIG_SYS_SDRAM_BASE+0x7e00000)/*126MBinDRAM*/#defineCONFIG_SYS_LOAD_ADDR CONFIG_SYS_SDRAM_BASE /*defaultloadaddress */#defineCONFIG_SYS_HZ 1000/*validbaudrates*/#defineCONFIG_SYS_BAUDRATE_TABLE {9600,19200,38400,57600,115200}/*-----------------------------------------------------------------------*Stacksizes**Thestacksizesaresetupinstart.Susingthesettingsbelow*/#defineCONFIG_STACKSIZE 0x40000 /*regularstack256KB*//**********************************SupportClockSettings**********************************Setting SYNC ASYNC----------------------------------667_133_66 X O533_133_66 O O400_133_66 X O400_100_50 O O**********************************/提高主频//===========================================更改部分=====================#defineCONFIG_CLK_667_133_66//#defineCONFIG_CLK_533_133_66//=========================================================================/*#defineCONFIG_CLK_400_100_50#defineCONFIG_CLK_400_133_66#defineCONFIG_SYNC_MODE*//*SMDK6400has2banksofDRAM,butweuseonlyoneinU-Boot*/#defineCONFIG_NR_DRAM_BANKS 1#definePHYS_SDRAM_1 CONFIG_SYS_SDRAM_BASE /*SDRAMBank#1 */#definePHYS_SDRAM_1_SIZE 0x08000000 /*128MBinBank#1 */#defineCONFIG_SYS_FLASH_BASE 0x10000000#defineCONFIG_SYS_MONITOR_BASE 0x00000000/*-----------------------------------------------------------------------*FLASHandenvironmentorganization*/#defineCONFIG_SYS_MAX_FLASH_BANKS 1 /*maxnumberofmemorybanks *//*AM29LV160Bhas35sectors,AM29LV800B-19*/#defineCONFIG_SYS_MAX_FLASH_SECT 40#defineCONFIG_AMD_LV800//===================================更改部分=========================//#defineCONFIG_SYS_FLASH_CFI 1 /*UseCFIparameters(needed?)*/将上面的换成下面红色的部分#defineCONFIG_SYS_NO_FLASH1/*UseCFIparameters(needed?)*///=================================================================//=========================更改部分===================================删掉下面黄色的#if0/*Usedrivers/cfi_flash.c,eventhoughtheflashisnotCFI-compliant */#defineCONFIG_FLASH_CFI_DRIVER 1#defineCONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_16BIT#defineCONFIG_FLASH_CFI_LEGACY#defineCONFIG_SYS_FLASH_LEGACY_512Kx16/*timeoutvaluesareinticks*/#defineCONFIG_SYS_FLASH_ERASE_TOUT (5*CONFIG_SYS_HZ)/*TimeoutforFlashErase */#defineCONFIG_SYS_FLASH_WRITE_TOUT (5*CONFIG_SYS_HZ)/*TimeoutforFlashWrite */#endif//=======================================================================================#defineCONFIG_ENV_SIZE 0x4000 /*TotalSizeofEnvironmentSector*//**SMDK6400boardspecificdata*///=========================================更改部分============================//#defineCONFIG_IDENT_STRING"forSMDK6400"将上面的改为下面的#defineCONFIG_IDENT_STRING "forTINY6410"//===============================================================================
本文档为【Uboot_for_Tiny6410_移植步骤详解】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_909083
暂无简介~
格式:doc
大小:32KB
软件:Word
页数:22
分类:互联网
上传时间:2013-04-16
浏览量:33