u-boot移植随笔(17):一些内存地址的再次研究(二维数组及指针数组)

u-boot移植随笔(17):一些内存地址的再次研究(二维数组及指针数组)

李迟按:经常碰到些笔试题、面试题,将指针、数组、字符串操作及内存的一些东西发挥到极点,本人以为,以内存角度看问题,有时会更清晰。不过,本人能力不怎么行,写完这篇文章后一段时间,又忘了二维数组和指针的指针了。一来年纪大了,记忆力不行,二来一没碰这些东西就会忘得很快。

u-boot移植随笔(16):u-boot技巧二则

u-boot移植随笔(16):u-boot技巧二则
linux内核中版本信息字符串为一宏定义,如下: #define version(a) Version_ ## a #define version_string(a) version(a) extern int version_string(LINUX_VERSION_CODE); int version_string(LINUX_VERSION_CODE);   在u-boot中,同样有相似的宏定义: #define XMK_STR(x)        #x #define MK_STR(x)        XMK_STR(x)   它是这样使用的(例子还有很多): "baudrate="        MK_STR(CONF...

u-boot移植随笔(14):困难重重,前路未知

u-boot移植随笔(14):困难重重,前路未知

这两周的周末,我都将我的开发板带回家(此处指租的房子)里搞。本来以前根文件系统这一部分是比较简单、容易的,结果搞了很多天,都没进展。第一个周末带回来是解决了u-boot引导内核的问题,第二个周末却解决不了NFS和jffs2的问题,看来我的能力下降了。

u-boot移植随笔(12):关于u-boot引导内核出现“Error: unrecognized/unsupported machine ID (r1 = 0x33f4fee8)”的问题

u-boot移植随笔(12):关于u-boot引导内核出现“Error: unrecognized/unsupported machine ID (r1 = 0x33f4fee8)”的问题

这个问题同样经典,大意是说u-boot传递的machine id不正确。在网上看到的文章几乎如出一辙:有两种方法,一是修改内核的head.S(具体在./arch/arm/kernel目录下),二是修改u-boot代码。可惜,第二种方法中出现的源代码文件,在我移植的版本中没有发现。

u-boot移植随笔(10):解决引导内核遇到undefined instruction的错误

u-boot移植随笔(10):解决引导内核遇到undefined instruction的错误

前天解决了内核不能引导的问题了。在网上搜索了一些资料,才有点明白这个是怎么回事。
不能引导内核时提示的信息各种各样。像ERROR: can’t get kernel image!、Bad Magic Number、 Bad Data CRC这些。这些有时出现,有时又不出现,很是诡异。
不过最严重的还是遇到undefined instruction的错误。

u-boot移植随笔(9):终于解决Nor Flash的问题了

u-boot移植随笔(9):终于解决Nor Flash的问题了

今天解决了困扰我好几个月的问题了。这个问题本来应该在过年前就解决的,但是那个时候死活就是没招。
其实问题很简单:将u-boot下载到内存中,再使用cp命令将u-boot从内存复制到Nor Flash零地址处,之后就可以从新的u-boot启动了。网上说得很轻松,然而实际解决起来却不然。因为,我的Nor Flash是64Mbit的,即8MB。解决封装问题很轻松——开发板上的地址线预留出来了,可以扩大容量。使用并口下载的问题也解决了——到H-JTAG官方论坛上下载对应的配置文件。

u-boot移植随笔(7):u-boot启动流程简图

u-boot移植随笔(7):u-boot启动流程简图
u-boot移植随笔:u-boot启动流程简图 画上面这张图也花了点时间。虽然很简洁,但对于理解u-boot,从一个较高角度府视u-boot,很有帮助。——其实网上有很多分析教程、资料,相信大多都是大同小异的。因此,山人无谓再写一次了。 (小技巧: 如何将上面的图占为已有? 木草山人心地善良,好心地将图片的背景做成白色的,最简单的方法是使用windows系统自带的“画图”工具,图片下面的信息擦除掉改成自己的名字...

u-boot移植随笔(5):u-boot的内存分布图

u-boot移植随笔(5):u-boot的内存分布图

花了两天时间来专门研究u-boot的内存分布,这个图网上已经有了,但只是大致图形,没有详细、深入解析。所以自己就专门画了图,添加一些东西。
此外,还专门测试了一下u-boot下全局变量、未初始化变量等等的地址分布,也画了一张图。不过好像跟linux下进程的内存分布不太一致,估计是u-boot自己管理内存的——很明显,此时linux还不知道在哪里呢。但是,这些都不妨碍我们学习一些底层的东西。

u-boot移植随笔(3):使用svn进行版本控制

u-boot移植随笔(3):使用svn进行版本控制

当年做毕业设计时,一时想不开,竟然使用cvs对写的代码进行版本控制,——当研究有一点心得时,只能跟一两个人讨论,这不能不说是我的悲哀。
这几天u-boot没搞什么,都是在研究源代码,已经有一些心得了,但不好用语言表达出来。有些代码的妙处,只能意会,不能言传。
其实很久我就意识到版本控制的好处及作用,只是周边环境不谈这个,只好自己偷偷地一个人研究了。