QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1446|回复: 9

有关at91rm92的配置问题请教

[复制链接]
发表于 2005-1-6 09:45:46 | 显示全部楼层 |阅读模式
哪位大侠测试过,请伸援手,万分感谢
1,能共享一份skyeye的配置文件么,for at91rm9200的
2,我目前用的是skyeye0.8.0,但是好像启动不了编译的内核,我用的是2.6.10,是不是0.8.0还不能对at91rm92支持阿
3,0.8.5.1的那个链接也下载不了啊
 楼主| 发表于 2005-1-7 11:37:09 | 显示全部楼层
btw, 我用的是linux2.6.10内核,skyeye0.8.5.1+insight,打了at91rm9200的补丁。我采用的配置和现象如下:

情形一,mem_bank: map=M, type=RW, addr=0x20000000, size=0x00200000(参考at91rm9200的手册),加载编译好的内核后,虚拟内存地址0xc0008000内容为0xffffffff,不是有效指令

情形二,mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00200000,加载后,虚拟内存地址0xc0008000为有效指令,但是打开mmu后(__turn_mmu_on),start_kernel映射的位置指令无效,内容为0xffffffff。

问题在哪里呢?

是内核的补丁有问题,skyeye的at91rm92模拟存在问题,还是我的配置文件写得不对呢?

给点提示吧,万分感谢!!!
回复

使用道具 举报

发表于 2005-1-10 11:44:09 | 显示全部楼层
AT91RM9200是我实现的,当时基于2.4.26内核+armlinux补丁,而且还作了一些小修改。能否把你的2.6的补丁提供给我,我可以帮你试试这个补丁?可以和我联系:wlm AT student dot dlut dot edu dot cn.
回复

使用道具 举报

发表于 2005-1-10 12:03:40 | 显示全部楼层
目前正在测试2.6.10的内核。
回复

使用道具 举报

发表于 2005-1-10 14:28:27 | 显示全部楼层
2.6.10的内核我已经跑通了,需要修改两个文件。
1. include/asm/arch/at91rm9200dk.h,把相应的宏定义,修改成如下
#define AT91_SDRAM_BASE         0xc0000000      // NCS1: SDRAM physical base address

#define AT91C_UART_MAP          { 0, 4, -1, -1, -1 }    /* ttyS0, ..., ttyS4 */

2. arch/arm/mach-at91rm9200/time.c,照着如下注释两行:
//do {
                        timer_tick(regs);
                        AT91_SYS->ST_RTAR = (AT91_SYS->ST_RTAR + LATCH) & AT91C_ST_ALMV;
                //} while (((read_CRTR() - AT91_SYS->ST_RTAR) & AT91C_ST_ALMV) >= LATCH);

对应的skyeye.conf为:
cpu:  arm920t
mach: at91rm92
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=R, addr=0x00100000, size=0x00010000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0xc0200000, size=0x00500000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0xc0700000, size=0x00900000
mem_bank: map=I, type=RW, addr=0xfffa0000, size=0x00060000

对应的内核配置文件,这个配置文件是一个基本配置,保证可以跑的。
CONFIG_ARM=y
CONFIG_MMU=y
CONFIG_UID16=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_IOMAP=y
CONFIG_EXPERIMENTAL=y
CONFIG_CLEAN_COMPILE=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_LOCALVERSION=""
CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_LOG_BUF_SHIFT=14
CONFIG_HOTPLUG=y
CONFIG_KOBJECT_UEVENT=y
CONFIG_KALLSYMS=y
CONFIG_FUTEX=y
CONFIG_EPOLL=y
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SHMEM=y
CONFIG_CC_ALIGN_FUNCTIONS=0
CONFIG_CC_ALIGN_LABELS=0
CONFIG_CC_ALIGN_LOOPS=0
CONFIG_CC_ALIGN_JUMPS=0
CONFIG_ARCH_AT91RM9200=y
CONFIG_ARCH_AT91RM9200DK=y
CONFIG_CPU_32=y
CONFIG_CPU_ARM920T=y
CONFIG_CPU_32v4=y
CONFIG_CPU_ABRT_EV4T=y
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_FPE_NWFPE=y
CONFIG_BINFMT_ELF=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_CMDLINE="root=/dev/ram0 initrd=0xc0200000,0x00500000 rw console=ttyS0"
CONFIG_ALIGNMENT_TRAP=y
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=8192
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_IOSCHED_NOOP=y
CONFIG_IOSCHED_AS=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_TCPDIAG=y
CONFIG_NETDEVICES=y
CONFIG_INPUT=y
CONFIG_INPUT_MOUSEDEV=y
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_SOUND_GAMEPORT=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
CONFIG_SERIAL_AT91=y
CONFIG_SERIAL_AT91_CONSOLE=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_NOWAYOUT=y
CONFIG_AT91_WATCHDOG=y
CONFIG_EXT2_FS=y
CONFIG_DNOTIFY=y
CONFIG_PROC_FS=y
CONFIG_SYSFS=y
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
CONFIG_TMPFS=y
CONFIG_RAMFS=y
CONFIG_MSDOS_PARTITION=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_INFO=y
CONFIG_FRAME_POINTER=y
CONFIG_DEBUG_USER=y
CONFIG_DEBUG_ERRORS=y
CONFIG_DEBUG_LL=y
CONFIG_CRC32=y
回复

