QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1743|回复: 2

2.6.18 for s3c2410 在skyeye上的问题

[复制链接]
发表于 2006-10-25 00:34:45 | 显示全部楼层 |阅读模式
skyeye.conf 使用testsuit2中2410的配置
编译内核时使用的是 smdk2410_defconfig这个配置
并将  linux/include/asm-arm/arch-s3c2410/map.h 中的
    #define S3C2410_CS6 (0x30000000)
改成 #define S3C2410_CS6 (0xC0000000) 配置中SDRAM的物理地址?
       linux/include/asm-arm/arch-s3c2410/memory.h中的
     #define PHYS_OFFSET        UL(0x30000000)
该成 #define PHYS_OFFSET        UL(0xC0000000)
在 linux/arch/arm/mach-s3c2410/mach-smdk2410.c 中
       MACHINE_START(SMDK2410, "SMDK2410")
该成 MACHINE_START(SMDK2410TK, "SMDK2410TK")
(为了在skyeye-0.9.8中调试,不改的话在skyeye-1.2中也不行)

编译后无法启动,屏幕无输出
通过跟踪发现是在
               Time_Init-> s3c2410_timer_setup 中挂了
     按照这个
//////////////////////////////////////////////////////////////////////////////
go on .......

    之后用仿真器追踪内核结果发现:

    start_kernel函数的time_init()中程序进入死循环~~

    我随之进入time_init()

    继续进入        system_timer->init();
     
    结果发现,我的fclk,pclk都不能得到正确的值,积存器正确,我拿笔都能算出来,可是他就是总出错,所以我一气之下把他们全部写死.

    具体如下:
       在\arch\arm\mach_s3c2410\s3c2410.c 中 搜索 fclk ;

       fclk = s3c2410_get_pll(MPLLCON, xtal);   //这是他原来的,结果不是我们想要的200MHZ


            fclk =200*1000*1000 ; // 这是我改的

       在\arch\arm\mach_s3c2410\time.c 中搜索 pclk:

        pclk =   clk_get_rate(clk);         //这是原来的

        pclk = 50*1000*1000;           //这是我改的

       当然这都是根据你的开发板的DATASHEET而定的
  
       我现在用的是FCLK : HCLK : PCLK  =  1 : 2 : 4 ,所以我分别写死为200M 100M 50M.

    之后再运行,这个野蛮的问题终于解决了 , 不过我还有一事不明 ,为什么他用原来的表达式就会取值错误呢 ???

//////////////////////////////////////////////////////////////////////////////  
改过后,过去后又在console_init中出了问题
具体位置 console_init-〉con_init-〉acquire_console_sem-〉BUG_ON(in_interrupt());
郁闷中。。。。。。
到底哪里设置错了啊,需要怎么配置。。。。。。。。
 楼主| 发表于 2006-11-1 00:36:22 | 显示全部楼层
有些进展,之前没有设置好内存容量
这回是到kmem_cache_init();处挂掉,估计还是内存参数没设好
晕死了,在skyeye里设置断点怎么大多数时候不好使啊,已运行c命令就挂
只好一步一步地走
回复

使用道具 举报

发表于 2006-11-1 01:42:01 | 显示全部楼层
我也遇到了跟你相同的问题,而且我搜索了一下论坛,遇到同样问题的好像还不只我们两个,怎么就没人给个解答呢?那个叫jackzheng2002的版主说:
“Linux 2.6.10以后,Samsung S3C2410已经成为linux的一个标准支持平台,
无需任何patch就可以在S3C2410的目标板上运行得很好。”
可是为啥在SkyEye上就不行呢,看来虚拟机和真实的硬件平台还是有很大区别的嘞!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 18:37 , Processed in 0.049242 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表