您的位置 首页 产品

有关ARM9:Machine ID问题总结

最近在做一个AndroidforLinux内核的移植,准备其移植到S3C2440中。在网上多数遇到移植的都是S3C2410,就算是有S3C2440的,也都没…

最近在做一个Android for Linux内核的移植,预备其移植到S3C2440中。在网上大都遇到移植的都是S3C2410,就算是有S3C2440的,也都没能把一切的东西翔实阐明一下,仅仅你看看我的移植,我看看你的移植。有的当地不对的。也没有做深化的研讨。比如说在内核的装备上。许多网友们都提出来在装备内核的时分要选上:

要挑选上S3C2410这个选项。说是假如不挑选这个,编译会犯错、或许不通过。但是我们有没有考虑这是为什么?我要做的是S3C2440的我为什么要挑选2410的啊~带着这个疑问。我将其本源找到~~下面带我们来瞧瞧这个东西。

在发动代码我用的是uboot,在进行传参数给内核的时分,会把cpu的ID 传递给内核。但是在uboot中这个ID 是由uboot编译的时分主动生成的。我觉得这个ID仍是能够更改的,现在不预备持续研讨这个问题。这儿假设是固定生成的!

S3C2410的ID是0xc1 s3c2440的ID是0x7cf(这儿我要阐明一下,我在发动内核的时分上面显现的是这个,有的是0x16A)

这样需求在内核文件的arch/arm/kernel/head.S文件中做一个修正:

假如是S3C2410 那么需求增加的是

mov r1,#0xc1

假如要是S3C2440的话,你要是增加mov r1,0x7cf那么编译会报错。

下面需求让你填写的要多一条句子,因为mov指令只能传递char型的也便是8位二进制数

所以这儿稍有不同:

mov r1,0xcf

orr r1, r1,#0x700

这样既可,这样发动的时分就不会停留在:

Uncompressing Linux………………………………………………………………………………………………………………….. done, booting the kernel.

这样你所增加的程序驱动都能够增加到/arch/arm/mach-s3c2440/mach-smdk2440.c这儿了。之前我选S3C2410的时分我还需求向/arch/arm/mach-s3c2410/mach-smdk2410.c这儿进行增加。费事的要命。

这样就能够了~~~~

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/275549.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部