在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → Tiny6410_Uboot移植步骤详解

Tiny6410_Uboot移植步骤详解

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:0.23M
  • 下载次数:2
  • 浏览次数:188
  • 发布时间:2020-07-26
  • 实例类别:一般编程问题
  • 发 布 人:robot666
  • 文件格式:.pdf
  • 所需积分:2
 

实例介绍

【实例简介】
tiny6410;NAND:2G MLC;256M SDRAM;uboot-2010.09;
下面是具体的对u-boot…的修改 下载并解压u-boot- gab.tar #tar xzvf u-boot-gxb tar gz 二:在顶层的目录下找到 Makefile文件,并用gedt 打开 在 Makefile中找到下面代码进行修改 井###共###共计######共杆####计###共井###井###杆###井##########共# #t ARMI176 Systems ########共计##井#甘########共杆计####井##共#井##计#############共### smdk6400 noUSB config smdk6400 config unco g Emkdir -p S(obj)include S(obj) board/samsung/ smdk6400 (mkdir -p (ob j)nand spl/board/ samsung/smdk6400 lecho#define CONFIG NAND U boOT>$(obj)include/ config. h echo CONTIG NAND U BOOT=y >>(obj)include/config.mk fi-z(findstring smdk6400 noUSB config, s(@)];then echo"RAM TEXT-0x57000000">>$(ob j)board, samsung/smdk6400/config. tmp: else echo RAM TEXT=Oxc7e00000">>$(ob j)board/ samsung/smdk6100/config. tmp: aS(MKCONFIG) smdk6400 arm arm1176 smdk6400 samsung s3c64xx Lecho CONFIG NAND U BOOT =y >>(obj) include/ config. mk 下面红色的为新增加的 =更改部分 tiny6410 noUSB config tiny6110 config uncon g @mkdir p $(obj)include $(ob j) board/samsung/tiny6410 Mkdir -p (ob i)nand spl/board/samsung/tiny6410 Echo#define CONFIG NAND U bOOT>$(obj)include/ config. h @echo CONFIG NAND U BOOT=y">>s(obj)include/config.mk if L s (finds tring tiny 6410 noUSB config, $@]: then RAM TEXT 0x57e00000 S(obj)board/ samsung/tiny 6410/config. tmp; else echo RAM TEXT 0xc7e00000 $(obj)board/ samsung/tiny6410/config. tmp; @s(MKCONFIG) tiny6410 arm arm1176 tiny6410 samsung s3c64xx Echo CONFIG NAND U BOOT=y">>$(obj)include/config.nk E: arch/arm/cpw/arm7776/3c64X/cpu init.S #gedit arch/arm/ cpu/arm1176/s3c 64xx/cpu init. s #include <config. h> #inc lude <asm/arch/s 3c6400 h) globl mem ctrl asm init mem ctrl asm init /* DMC1 base address Ox7c001000 * ldr rO. =ELFIN DMC1 BASE ldr rl,-Ox4 str rl, [rO, #INDEX DMC MEMC CMD] l dr rl. =DMC DDR REFRESII PRD str rl, [ro, #INDEX DMC REFRESH PRD ldr rl. =DMC DDR CAS LATENCY str rl, ro, #INDEX DMC CAS LATENCY I ldr rl, =DMC ddr t DQss str rl, rO, #INDEX DMC T DQSS I Idr rl. =DMC ddr t MrD str rl, rO, #INDEX DMC T MRD ldr rl, =DMC ddR t RAS str rl, [ rO, #INDEX DMC T RAS Idr rl, =DMC ddr t rC str rl, [ ro, #INDEX DMC T RC]] l dr rl.=DMC ddr t rcd ldr r 2, =DMC ddR schedule rcd orr rl, rl, r2 str rl, rO, #INDEX DMC T RCD ldr rl. =DMC ddr t rfc ldr r2. =DMC ddR schedule rfc orr rl, rl, r2 str rl, [ro, #INDEX DMC T RFC ldr rl.-DMC ddr t rp ldr r2, =DMC ddr schedule rp str rl, rO,#INDEX DMC T RPI Idr rl.-dMC ddr t rrd str rl, [rO, #INDEX DMC T RRD ldr rl.=DMC ddr t WR str rl, [rO, #INDEX DMC T WRI ldr rl, =DMC ddr t WTR str rl, [rO, #INDEX DMC T WTR ldr rl. =DMC ddr t Xp str rl, ro, #INDEX DMC T XP ldr rl. =DMC ddr t Xsr str rl, [ r0, #INDEX DMC T XSR Idr rl. =DMC ddr t ESr str rl, [ rO, #INDEX DMC T ESRI ldrr1,≡ DMCI MEM CFG str rl, [rO, #INDEX DMC MEMORY CIG] I dr rl.=DMCl MEM CF str rl, [rO, #INDEX DMC MEMORY CIG2 l dr rl. =DMC1 CIIIPO CFG str rl, [ro, #INDEX DMC CHIP 0 CFGI Idr rl, =DMC ddr 32 CFG tr rl, [ r0, #INDEX DMC USER CONFIG /* DMCO DDR Chip 0 configuration direct command reg */ ldr rl. =DMC NOPO str rl, [rO, #INDEX DMC DIRECT CMD A11米/ ldr rl. =DMC Pao str rl, [rO, #INDEX DMC DIRECT CMD *k Auto re fresh 2 t ldr r1.DMC aro str rl, [rO, #INDEX DMC DIRECT CMD] str rl, [r0, #INDEX DMC DIRECT CMD] /米MRS Idr rl,-DMC mDDR EMRO str rl, [rO, #INDEX DMC DIRECT CMD] / Mode Reg *r ldr rl. =DMC mDDR MRO str rl, [rO,#INDEX DMC DIRECT CMD] /米 Enable dmc1*/ moy rl, #OxO str rl, [rO, #INDEX DMC MEMC CMD] check dmc l ready ldr r1, [ rO, #INDEX DMC MEMC STATUS moy r2, #0x3 nd rl. rl cmp rl, #Oxl bne check dmcl ready nop 添加下面红色的代码 更改部分 #if defined ( CoNFIG TINY6410 #define SRoM BC1 REG Tacs(0x0)// clk address set-up #define srom bcl reg tcos (0x4)//4clk chip selection set up #define srom bcl reg tacc (OxE)//14clk access cycle #define srom bc1 reg tcoh (0x1)/1clk chip selection hold #define srom bcl reg tah (0x4)4c1k ddress holding time #de fine SROM BC1 REG Tacp (0x6)/6c1k page mode access cycle #define srom bc1 reg pmc (Oxo) / normal(1data) page mode configuration #define SROM BW REG DATA(1<<)(1<<6)(1<<4)) tdefine srom bw reg bci (0xf<<4) #define SROM BC1 REG DATA((SROM BC1 REG Tacs 28)\ (SROM BC1 REG Tcos < 24)\ (SROM BCI REG Tacc < 16)(SROM BC1 REG Tcoh < 12)\ (SROM BC1 REG Tah<< 8)(SROM BC1 REG Tacp < 4)\ (SROM BC1 REG PMC)) ldr r0,=ELFIN SROM BASE ldr rl, [ r0, #SROM BW REG DATA mOy r2, #(SROM BW REG BCD and 1. rl. r2 moy r2. #SROM BW REG DATA 1,1,12 str rl, [r0, #INDEX SROM BW REG ldr r1,-SROM BC1 REG DATA str rl, [r0, #INDEX SROM BCI REG] mov pc, Ir .⊥torg 四 修 改 arch/arm/cpu/arm 7776/ Makefile #f gedit arch/armcpu/arm7776/s 3c64XX/ Makefile include $TOPDIR)/config mk LIB = F(objlib s(soC )a sobS reset"o #COBJS-S(CONFIG S3C6400)+= cpu init - o speed- o 添加下面红色代码 # 更 改 部 COBJS-S(CONF IG_S3C6410)+= cpu_init- o speed-o COBJS-y + timer OBJS = $(addprefix (obD, s(SOBJS)$(COBJS-y)) all: $(obj depend (START) CIB) LLIB):$(OBJS) $(AR)$(ARFLAGS)$@ $(OBJS) 五:修改 arch larm \include lasm larch-s 3c64xxls3c64x Oh #ifndef S3C64X H #define S3C64XX H 添加红色代码 =二=二〓 二二二=二=二=二二==二=====二=二二 改 分 #if defined (CoNF IG sYnc mode) & defined(CONFIG S3C 6400) defined(CONFIG S3C6410) 〓〓: /#error CONFIG SYNC MODE unavailable on S3C6400, please, fix your confiquration *7 fendi #include <asm/types. h> 六:修改 arch/arm/include/asmfarch-s3c64x/s3c640 0.h #define elfIN SROM base Oxz0000000 #define SROM BW_ REG REG(ELF IN SROM BASE OXo) #define SROM_BCO_ REG(ELFIN_ SROM_BASE OX) #define SROM_ BC7REG REG(ELFIN SROM_ BASE +0X8) #define SROM BC2 REG REG(ELFIN SROM BASE + OXC) #define SROM BC3 REG REG(ELF IN SROM BASE +0X70) #define SROM_BC4 REG REG(ELF IN SROM_BASE 0X74) #define SROM BC5 REG REG(ELF IN SROM_ BASE 0x78 添加下面红色代码 史 改 分 三三三三三三三三三三三二三三三三三三三三三三三三三=数 #define INDEX SROM BW REG +define INDEX SROM BCo REg Oxs #define INDEX SROM BC/ REg 0x8 #define NDEX SROM BC2 REg Oxc #define NDEX SRoM bc 3 rEg 0x70 #define INDEX SROM BC< REG Ox74 tdefine NDEX SROM BC5 REg 0x78 七:在 board/ samsung建立tny6470的文件夹, 并且把smdk6400文件里面的所有文件复制过去, 在 修 改 board/samsung/tiny6410Mowlevel initS TEXT BASE word TEXT BASE globl lowlevel init lowlevel init: movr72. Ir 【实例截图】
【核心代码】

标签:

实例下载地址

Tiny6410_Uboot移植步骤详解

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警