2012年4月4日 星期三

linux yaffs2

先參考↓
http://blog.chinaunix.net/uid-20543672-id-94385.html

http://topic.csdn.net/u/20101121/22/bfdfa3e3-121f-48b4-bf59-886c1e907260.html

打補丁

將 linux 內核 跟 yaffs2 放置同層區

tekkaman@MAGI-Linux:~/development/yaffs2$ ./patch-ker.sh c m ../linux-2.6.33.3/

打補丁
 ----------------------------------------------------------
出現問題

[scripts/kconfig/dochecklxdialog] Error 1

因為沒有安裝 ncurses
 
#sudo apt-get install ncurses-dev
或者
#sudo apt-get install libncurses5-dev

參考
http://nckuhuahua.pixnet.net/blog/post/26368434-%E5%A6%82%E4%BD%95%E8%A3%BD%E4%BD%9Ckernel----%E4%BB%A5andes-adp-ag101%E7%82%BA%E4%BE%8B

http://lagunawang.pixnet.net/blog/post/22826895-ubuntu-%E7%9A%84-ncurses

----------------------------------
 下指令
 make ARCH=arm CROSS_COMPILE=arm-tekkaman-linux-gnueabi- 
出現錯誤

[kernel/bounds.s] Error 127
[prepare0]
因為編譯器不是 arm-tekkaman 的
所以指令改成 自己的版本
make ARCH=arm CROSS_COMPILE=arm-linux-

-------------------------------------
編譯好的核心 在 arch/arm/boot/zImage

2012年3月13日 星期二

U-B 問題暫存

http://blog.chinaunix.net/space.php?uid=20788636&do=blog&id=1841275

----------------------------------------

#if defined (CONFIG_S3C2440)
/* NAND FLASH (see S3C2440 manual chapter 6) */
typedef struct {
         S3C24X0_REG32 NFCONF;
         S3C24X0_REG32 NFCONT;
         S3C24X0_REG32 NFCMD;
         S3C24X0_REG32 NFADDR;
         S3C24X0_REG32 NFDATA;
         S3C24X0_REG32 NFMECC0;
         S3C24X0_REG32 NFMECC1;
         S3C24X0_REG32 NFSECC;
         S3C24X0_REG32 NFSTAT;
         S3C24X0_REG32 NFESTAT0;
         S3C24X0_REG32 NFESTAT1;
         S3C24X0_REG32 NFECC;
} /*__attribute__((__packed__))*/ S3C2410_NAND;
#endif


-------------------------------------
/cpu/arm920t/s3c24x0/speed.c

#if defined(CONFIG_S3C2440)
    if (clk_power->CLKDIVN & 0x6)
                            {
                            if ((clk_power->CLKDIVN & 0x6)==2) return(get_FCLK()/2);
                            if ((clk_power->CLKDIVN & 0x6)==6) return((clk_power->CAMDIVN & 0x100) ? get_FCLK()/6 : get_FCLK()/3);
                            if ((clk_power->CLKDIVN & 0x6)==4) return((clk_power->CAMDIVN & 0x200) ? get_FCLK()/8 : get_FCLK()/4);
             return(get_FCLK());
                            }

       else return(get_FCLK());
#else

    return((clk_power->CLKDIVN & 0x2) ? get_FCLK()/2 : get_FCLK());
#endif


------------------------------------------------

/cpu/arm920t/s3c24x0/timer.c

 33行
 
#if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_TRAB) || defined (CONFIG_S3C2440)
 
37行
 
#elif defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440)
 
180行
 
defined(CONFIG_mini2440) || \

------------------------------------------------------------------