使用道具 举报

 楼主| 发表于 2005-1-10 21:50:26 | 显示全部楼层
非常感谢!我使用的是http://maxim.org.za/AT91RM9200/2.6/上的Patch

另外请问下面这个为什么要注释呢?
  arch/arm/mach-at91rm9200/time.c,照着如下注释两行:
  //do {
  timer_tick(regs);
  AT91_SYS->ST_RTAR = (AT91_SYS->ST_RTAR + LATCH) & AT91C_ST_ALMV;
   //} while (((read_CRTR() - AT91_SYS->ST_RTAR) & AT91C_ST_ALMV) >= LATCH);

如方便的话,能把你用的AT91rm9200DK的手册发给我一份么?我主要想看看他的内存和外设映象。
回复

使用道具 举报

 楼主| 发表于 2005-1-10 22:34:47 | 显示全部楼层
hi,walimis

按照你的指导修改内核(cmdline中ram0改为ram),编译运行后,现象如下:
1, 屏幕没有输出
2, 程序hang在unpack_to_rootfs
可能是什么问题呢?难道是我的initrd(3M)有问题?下面是我dev下的内容,请多指教!多谢!

crw-r--r--    1 root     root       5,   1 Mar 17  2003 console
crw-r--r--    1 root     root       1,   2 Mar 14  2003 kmem
crw-r--r--    1 root     root       1,   1 Mar 14  2003 mem
crw-r--r--    1 root     root       1,   3 Mar 14  2003 null
brw-r--r--    1 root     root       1,   0 Mar 14  2003 ram
crw-r--r--    1 root     root       1,   8 Mar 17  2003 random
crw-r--r--    1 root     root       5,   0 Mar 17  2003 tty
crw-r--r--    1 root     root       4,   0 Mar 14  2003 tty0
crw-r--r--    1 root     root       4,   1 Mar 14  2003 tty1
crw-r--r--    1 root     root     204,  16 Mar 14  2003 ttyAM0
crw-r--r--    1 root     root     204,  17 Mar 17  2003 ttyAM1
crw-r--r--    1 root     root       4,  64 Jan 10 22:08 ttyS0
crw-r--r--    1 root     root       4,  65 Jan 10 22:09 ttyS1
crw-r--r--    1 root     root       1,   9 Mar 17  2003 urandom
crw-r--r--    1 root     root       1,   5 Mar 14  2003 zero
回复

使用道具 举报

发表于 2005-1-11 10:34:38 | 显示全部楼层
下面这句你修改了么:
#define AT91C_UART_MAP { 0, 4, -1, -1, -1 } /* ttyS0, ..., ttyS4 */

另外,你尝试把devfs打开。initrd 3M多,没有什么问题。
回复

使用道具 举报

 楼主| 发表于 2005-1-12 09:24:20 | 显示全部楼层
我都修改了,现在屏幕有输出了

但是还是hang在了unpack_to_rootfs,跟踪进去发现当运行到了create_workqueue_thread的时候,就跳到了地址0xffff000c上去,然后就不动了,此时屏幕输出是:....initramfs, it is. 为什么呢?

另外在check是不是initramfs的时候,等了好久才说it is. 好像不是很正常的说。
回复

使用道具 举报

发表于 2005-1-12 11:30:46 | 显示全部楼层
你的initrd.img不正常,你还是用一个好的吧。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 14:33 , Processed in 0.080172 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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