Chinaunix首页 | 论坛 | 博客
  • 博客访问: 71137
  • 博文数量: 13
  • 博客积分: 302
  • 博客等级: 二等列兵
  • 技术积分: 210
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-27 18:51
文章分类

全部博文(13)

文章存档

2012年(1)

2011年(12)

我的朋友

分类: 嵌入式

2011-03-23 20:03:34

篇文章重点在于探讨移植linux2.6.32和busybox到TQ2440开发板上可能出现的问题分析

对于移植过程,请按照指导书上的内容按部就班操作

问题1. 卡死

描述  文件系统不能加载

Copy linux kernel from 0x00200000 to 0x30008000, size = 0x00200000 ... Copy Kernel to SDRAM done,NOW, Booting Linux......
Uncompressing Linux................................................................................................................................. done, booting the kernel.,

然后,在此处卡死了

可能的解决方案:

查看Uboot传递的参数,可能是bootargs参数错误,比如root=/dev/mtdblockx  x的值不对,比如文件系统rootfstype=yaffs2 内容书写错误

问题2:  Kernel panic

描述:文件系统加载成功后

Free init memory :140k

Kernel paic -not syncing: Attempted to kill init!,然后卡死


可能的解决方法:

1. 在内核编译时候,注意打开对EABI,OABI的支持,2440的指导文档上着重提到了这一点

2. 查看busybox的属性

your  rootfs   #readelf /bin/busybox -A

  Tag_CPU_name: "4T"
  Tag_CPU_arch: v4T
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align8_needed: Yes
  Tag_ABI_enum_size: int

看支持的CPU架构Tag_CPU_arch是否为V4T,因为S3C2440是V4T的,一些编译器版本比如codesourrce出品的arm-2009q1是默认支持armv5t的

如果显示的 CPU架构是Tag_CPU_arch: xxx   xxx不为V4T

请修改busybox的Makefile

#vi Makefile

设置工具链

修改

CC=$(CROSS_COPILE)gcc

CC=$(CROSS_COPILE)gcc -march=armv4t

 

‍问题3: 不能进控制台

描述

一直打印

cant'open /dev/s3c2410_serial: No such file or director


可能的解决方案

修改 etc/inittab

#vi /etc/inittab

‍s3c2410_serial::askfirst:/bin/sh修改为

console::askfirst:/bin/sh

 

阅读(1415) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:TQ2440按键驱动1-作为字符设备

给主人留下些什么吧!~~