3550|6

92

帖子

0

TA的资源

纯净的硅(中级)

楼主
 

s3c2410 linux2.6移植问题 [复制链接]

好不容易编译了一个linux2.6.18的zImage,

用uboot的tftp 0x30008000下载到SDRAM中。之后,出现了问题,如下:

                                                     
JX2410 # go 0x30008000                                                         
## Starting application at 0x30008000 ...                                       
Uncompressing Linux.............................................................
                                                                                
Error: unrecognized/unsupported machine ID (r1 = 0x33f1ee88).                  
                                                                                
Available machine support:                                                      
                                                                                
ID (hex)        NAME                                                            
000000c1        SMDK2410                                                        
                                                                                
Please check your kernel config and/or bootloader.     

google 百度一番后,  找到办法:
修改内核的arch/arm/kernel/head.S,直接将s3c2410的参数赋给内核。
70     __INIT
71     .type       stext, %function
72 ENTRY(stext)
   /********* add here *********/
   mov    r0, #0
   mov    r1, #0xc1
   ldr    r2, =0x30000100
   /********* end add *********/

重新make zImage,
复制到/tftpboot/ ,
下载,  tftp 0x30008000 zImage,
go 0x30008000出现问题:               

JX2410 # go 0x30008000                                                         
## Starting application at 0x30008000 ...                                       
Uncompressing Linux............................................................

串口再接收不到任何信息了, 不知道出什么问题,
希望各位前辈指点。谢!

最新回复

这个问题怎么板?貌似要重新编译内核啊  详情 回复 发表于 2008-9-21 15:53
点赞 关注

回复
举报

90

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我的cpu是 AT91rm9200  kernel--2.6.12 可能与你的不同,写出我的解决方法提供参考



kernel源码调试,期间最大的问题就是转换Image 到uImage后,烧到板子上到starting kernel....后就没有往下继续执行了,开始一直以为是串口相关的设置有问题,改来改去也没用,似乎从网上下载的 2.6.12-at91.patch.gz PATH后,
Arch/arm/mach-at91rm9200/board-dk.c中的
      MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200DK")
        MAINTAINER("SAN People / ATMEL")

      Arch/arm/Makefile文件中的匹配有点问题,需加入如下的匹配
         ifeq ($(CONFIG_ARCH_AT91RM9200),y)
               textaddr-y           := 0xC0008000
         endif


然后尽量搞清楚make menuconfig里面的选项意义,不要乱选那些没有用的,不然编译都过不去(Device Drivers->Graphics support里面的支持选项都不要,不然我这个2.6.12内核版本在crosstool-0.43版本建立的支持arm软浮点的交叉编译环境中就编译出错)
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
多谢k_ewell

刚照实验箱的实验说明编译下载了一个2.4的,没有问题啊,可以启动。

太麻烦了!
看起来在解压缩时(后)就停住了。
无助啊!
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
注意,在2.6.x 下,串口叫 ttySAC了而不叫 ttyS,你看一下 Kernel command line是不是设错了
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 
同感。碰到此类问题都无助!在linux-arm maillist中问吧,这里找不到答案的~
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

6
 
linux_cmd_line console=ttySA0
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

7
 
这个问题怎么板?貌似要重新编译内核啊
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表