免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2801 | 回复: 3
打印 上一主题 下一主题

[BootLoader] 用s5pv210跑linux 3.0.15无限卡在kernel解压完成阶段 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-09-30 17:41 |只看该作者 |倒序浏览
这两天在做实践,直接下载了linux官网的kernel 3.0.15,想移植到自己的开发板.如下是uboot的设置。                                                         
bootcmd=nand read 0x30008000 0x600000 0x500000;bootm 0x30008000                 
bootargs=root=/dev/mtdblock4 rootfstype=yaffs2 init=/sbin/init console=ttySAC0,0                                                               
arch_number = 0x00000998                                                        
env_t       = 0x00000000                                                        
boot_params = 0x30000100                                                        
DRAM bank   = 0x00000000                                                        
-> start    = 0x30000000                                                        
-> size     = 0x10000000                                                        
DRAM bank   = 0x00000001                                                        
-> start    = 0x40000000                                                        
-> size     = 0x10000000                                                        
ethaddr     = 00:40:5C:26:0A:5B                                                
ip_addr     = 192.168.1.88                                                      
baudrate    = 115200 bps


首先来说,UBOOT是没问题的,我编译的kernel 2.6是可以正常运行的。先来看下我kernel3.0.15遇到的情况。(蓝色字体是打印信息)
NAND read: device 0 offset 0x600000, size 0x500000                              
Main area read (40 blocks):                                                     
5242880 bytes read: OK                                                         
get_format                                                                     
-------- 1 --------                                                            
## Booting kernel from Legacy Image at 30008000 ...                             
   Image Name:   linux-3.0.15                                                   
   Created:      1979-09-05  22:51:36 UTC                                       
   Image Type:   ARM Linux Kernel Image (uncompressed)                          
   Data Size:    1255204 Bytes =  1.2 MB                                       
   Load Address: 30008000                                                      
   Entry Point:  30008040                                                      
   Verifying Checksum ... OK                                                   
get_format                                                                     
-------- 1 --------                                                            
   XIP Kernel Image ... OK                                                      
OK                                                                              
                                                                                
Starting kernel ...                                                            
                                                                                
Uncompressing Linux... done, booting the kernel.

1.首先我kernel是没有超过5M的。所以内核不完整是排除的。我将zImage 做成了uImge ,放在了0x30008000上面启动。(我内存是512M)
2.内核能打印出Uncompressing Linux..,证明串口是正常的。而且解压完成。
3.怀疑机器码有问题。我将输入个错误的机器码,则打印信息如下。
Starting kernel ...                                                            
                                                                                
Uncompressing Linux... done, booting the kernel.                                
                                                                                
Error: unrecognized/unsupported machine ID (r1 = 0x0000099.                  
                                                                                
Available machine support:                                                      
                                                                                
ID (hex)        NAME                                                            
00000a74        Aquila                                                         
00000891        MY-s5pv210                                                      
00000891        SMDKC110                                                        
00000b2e        GONI                                                            
                                                                                
Please check your kernel config and/or bootloader.

到此可以证明,我内核串口设置正确,内核调试信息正常显示。而且内核确实被解压,内核也对UBOOT传递过来的机器码进行核对。但是为什么无法进入c阶段的main.c里面的start_kernel()?我怀疑是CPU的配置问题,我仔细查看了arch/arm/mach-s5pv210/Kconfig.  在config CPU_S5PV210里面确实包括了 select PLAT_S5P。而且我在最开始的make 里面使用的是官方给的s5pv210_defconfig做基础配置。为什么会卡在这里?


论坛徽章:
0
2 [报告]
发表于 2016-10-09 09:35 |只看该作者
自己顶,已经卡在这好几天了

论坛徽章:
1
15-16赛季CBA联赛之新疆
日期:2017-03-09 12:33:45
3 [报告]
发表于 2016-10-11 16:14 |只看该作者
回复 1# 孙墨水

最傻的办法,就是你出现那个错误打印之前是什么原因会进入这个打印的,那里的比较,就是你出错的原因了。

论坛徽章:
0
4 [报告]
发表于 2016-11-17 14:49 |只看该作者
本帖最后由 xingjiu119 于 2016-11-17 14:55 编辑

                                    插眼,等结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP