免费注册 查看新帖 |

Chinaunix

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

Linux 2.6.28 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-14 21:01 |只看该作者 |倒序浏览
遇到的问题和解决办法:    问题1,机器ID不对:U-Boot$ tftp 30008000 zImageTFTP from server 192.168.7.110; our IP address is 192.168.7.236Filename 'zImage'.Load address: 0x30008000Loading: T #################################################################         ########################################################doneBytes transferred = 1772672 (1b0c80 hex)U-Boot$ go 30008000## Starting application at 0x30008000 ...Uncompressing Linux.................................................................................................................. done, booting the kernel.
Error: unrecognized/unsupported machine ID (r1 = 0x33f61cc4).
Available machine support:
ID (hex)        NAME0000016a        SMDK2440
Please check your kernel config and/or bootloader.
    解决:已经查看了U-Boot的参数,是0x16A,没传错啊:U-Boot$ bdinfoarch_number = 0x0000016Aenv_t       = 0x00000000boot_params = 0x30000100DRAM bank   = 0x00000000-> start    = 0x30000000-> size     = 0x04000000ethaddr     = 00:14:97:0F:AB:ABip_addr     = 192.168.7.236baudrate    = 115200 bps
修改,增加ID代码:"arch/arm/kernel/head.S"
ENTRY(stext)   /********* ABING add here *********/   mov    r0, #0   @mov    r1, #0x16A   mov    r1, #0x160   add    r1, r1, #0x0A   ldr    r2, =0x30000100   /********* end add *********/
        msr     cpsr_c, #PSR_F_BIT | PSR_I_BIT | SVC_MODE @ ensure svc mode
    问题2:zImage出现乱码      解决:修改系统时钟为12M解决。
    问题3:uImage出现复位死机TFTP from server 192.168.7.110; our IP address is 192.168.7.236Filename 'uImage'.Load address: 0x30008000Loading: T #################################################################         ##############################################doneBytes transferred = 1617072 (18acb0 hex)## Booting kernel from Legacy Image at 30008000 ...   Image Name:   Linux-2.6.28   Created:      2009-03-04  22:56:35 UTC   Image Type:   ARM Linux Kernel Image (uncompressed)   Data Size:    1617008 Bytes =  1.5 MB   Load Address: 30008000   Entry Point:  30008000   Verifying Checksum ... OK   XIP Kernel Image ... OKOK
Starting kernel ...
data abortpc : []          lr : []sp : 33f4fca4  ip : 33f4fcb4     fp : 33fbdf70r10: 0000016a  r9 : fff302c1     r8 : 33f4ffdcr7 : 33f4ffb8  r6 : 33fd3200     r5 : 33f51a6d  r4 : 00000000r3 : 30008000  r2 : 30000100     r1 : 0000016a  r0 : ea000012Flags: nZCv  IRQs off  FIQs off  Mode SVC_32Resetting CPU ...
tftp 31000000 uImage; bootm"U-Boot$ saveenvSaving Environment to Flash...Un-Protected 1 sectors
是tftp加载命令的问题,不能加载在0x30008000处,改为0x31000000就可以了。setenv bootcmd "tftp 31000000 uImage; bootm"
S3C2440头文件位置:和以前的有很大变化了,已经移到arch/arm/mach-s3c2410/include/mach/目录下了,在程序中包含改为:#include 即可。
S3C2440GPIO操作范例:GPIO操作函数实现的文件:arch/arm/plat-s3c24xx/gpio.c
void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function)
unsigned int s3c2410_gpio_getcfg(unsigned int pin)
void s3c2410_gpio_pullup(unsigned int pin, unsigned int to)
int s3c2410_gpio_getpull(unsigned int pin)
void s3c2410_gpio_setpin(unsigned int pin, unsigned int to)
unsigned int s3c2410_gpio_getpin(unsigned int pin)
unsigned int s3c2410_modify_misccr(unsigned int clear, unsigned int change)
int s3c2410_gpio_getirq(unsigned int pin)
int s3c2410_gpio_irq2pin(unsigned int irq)
./arch/arm/mach-s3c2440/mach-nexcoder.c:        s3c2410_gpio_setpin(S3C2410_GPF2, 0);./arch/arm/mach-s3c2440/mach-nexcoder.c:        s3c2410_gpio_cfgpin(S3C2410_GPF2, S3C2410_GPF2_OUTP); // CAM_GPIO6 => CAM_PWRDN./arch/arm/mach-s3c2440/mach-osiris.c:  s3c2410_gpio_setpin(S3C2410_GPA21, 1);./arch/arm/mach-s3c2440/mach-osiris.c:  s3c2410_gpio_cfgpin(S3C2410_GPA21, S3C2410_GPA21_OUT);./arch/arm/mach-s3c2440/mach-osiris.c:  s3c2410_gpio_cfgpin(S3C2410_GPA21, S3C2410_GPA21_nRSTOUT);./arch/arm/mach-s3c2440/mach-osiris.c:          s3c2410_gpio_setpin(S3C2410_GPA0, 1);./arch/arm/mach-s3c2442/Kconfig:        select S3C2410_GPIO./arch/arm/plat-s3c24xx/common-smdk.c:  .gpio           = S3C2410_GPF4,./arch/arm/plat-s3c24xx/common-smdk.c:  .gpio           = S3C2410_GPF5,./arch/arm/plat-s3c24xx/common-smdk.c:  .gpio           = S3C2410_GPF6,./arch/arm/plat-s3c24xx/common-smdk.c:  .gpio           = S3C2410_GPF7,./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_cfgpin(S3C2410_GPF4, S3C2410_GPF4_OUTP);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_cfgpin(S3C2410_GPF5, S3C2410_GPF5_OUTP);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_cfgpin(S3C2410_GPF6, S3C2410_GPF6_OUTP);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_cfgpin(S3C2410_GPF7, S3C2410_GPF7_OUTP);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_setpin(S3C2410_GPF4, 1);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_setpin(S3C2410_GPF5, 1);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_setpin(S3C2410_GPF6, 1);./arch/arm/plat-s3c24xx/common-smdk.c:  s3c2410_gpio_setpin(S3C2410_GPF7, 1);
中断设置变化#include
        set_irq_handler(IRQ_EINT0, handle_edge_irq);  /* NET_INT*/        set_irq_type(IRQ_EINT0, IRQ_TYPE_EDGE_FALLING);    /* NET_INT, AX88796B,LOW */
AX88796B网卡驱动经过复杂的修改之后,能够注册并且能够使用IP-Config进行配置了,NFS提示正确信息。但是无法NFS挂载,而且无法ping通开发板。ping的时候没有进入中断,后来怀疑是中断设置的问题,于是在ax_init函数中增加了中断设置:        writeb (0x20, ax_base + EN0_BTCR); //Low level INT , pull-up
然后就可以了。
YAFFS2文件系统[root@localhost yaffs2]# ./patch-ker.sh c ../linux-2.6.28Updating ../linux-2.6.28/fs/KconfigUpdating ../linux-2.6.28/fs/Makefile[root@localhost yaffs2]#
kill_proc./drivers/staging/slicoss/slicoss.c:                    status = kill_proc(card->dump_task_id->pid, SIGKILL, 1);
OProfile支持如果希望使用oprofile等工具对应用程序进行分析,需要在内核中使能oprofile选项,一般在gerneral设置栏中。
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/51797/showart_2070518.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP