完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
上传到csdn上了
http://download.csdn.net/source/3408882 好久没有更新这里的东东了。2440也很久没有玩了。公司的事情是在太多,太繁琐。 目前刚买好房子,希望能空下来好好的研究研究。和大家共同进步。 在此,非常高兴能和大家一起交流。将U-Boot 1.3.4基本功能port到utu2440demo板的过程做一个总结(板子是utu2440-F-v4.1)。 手头的UTU2440-demo板,但是没有U-Boot的源代码,做软件的没有源代码,这怎么行。出于以下两个原因,开始了第一次的U-Boot的port,偶称之为菜鸟“飞飞”。 1) 为了获得一份U-boot源代码(提供的demo板只给了个bin文件,为啥不给源代码,不说了L。) 2) 为了体验一下U-boot的port过程J,希望能对U-Boot有更深的了解和认识。 注意:我说的是port,自己压根就不用写什么代码,因为很多高人都已经做过了。个人认为这个port关键就是对Boot过程和硬件spec有比较深的理解,能够很好的让SDRAM,Serial,Net chip工作起来。 本来打算这周能够给出一个文档,交流一下port的关键点。但是结果,我还是没能够完成任务,希望大家理解。 我再整理一下,稍后发出来,这里先给出几个标题和bin,patch。因为有一些图,所以整篇发出来将会以pdf的方式给出,争取下周能把第一稿出来,让大家来板砖一下。:) 第零点:借鉴SMDK2410 其实有个条条框框可以遵循,按部就班,Step by Step,可以事半功倍。这一点好像也不需要很多的工作,很简单,但也是最为关键的一点,这里暂且叫第零点。接下来开始“偷懒”的方法了。。。。。(待续) 第一点:SDRAM设置(我认为是最重要的) 首先,根据demo板上的RAM型号找到相应的芯片spec,(注意,我的板子上是HYNIX_HY57V561620FTP-H)。通过HYNIX_HY57V561620FTP-H的芯片spec可以知道,该芯片是32MB SDRAM(通常我们的板子都是SDRAM),板子上装了2颗,那么就是64MB SDRAM,但是从2440spec上的定义,也可以外接SRAM。。。。(待续) 第二点:堆栈设置 朋友们到这里,板子上的SDRAM初始化已经完成。有了内存,我们这里就需要开始为软件环境进行设置堆栈了。见Start.S中的代码。。。。(待续) 第三点:代码搬运:(Nand-Flash) 由于demo板上是没有Nor-Flash,所以在此将会主要关注在Nand-Flash中的代码搬运。从给出的patch代码上来看,应该也是支持Nor-Flash的,但是我没有做过测试,非常欢迎大家反馈结果给我。。。。。(待续) 第四点:时钟设置,串口设置 哦,My God!总算到这里了。我们打起精神,来看看初始化串口、时钟设置。为啥吧串口放在时钟前面,因为程序调试串口非常重要,但要是串口设置的不对,那不是看到乱码的问题,而是看不到的问题。能看到乱码,那已经蛮走运了J。 如果你不幸看不到串口输出的乱码,兄弟,你的boot代码真冤啊。只好慢慢摸索了,如果实在不行,只能在线调试或者点灯,当然比较痛苦的。我点过了,但是在这里不谈了。。。。。(待续) 先给出一些bin和patch, patch-0.2 =============== U-boot 启动 ================== U-Boot 1.3.4 (Oct 21 2008 - 23:01:15) DRAM: 64 MB NAND: NAND 64MiB 3,3V 8-bit, ManufactureID=0xec,DeviceID=0x76 64 MiB In: serial Out: serial Err: serial Hit any key to stop autoboot: 0 utu2440 # pri bootdelay=6 baudrate=115200 ethaddr=08:00:3e:26:0a:5b ipaddr=192.168.58.7 serverip=192.168.58.103 netmask=255.255.255.0 install-bootloader=tftp 30000000 u-boot.bin;nand erase 0 40000;nand write 30000000 0 40000 install-kernel=tftp 30000000 uImage;nand erase 60000 200000;nand write.i 30000000 60000 0 erase-env=nand erase 40000 20000 bootargs=root=/dev/mtdblock2 rw console=ttySAC0,115200 bootcmd=nand read.i 0x32000000 0x60000 0x200000; bootm 0x32000000 stdin=serial stdout=serial stderr=serial Environment size: 496/65532 bytes utu2440 # |
|
相关推荐
100个回答
|
|
我改改文件大小的限制
|
|
|
|
左缩文件可以达到10M的
|
|
|
|
|
|
|
|
非常感谢楼主.我先下载,回头看看
|
|
|
|
漂亮!没看你的PDF文档之前,我还担心这贴子是否值得三钻,现在放心了:绝对值!
|
|
|
|
感谢版主信任,偶再接再厉。还有很多功能,我慢慢port上去。:)希望大家都能有所收获。
|
|
|
|
是Dm9000A 。所以1.1.6上的,会有问题。1.3.4在ping开始的时候还是有点慢。我没有去细找原因。还是有很大的改善空间的。
|
|
|
|
先支持下,谢谢分享
|
|
|
|
|
|
|
|
先试后问
|
|
|
|
谢谢楼主分享,感觉这里的氛围比utu开发板那边好多了。:D
|
|
|
|
楼主,希望能快点更新你的文档。现在这份文档对要修改什么文件说得不清楚,对于像我这样的新手看起来非常麻烦,必修对着patch来看。
还有就是我和楼主是同一块板,今天下了楼主的patch。给u-boot1.3.4打了patch后就编译。烧到板子上能启动了。可是网卡却不能用。连网口接口处的灯都不亮!为什么会这样的呢? 最后谢谢楼主提供文档,让我们可以参考学习。 |
|
|
|
做Linux开发第一件事情就是要学会看别人制作的patch和自己做patch,不要指望每次都有人把自己的每一步修改都详细的记录下来并且告诉你
|
|
|
|
:) 更正一下,是diff -urN A A.MY > a.patch, patch命令是用来给源代码打上已经制作好的patch的,比如
$cd u-boot-1.3.4 $patch -p1 < ../patch-u-boot-1.3.4.1.patch |
|
|
|
谢谢,我也是刚开始学习。现在正在看那个关于RTC的东东,我会尽力更新的。把遇到的一些内容更新到这个1.1的版本上去。
关于你的网卡不通,建议你先查查你的网卡地址和网卡芯片型号。然后再给出你的log。 |
|
|
|
command.h相对1.3.4没有更改。估计你用的那个是早期的版本。:Z
|
|
|
|
目前这个utu基本功能的patch只有一个ver 0.0,直接在1.3.4上做patch,如果是老板本的,要先patch到1.3.4,然后再打我给出的这个patch-0.0。:)
|
|
|
|
是的,就是对这个的补丁。:Z
|
|
|
|
u-boot-1.3.4.tar.bz2:D
|
|
|
|
只有小组成员才能发言,加入小组>>
197个成员聚集在这个小组
加入小组为什么点亮LED的例子放在NORFlash上跑会出现奇怪的现象?
2156 浏览 6 评论
1962 浏览 5 评论
韦东山老师推出的《玩转ARM裸机实战》课程将帮你以上问题一扫而光!
4520 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 16:55 , Processed in 1.446755 second(s), Total 115, Slave 95 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号