²©¿ÍÊ×Ò³ ×¢²á ½¨ÒéÓë½»Á÷ ÅÅÐаñ ¼ÓÈëÓÑÇéÁ´½Ó
ÍÆ¼ö ͶËß ËÑË÷£º °ïÖú

CalmArrow

¡¾´òºÃ»ù´¡¡¿È«Á¦ÒÔ¸°£¬Ë³Æä×ÔÈ»¡¾Ã¿Ìì½ø²½Ò»µãµã¡¿
  piaoxiang.cublog.cn

¹ØÓÚ×÷Õß
ÐÕÃû£ºCalmArrow£¨lqm£©
Ö°Òµ£ºË¶Ê¿ÔÚ¶Á
λÖãºÉ½¶«¼ÃÄÏ
Ñо¿£ºÇ¶ÈëʽϵͳÉè¼Æ
ÁªÏµ£ºcalmarrow@gmail.com

ÐÅÑö£º
    1¡¢ÓÀÔ¶±£³Ö»ý¼«ÏòÉÏ£¨»ý¼«µÄÐÄ̬£¬»ý¼«µÄ˼¿¼£¬»ý¼«µÄÐж¯£©£¬ÏíÊÜÉú»î¸øÓèµÄÒ»ÇУ¡
    2¡¢×öÕýÈ·µÄÊ£¬ÕýÈ·µÄ×öÊ£»ÓÃÐÄÈ¥×ö£¬×öµ½×îºÃ£¡
    3¡¢Èç¹ûÄã¾õµÃ²»ÐÒ¸££¬ÄÇôÇëÄã°ÑÐÒ¸£µÄÃż÷½µµÍһЩ£¬²»Òª°ÑÐÒ¸£¾ÜÖ®ÃÅÍâ¡£¡£¡£

·½Ïò£º
    ÔÚǶÈëʽϵͳÉè¼ÆÖиÐÐËȤµÄ·½ÏòÓУºARM¡¢Linux¡¢ÍøÂçͨÐÅ

Ä¿±ê£º
    ÈíÓ²½áºÏ£¬´òºÃ»ù´¡£¬Ìá¸ßѧϰÄÜÁ¦£¬ÍêÉÆÖªÊ¶Ìåϵ£¬½¨Á¢ºËÐÄÓÅÊÆ¡£

·½·¨£º
    ÀíÂÛÓëʵ¼ùÏà½áºÏ
    Éî¶ÈÓë¹ã¶ÈÏà½áºÏ
    Àí½âÓë¼ÇÒäÏà½áºÏ

˵Ã÷£º
    ±¾Blog½ö¹©Ñ§Ï°Ö®Óã¬×ªÔØÎÄÕÂÈçÉæ¼°°æÈ¨£¬Çë֪ͨ¡£Ô­´´×÷Æ·Èç×ªÔØ£¬Çë×¢Ã÷³ö´¦¡£
|| << >> ||
ÎҵķÖÀà


vivi¿ª·¢±Ê¼Ç¡¾×¨¼­¡¿

ÎÄÕÂ˵Ã÷£ºcalmarrow£¨lqm£©Ô­´´

ÎÄÕÂÒý×Ô£ºhttp://piaoxiang.cublog.cn

 
2007-07-21
 
    ½ñÌì°Ñvivi±àÒëÁËһϣ¬Ë³±ã½â¾öÁ˼¸¸öÎÊÌâ¡£ËãÊdzõ²½¹¤×÷°É£¬ÏÂÒ»²½´òËã¶ÁviviµÄÔ´´úÂ룬Ȼºó¸ÄÔìһϣ¬×îºóÕùÈ¡×Ô¼ºÍê³ÉÒ»¸öСµÄbootloader¡£
 
×¼±¸¹¤×÷£¨ÕâЩ¶¼ÊÇ»ùÓÚEDUKIT-III½Ìѧƽ̨£¬ËäÈ»¿ª·¢¹¤¾ßÉÏÓÐЩ²»Í¬£¬µ«ÊÇÔ­ÀíºÍÁ÷³ÌÉÏÊÇÏàͬµÄ¡£ÏàÐÅÀí½âÁËǶÈëʽϵͳ¿ª·¢Á÷³ÌÖ®ºó£¬¶ÔÕâЩ¾Í»áÓкÜÇåÎúµÄÈÏʶ£©£º
 
1£©ÏÂÔØNand_Prog.ide.binµ½nor flash¡£Õâ²½¹¤×÷ÊÇΪÉÕдnand flash×ö×¼±¸µÄ¡£ÎªÊ²Ã´²»ÀûÓ÷ÂÕæÆ÷Ö±½ÓÉÕдnand flashÄØ£¿Àí½âÁËJTAGµÄÔ­Àíºó£¬¶ÔÕâ²½¹¤×÷²»ÄÑÀí½â¡£nand flashºÍnor flashÊDz»Í¬µÄ£¬nand flashµÄÉÕдÐèÒªECCËã·¨µÈ£¬±È½Ï¸´ÔÓ¡£ÏÖÔÚµÄÕâ¸ö·ÂÕæÆ÷²»Ö§³Ö£¬ËùÒԾͲ»ÄÜÀûÓÃJTAGÀ´Ö±½ÓÉÕдÁË¡£µ±È»£¬Èç¹ûÔÚ·ÂÕæÆ÷Ö§³ÖÈí¼þÖмÓÈë¶Ônand flashÉÕдµÄÖ§³Ö£¬Õâ²½¹¤×÷¾ÍʡȥÁË¡£¾ÍÎÒËùÖª£¬¹úÄÚfoxICEÒѾ­¿ÉÒÔÖ§³ÖÖ±½ÓÉÕдnand flashÁË¡£
 
2£©¿ª·¢»·¾³
    »¹ÊÇwindowsXP+VMware+redhat 9¡£Ô­À´Ñ§Ï°at91rm9200µÄʱºò£¬¿ª·¢»·¾³¶¼ÒѾ­´î½¨ºÃÁË£¬¿ª·¢¹¤¾ßÒ²±È½ÏÆëÈ«¡£
 
3£©Ä¿±ê
    ÒÆÖ²ºÃµÄviviÄÜÖ§³Ö´Ónand flashÆô¶¯£¬²âÊÔÄÚÖõÄÃüÁîÕý³££¬ÀûÓÿª·¢°åÔ­À´µÄÄÚºËÓ³ÏóºÍÎļþϵͳÄܹ»ÅÜÆðÀ´¡£vivi±Ï¾¹ÊÇÒ»¸ö±È½ÏСÇɵÄbootloader£¬¹¦ÄÜÓÐÏÞ£¬Ê¹ÓÃÉÏ¿ÉÄÜÓв»·½±ãµÄµØ·½£¬ËùÒÔ£¬¿ÉÒÔ¿¼ÂÇÔÚ´Ë»ù´¡ÉÏ£¬¶ÁÔ´´úÂ룬ȻºóÔö¼ÓtftpÏÂÔØ¹¦ÄÜ¡£
 
¿ªÊ¼¹¤×÷
 
1£©ÏÂÔØvivi
 
   ÎÒʹÓÃEDUKIT-III¹âÅÌÖÐÌṩµÄvivi-20060929.tar.gz¡£½âѹ²»±ØÏ¸Ëµ£¬ÏÂÃæ¾Í¿ªÊ¼Ð޸ġ£ÏÂÃæµÄÐ޸ķ½°¸ÊÇ»ùÓÚÍøÉÏÌû×Ó£¬ÒòΪ»¹Ã»ÓÐ×Ðϸ·ÖÎöÔ´´úÂ룬ËùÒÔÓÐЩµØ·½»¹²»ÄÜÀí½âÇåÎú£¬ÕâÀïµÄÒÆÖ²ÊÇΪÁË»ñµÃÖ±¹ÛµÄÓ¡Ïó£¬Èç¹ûÒªÏëµÃµ½¼¼ÊõˮƽµÄÌáÉý£¬ÄÇ»¹ÊǵÃÉîÈë·ÖÎöviviÔ´´úÂ룬¿´¿´ÕâÒ»Çо¿¾¹ÊÇÈçºÎÍê³ÉµÄ¡£
 
2£©ÐÞ¸ÄMakefile
    ÒòΪ¹úÄڴ󲿷ÖS3C2410µÄÉè¼Æ¶¼Êdz­Ï®smdk2410£¬ËùÒÔviviµÄÒÆÖ²Ïà¶ÔÀ´Ëµ£¬¹¤×÷Á¿ºÜС£¬Ö»ÐèÒª¸ü¸Ä¿ª·¢¹¤¾ßµÄ¼¸¸öºê¾Í¿ÉÒÔÁË¡£µ±È»£¬Èç¹ûÏëÒªÔö¼Ó¹¦ÄÜ£¬Ôò¸Ä¶¯¿ÉÄÜ»á´óÒ»µã¡£
 
Ö»Òª¸ü¸ÄÈçÏ£º
LINUX_INCLUDE_DIR -- ¸ü¸ÄΪ½»²æ±àÒëÆ÷µÄincludeÎļþ¼Ð
CROSS_COMPILE     -- ½»²æ±àÒëÆ÷µÄ¿ÉÖ´ÐÐÎļþµÄ·¾¶
ARM_GCC_LIBS      -- ½»²æ±àÒëÆ÷µÄlib¿âÎļþµÄ·¾¶
 

################## Modified Start ####################################
# Data : 2007-07-21
# Modified by Liu Qingmin <piaoxiangxinling@163.com>

#
# change this to point to the Linux include directory
#

# orginal setup
#LINUX_INCLUDE_DIR = /opt/host/armv4l/include/

# my setup
LINUX_INCLUDE_DIR = /usr/local/arm/2.95.3/include

################# Modified End ######################################

################## Modified Start ####################################
# Data : 2007-07-21
# Modified by Liu Qingmin <piaoxiangxinling@163.com>

# orginal setup
#CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-redhat-linux-
#CROSS_COMPILE = /opt/host/armv4l/bin/armv4l-unknown-linux-

# my setup
CROSS_COMPILE = /usr/local/arm/2.95.3/bin/arm-linux-

################# Modified End ######################################

################## Modified Start ####################################
# Data : 2007-07-21
# Modified by Liu Qingmin <piaoxiangxinling@163.com>

#
# Location of the gcc arm libs.
#

# orginal setup
#ARM_GCC_LIBS = /opt/host/armv4l/lib/gcc-lib/armv4l-unknown-linux/2.95.2
#ARM_GCC_LIBS = /opt/host/armv4l/lib/gcc-lib/armv4l-redhat-linux/2.95.3

# my setup
ARM_GCC_LIBS = /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3

################# Modified End ######################################

 
    ÕâЩ¶¼±È½Ï¼òµ¥¡£
 
3£©ÐÞ¸Äarch/s3c2410/smdk.c
    Ö÷ÒªÊÇÐÞ¸Änand flash·ÖÇøÐÅÏ¢¡£
 

#ifdef CONFIG_S3C2410_NAND_BOOT
mtd_partition_t default_mtd_partitions[] = {
        {
                name:           "vivi",         /* 128K, 1-8 sector             */
                offset:         0,
                size:           0x00020000,
                flag:           0
        }, {
                name:           "param",        /* 64K, 9-12 sector             */
                offset:         0x00020000,
                size:           0x00010000,
                flag:           0
        }, {
                name:           "kernel",       /* 2M+832K, 12-192 setctor      */
                offset:         0x00030000,
                size:           0x002d0000,
                flag:           0
        }, {
                name:           "root",         /* 29M, 193-2048 sector         */
                offset:         0x00300000,
                size:           0x01d00000,
                flag:           MF_BONFS
        }
};

 
    ÕâÀïÓöµ½ÁËbon·ÖÇøÓëmtd·ÖÇøµÄÒÉ»ó£¬ÔÚ·ÖÎöviviÔ´´úÂëʱÔÚÉîÈë·ÖÎö¡£ÉÏÃæÎļþÅäÖõÄÖ»ÊÇmtd·ÖÇø£¬Õâ¸ö¿ÉÒÔÓÃpart showÀ´²é¿´¡£
 
4£©±àÒëÉÕд
 
    д¸ö¼òµ¥µÄÅú´¦Àí½Å±¾procedure¡£ÒÔ±ãºóÐø¹¤×÷µÄ·½±ã¡£¡¾ºóÀ´·¢ÏÖ£¬vivi±¾Éí¾ÍÌṩÁËÕâÑùµÄ²Ù×÷£¬ËùÒÔÕâ¸öСµÄ½Å±¾ÊÇûÓбØÒª±àдµÄ¡£ÕâÒ»µã»áÔÚMakefile·ÖÎöʱ¸ø³ö¡¿
 

[root@lqm vivi]# cat procedure
#!/bin/sh

make myboard_config && make oldconfig && make vivi && cp -f vivi /mnt/hgfs/common/

   
    ÉÕдvivi£¬Õý³£¡£µ«ÊÇ·äÃùÆ÷Ò»Ö±ÔÚÏì¡£ÓÚÊÇÏëÔÚviviÖÐÌí¼Ó´úÂ룬¹Øµô·äÃùÆ÷£¬Í¬Ê±ÀûÓÿª·¢°åÉϵÄËĸöָʾµÆ×öÒ»¸öÅÜÂíµÆµÄС³ÌÐò¡£ÓÚÊÇÐÞ¸Äarch/s3c2410/head.S:
 

@@@@@@@@@@@@@@@@@@ Modified Start @@@@@@@@@@@@@@@@@@@@@
        mov r0, #10               @ rotate 10 times
loop:
        mov r2, #0xdf             @ D1205 led on
        str r2, [r1, #oGPIO_DAT]
        bl delay

        mov r2, #0x7f             @ D1207 led on
        str r2, [r1, #oGPIO_DAT]
        bl delay

        mov r2, #0xef             @ D1204 led on
        str r2, [r1, #oGPIO_DAT]
        bl delay

        mov r2, #0xbf             @ D1206 led on
        str r2, [r1, #oGPIO_DAT]
        bl delay

        subs r0, r0, #1
        bne loop

        mov r2, #0x0f             @ all leds on
        str r2, [r1, #oGPIO_DAT]

        @ buzzer off
        ldr r1, =0x56000010 @ GPBCON
        ldr r2, =0x155559
        str r2, [r1]
        ldr r2, =0x7ff
        str r2, [r1, #8]
        orr r2, r2, #0x01         @ buzzer off when high voltage(PWM1)
        str r2, [r1, #4]
@@@@@@@@@@@@@@@@@@ Modified End @@@@@@@@@@@@@@@@@@@@@@@@@


/*
 * subroutines
 */

@@@@@@@@@@@@@@@@@@ Modified Start @@@@@@@@@@@@@@@@@@@@@
@
@ led delay
@
delay:
        ldr r3, =0x00080000
wait:
        subs r3, r3, #1
        bne wait

        mov pc, lr

@@@@@@@@@@@@@@@@@@ Modified End @@@@@@@@@@@@@@@@@@@@@

 
    ͨ¹ýsource insight²é¿´´úÂ룬¿ÉÒÔ·ÖÎö³öµÚÒ»Ìõ´òÓ¡ÐÅÏ¢µÄÀ´Ô´init/version.c¡£ÕâÑù£¬just for fun£¬¿ÉÒÔÌí¼Ó×Ô¼ºµÄÆô¶¯ÐÅÏ¢¡£Ö÷ÒªµÄ²ÎÊý¶¼ÊÇÓÐMakefileÀ´Íê³ÉµÄ£¬¶ÁÒ»ÏÂMakefileµÄ´úÂ룬²»ÄÑ·¢ÏÖ¡£
 

[root@lqm init]# cat version.c
/*
 * vivi/lib/version.c
 */


#include "version.h"
#include "compile.h"

const char *vivi_banner =
                       "\n\r\t\t^_^ Well done, boy! Go on --> \n\r\n\r"
                       "VIVI version " VIVI_RELEASE " (" VIVI_COMPILE_BY "@"
                       VIVI_COMPILE_HOST ") (" VIVI_COMPILER ") " UTS_VERSION "\n\r";

 
¡¾×¢£ºÕâÀﻹÓиöСÎÊÌâ¡£¾ÍÊÇÔÚÕâÀïÌí¼ÓµÄʱºò£¬\n\rÒªºÏÆðÀ´Ó㬲»ÄÜÖ»ÓÃ\n¡£Ô­ÒòÈçÏ£º
 
    ¼ÆËã»ú»¹Ã»ÓгöÏÖ֮ǰ£¬ÓÐÒ»ÖÖ½Ð×öµç´«´ò×Ö»ú£¨Teletype Model 33£©µÄÍæÒ⣬ÿÃëÖÓ¿ÉÒÔ´ò10¸ö×Ö·û¡£µ«ÊÇËüÓÐÒ»¸öÎÊÌ⣬¾ÍÊÇ´òÍêÒ»Ðл»ÐеÄʱºò£¬ÒªÓÃÈ¥0.2Ã룬ÕýºÃ¿ÉÒÔ´òÁ½¸ö×Ö·û¡£ÒªÊÇÔÚÕâ0.2ÃëÀïÃæ£¬ÓÖÓÐеÄ×Ö·û´«¹ýÀ´£¬ÄÇôÕâ¸ö×Ö·û½«¶ªÊ§¡£
 
    ÓÚÊÇ£¬ÑÐÖÆÈËÔ±ÏëÁ˸ö°ì·¨½â¾öÕâ¸öÎÊÌ⣬¾ÍÊÇÔÚÿÐкóÃæ¼ÓÁ½¸ö±íʾ½áÊøµÄ×Ö·û¡£Ò»¸ö½Ð×ö¡°»Ø³µ¡±£¬¸æËß´ò×Ö»ú°Ñ´òÓ¡Í·¶¨Î»ÔÚ×ó±ß½ç£»ÁíÒ»¸ö½Ð×ö¡°»»ÐС±£¬¸æËß´ò×Ö»ú°ÑÖ½ÏòÏÂÒÆÒ»ÐС£
 
    Õâ¾ÍÊÇ¡°»»ÐС±ºÍ¡°»Ø³µ¡±µÄÀ´Àú£¬´ÓËüÃǵÄÓ¢ÓïÃû×ÖÉÏÒ²¿ÉÒÔ¿´³öÒ»¶þ¡£
 
    ºóÀ´£¬¼ÆËã»ú·¢Ã÷ÁË£¬ÕâÁ½¸ö¸ÅÄîÒ²¾Í±»°ãµ½Á˼ÆËã»úÉÏ¡£ÄÇʱ£¬´æ´¢Æ÷ºÜ¹ó£¬Ò»Ð©¿ÆÑ§¼ÒÈÏΪÔÚÿÐнáβ¼ÓÁ½¸ö×Ö·ûÌ«ÀË·ÑÁË£¬¼ÓÒ»¸ö¾Í¿ÉÒÔ¡£ÓÚÊÇ£¬¾Í³öÏÖÁË·ÖÆç¡£Unix ϵͳÀÿÐнáβֻÓС°<»»ÐÐ>¡±£¬¼´¡°\n¡±£»WindowsϵͳÀïÃæ£¬Ã¿ÐнáβÊÇ¡°<»»ÐÐ><»Ø³µ>¡±£¬¼´¡°\ n\r¡±£»MacϵͳÀÿÐнáβÊÇ¡°<»Ø³µ>¡±¡£Ò»¸öÖ±½Óºó¹ûÊÇ£¬Unix/MacϵͳϵÄÎļþÔÚWindowsÀï´ò¿ªµÄ»°£¬ËùÓÐÎÄ×Ö»á±ä³ÉÒ»ÐУ»¶øWindowsÀïµÄÎļþÔÚUnix/MacÏ´ò¿ªµÄ»°£¬ÔÚÿÐеĽáβ¿ÉÄÜ»á¶à³öÒ»¸ö^M·ûºÅ¡£
 
    Õ⼸¸öµØ·½ÎÒ¶¼Óöµ½¹ý£¬²»¹ýһֱûÓиãÇå³þ¡£ÏÖÔÚ²ÅËãÊÇÕÒµ½¸ùÔ´ÁË¡£¡¿
 
    Ìí¼ÓÍê³É£¬ÖØÐÂÖ´ÐÐprocedure¡£Íê³ÉÉÕд£¬²âÊÔÈçÏ£º
 

^_^ Well done, Go on -->

VIVI version 0.1.4 (root@lqm) (gcc version 2.95.3 20010315 (release)) #0.1.4 ÈÕ 7ÔÂ 22 10:15:15 CST 2007
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
Could not found stored vivi parameters. Use default vivi parameters.
Press Return to start the LINUX now, any other key for vivi
type "help" for help.
vivi> part show
mtdpart info. (4 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x002d0000 0 2M+832k
root : 0x00300000 0x01d00000 4 29M
vivi>

   
    È»ºóÖ´ÐÐbon·ÖÇø£º
 

vivi> bon part 0 192K 3M
doing partition
offset = 0
flag = 0
offset = 196608
flag = 0
offset = 3145728
flag = 0
check bad block
part = 0 end = 196608
part = 1 end = 3145728
part = 2 end = 33554432
part0:
        offset = 0
        size = 196608
        bad_block = 0
part1:
        offset = 196608
        size = 2949120
        bad_block = 0
part2:
        offset = 3145728
        size = 30392320
        bad_block = 0
vivi>

 
    ÖØÐÂÉÕдvivi£¬×¢ÒâÕâ¸öʱºò²»Òª¶Ïµç¡£
 

vivi> load flash vivi x
Ready for downloading using xmodem...
Waiting...

ÕýÔÚ¿ªÊ¼ xmodem ´«Êä¡£ °´ Ctrl+C È¡Ïû¡£
ÕýÔÚ´«Êä vivi...
  100% 67 KB 6 KB/s 00:00:10 0 ´íÎó

Downloaded file at 0x30000000, size = 69376 bytes
Found block size = 0x00014000
Erasing... ... done
Writing... ... done
Written 69376 bytes
vivi>

 
    ¼ì²é·ÖÇøÇé¿ö£º

vivi> part show
mtdpart info. (4 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x002d0000 0 2M+832k
root : 0x00300000 0x01d00000 4 29M
vivi> bon part show
BON info. (3 partitions)
No: offset size flags bad
---------------------------------------------
 0: 0x00000000 0x00030000 00000000 0 192k
 1: 0x00030000 0x002d0000 00000000 0 2M+832k
 2: 0x00300000 0x01cfc000 00000000 0 28M+1008k
vivi>

 
    ÆäÖУ¬part showÏÔʾµÄÊÇmtd·ÖÇøÐÅÏ¢£¬¸úsmdk.cÎļþµÄÅäÖÃÏàͬ¡£bon part showÏÔʾµÄbon·ÖÇøÐÅÏ¢£¬×¢Òâµ½×îºóÒ»¸ö·ÖÇøÉÙÁËÒ»¸öÉÈÇø16K£¬ÒòΪbonÃüÁî°Ñbon·ÖÇøÐÅÏ¢±í´æ´¢ÔÚ×îºóÒ»¸öÉÈÇøÁË¡£
 
    ÉÕдÄÚºËÓ³ÏóºÍÎļþϵͳ£º
 

vivi> load flash kernel x
Ready for downloading using xmodem...
Waiting...

ÕýÔÚ¿ªÊ¼ xmodem ´«Êä¡£ °´ Ctrl+C È¡Ïû¡£
ÕýÔÚ´«Êä zImage...
  100% 646 KB 7 KB/s 00:01:25 0 ´íÎó

Downloaded file at 0x30000000, size = 661760 bytes
Found block size = 0x000a4000
Erasing... ... done
Writing... ... done
Written 661760 bytes
vivi> ÿÿ?

                ^_^ Well done, Go on -->

VIVI version 0.1.4 (root@lqm) (gcc version 2.95.3 20010315 (release)) #0.1.4 ÈÕ 7ÔÂ 22 10:15:15 CST 2007
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
Found saved vivi parameters.
Press Return to start the LINUX now, any other key for vivi
Copy linux kernel from 0x00030000 to 0x30008000, size = 0x002d0000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0"
MACH_TYPE = 193
NOW, Booting Linux......
Uncompressing Linux............................................... done, booting the kernel.
Linux version 2.4.18-rmk7-pxa1 (root@lqm) (gcc version 2.95.3 20010315 (release)) #1 Fri Jul 20 15:12:44 CST 2007
CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0
Machine: Embest EduKit II (S3C2410x)
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0
DEBUG: timer count 15626
Console: colour dummy device 80x30
Calibrating delay loop... 99.94 BogoMIPS
Memory: 64MB = 64MB total
Memory: 62880KB available (1229K code, 296K data, 60K init)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
CPU clock = 200.000 Mhz, HCLK = 100.000 Mhz, PCLK = 50.000 Mhz
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
ttyS%d0 at I/O 0x50000000 (irq = 52) is a S3C2410
ttyS%d1 at I/O 0x50004000 (irq = 55) is a S3C2410
ttyS%d2 at I/O 0x50008000 (irq = 58) is a S3C2410
Console: switching to colour frame buffer device 30x40
Installed S3C2410 frame buffer
pty: 256 Unix98 ptys configured
s3c2410-ts initialized
S3C2410 Real Time Clock Driver v0.1
block: 128 slots per queue, batch=32
eth0: cs8900 rev K(3.3 Volts) found at 0xd0000300
cs89x0 media RJ-45, IRQ 37
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
bon0: 00000000-00030000 (00030000) 00000000
bon1: 00030000-00300000 (002d0000) 00000000
bon2: 00300000-01ffc000 (01cfc000) 00000000
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
cramfs: wrong magic
FAT: bogus logical sector size 65535
Kernel panic: VFS: Unable to mount root fs on 61:02


vivi> load flash root x
Ready for downloading using xmodem...
Waiting...

ÕýÔÚ¿ªÊ¼ xmodem ´«Êä¡£ °´ Ctrl+C È¡Ïû¡£
ÕýÔÚ´«Êä root.cramfs...
  100% 1104 KB 7 KB/s 00:02:22 0 ´íÎó

Downloaded file at 0x30000000, size = 1130496 bytes
Found block size = 0x00114000
Writing... size = 1130496
bad_block = 0
 ... done
Written 1130496 bytes
vivi>

vivi> ÿ

                ^_^ Well done, Go on -->

VIVI version 0.1.4 (root@lqm) (gcc version 2.95.3 20010315 (release)) #0.1.4 ÈÕ 7ÔÂ 22 10:15:15 CST 2007
MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
Found saved vivi parameters.
Press Return to start the LINUX now, any other key for vivi
Copy linux kernel from 0x00030000 to 0x30008000, size = 0x002d0000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0"
MACH_TYPE = 193
NOW, Booting Linux......
Uncompressing Linux............................................... done, booting the kernel.
Linux version 2.4.18-rmk7-pxa1 (root@lqm) (gcc version 2.95.3 20010315 (release)) #1 Fri Jul 20 15:12:44 CST 2007
CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0
Machine: Embest EduKit II (S3C2410x)
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0
DEBUG: timer count 15626
Console: colour dummy device 80x30
Calibrating delay loop... 99.94 BogoMIPS
Memory: 64MB = 64MB total
Memory: 62880KB available (1229K code, 296K data, 60K init)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
CPU clock = 200.000 Mhz, HCLK = 100.000 Mhz, PCLK = 50.000 Mhz
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
ttyS%d0 at I/O 0x50000000 (irq = 52) is a S3C2410
ttyS%d1 at I/O 0x50004000 (irq = 55) is a S3C2410
ttyS%d2 at I/O 0x50008000 (irq = 58) is a S3C2410
Console: switching to colour frame buffer device 30x40
Installed S3C2410 frame buffer
pty: 256 Unix98 ptys configured
s3c2410-ts initialized
S3C2410 Real Time Clock Driver v0.1
block: 128 slots per queue, batch=32
eth0: cs8900 rev K(3.3 Volts) found at 0xd0000300
cs89x0 media RJ-45, IRQ 37
NAND device: Manufacture ID: 0xec, Chip ID: 0x75 (Samsung KM29U256T)
bon0: 00000000-00030000 (00030000) 00000000
bon1: 00030000-00300000 (002d0000) 00000000
bon2: 00300000-01ffc000 (01cfc000) 00000000
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
VFS: Mounted root (cramfs filesystem).
Mounted devfs on /dev
Freeing init memory: 60K
mount /etc as ramfs
re-create the /etc/mtab entries
init started: BusyBox v1.00 (2005.06.09-02:02+0000) multi-call binary
Starting pid 17, console /dev/console: '/etc/init.d/rcS'
 
Embest Embedded Linux Development Paltform.
 
Default board ip: 192.192.192.190
To change the ip addr: ifconfig eth0 new_board_ip
 
Start the web server: http:
//(board_ip)/index.htm

To connect the NFS server, please type like:
   mkdir /etc/var/nfs
   mount -t nfs nfs_server_ip:/home/app /etc/var/nfs -o nolock
To use the USB disc(insert first), please type like:
   mount /dev/sda /mnt/udisk _OR_ mount /dev/sda1 /mnt/udisk

Please press Enter to activate this console.
Starting pid 42, console /dev/console: '/bin/sh'
~ # ls
bin etc linuxrc proc tmp var
dev lib mnt sbin usr
~ #

 
    Ò»ÇÐÕý³£¡£

¡¤vivi¿ª·¢±Ê¼Ç£¨Ò»£©£ºÑ§Ï°¼Æ»®
¡¤vivi¿ª·¢±Ê¼Ç£¨¶þ£©£ºÈí¼þ¼Ü¹¹·ÖÎö
¡¤vivi¿ª·¢±Ê¼Ç£¨Èý£©£ºMakefileÏê½â
¡¤vivi¿ª·¢±Ê¼Ç£¨ËÄ£©£ºÅäÖûúÖÆ·ÖÎö
¡¤vivi¿ª·¢±Ê¼Ç£¨Î壩£ºGPIOʵÑé
¡¤vivi¿ª·¢±Ê¼Ç£¨Áù£©£ºGNU Tools¿ª·¢¹¤¾ß×ÛÊö
¡¤vivi¿ª·¢±Ê¼Ç£¨Æß£©£ºGNU AS»ù±¾Ê¹Ó÷½·¨
¡¤vivi¿ª·¢±Ê¼Ç£¨°Ë£©£ºGNU LD»ù±¾Ó÷¨
¡¤vivi¿ª·¢±Ê¼Ç£¨¾Å£©£ºSDRAMʵÑé
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®£©£ºnand flashÓëuartʵÑé
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Ò»£©£ºÖжϺÍtimerʵÑé
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®¶þ£©£ºMMU·ÖÎö
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Èý£©£ºclock
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®ËÄ£©£ºviviÔ´´úÂë·ÖÎö1
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Î壩£ºviviÔ´´úÂë·ÖÎö2
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Áù£©£ºviviÔ´´úÂë·ÖÎö3
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Æß£©£ºviviÓëLinux kernelµÄ²ÎÊý´«µÝÇé¾°·ÖÎö£¨ÉÏ£©
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®Æß£©£ºviviÓëLinux kernelµÄ²ÎÊý´«µÝÇé¾°·ÖÎö£¨Ï£©
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®°Ë£©£ºbootloader¿ª·¢½×¶Î×ܽá
¡¤vivi¿ª·¢±Ê¼Ç£¨¶þÊ®£©£ºviviÑÓʱº¯ÊýʵÏÖ²»ºÏÀíÐÔµÄ̽ÌÖ
¡¤vivi¿ª·¢±Ê¼Ç£¨Ê®¾Å£©£ºÖÆ×÷µÄpatch¼¯ºÏ

·¢±íÓÚ£º 2007-07-21£¬ÐÞ¸ÄÓÚ£º 2007-12-02 08:57£¬ÒÑä¯ÀÀ5957´Î£¬ÓÐÆÀÂÛ27Ìõ ÍÆ¼ö ͶËß


ÍøÓÑÆÀÂÛ
ÍøÓÑ£º piaoxiang ʱ¼ä£º2007-07-28 08:14:44 IPµØÖ·£º122.4.41.¡ï
2007-07-28
    Í¨¹ýºóÃæµÄviviѧϰ²Å·¢ÏÖ£¬ÎªÊ²Ã´»áÐèÒªLINUX_INCLUDE_DIRÕâ¸öºêÀ´°üº¬Äں˵ÄÍ·Îļþ¡£ºÜ¼òµ¥£¬vivi¾ÍÊÇLinux kernelµÄС¡°¶ùÅ®¡±£¬ÀïÃæÓÐЩCÎļþµÄʹÓÃÈÔÈ»ÓÃÁË¡°<>¡±°üº¬µÄ·½Ê½¡£¶ømizi¹«Ë¾Ã»Óо­¹ý×ÐϸµÄÑéÖ¤·ÖÎö£¬ÈÏΪ¼ÓÉÏÕâ¸öºê¾Í²»»á³öÏÖ±àÒëÎÊÌâ¡£ÓÚÊÇ£¬ÎªÊ²Ã´ÍøÉÏÓеÄÈ˰Ѹú궨ÒåΪ±àÒëÆ÷µÄincludeĿ¼£¬ÓÐЩÈ˰ÑËü¶¨ÒåΪkernelµÄincludeĿ¼£¬±àÒ붼ûÓÐÎÊÌ⣬¾Í²»ÄÑÀí½âÁË¡£Èç¹ûÄã°Ñ¸ÃºêÈ¥µô±àÒ룬ÈÔȻûÓÐÎÊÌ⣨ҲÐíÎÒ²âÊԵIJ»µ½Î»£©¡£µ«ÊÇÎÒ¿¼ÂǵÄÊÇ£¬viviÊÇbootloader£¬Ó¦¸Ã¾ßÓÐÒýµ¼²»Í¬°æ±¾Äں˵ÄÄÜÁ¦£¬ËùÒÔ»¹ÊÇҪͨ¹ý²âÊ԰ѸúêÏà¹ØµÄÄÚÈÝÈ¥³ý±È½ÏºÏÊÊ¡£ÎÒÔÚºóÐø¹¤×÷ÖÐÒѾ­È¥µôÁ˸ú꣬ÔÝʱ»¹Ã»Óз¢ÏÖ±àÒëÎÊÌâ¡£
    ÁíÍ⣬Ôö¼ÓµÄ·äÃùÆ÷¹Ø±ÕµÄ»ã±à³ÌÐòÒ²²»Ì«ºÏÊÊ¡£¹ØÓÚËüµÄ´¦ÀíÓ¦¸ÃÊÇÓÉ[init/main.c]------[arch/s3c2410/smdk.c] board_init()-----set_gpios()À´Íê³ÉµÄ¡£Ò²¾ÍÊÇ˵vGPBCONµÄÖµ²»ºÏÊÊ¡£Ó¦¸ÃÐÞ¸Ä[include/platform/smdk2410.h]ĬÈϵÄ#define vGPBCON            0x00044555¡£ÕâÐèÒª²é¿´Datasheet£¬Á˽âÒ»ÏÂGPBCON¸÷¸öλµÄº¬Ò壬Ȼºó¸ù¾Ý×Ô¼ºµÄ¿ª·¢°å½øÐÐÐ޸ġ£ÆäËûµÄ³õʼ״̬²»ºÏÊÊ£¬Ò²Òª¿¼ÂÇÐ޸ĴËÍ·ÎļþÖеijõʼֵ¡£
    ÐèҪעÒâµÄÒ»¸öСµØ·½ÊÇ£¬ÔÚviviµÄÍ·ÎļþÖУ¬Èç¹û¼Ä´æÆ÷ǰ¼Ó×Öĸv£¬±íʾvalue£¬¼´È¡Öµ¡£Èç¹û¼Ó¸öo£¬Ôò±íʾoffset£¬¼´Æ«ÒÆÖµ¡£ÕâÑù¶Á³ÌÐò¾ÍºÜÈÝÒ×Àí½âÁË¡£
    viviÒ²¾ÍÖð²½ÇåÎúÆðÀ´ÁË¡£

ÍøÓÑ£º spring11 ʱ¼ä£º2007-08-31 23:40:06 IPµØÖ·£º59.78.25.¡ï
дµÃÌ«ºÃÁË£¬ÕâÊÇÎÒ¿´µ½µÄ×îÏêϸµÄһƪ£¡£¡
ºÃÏëתµ½ÎҵİٶȲ©¿ÍÉÏ£¬HOHO£¬²»¹ýÕâôºÃµÄÎÄÕ»¹ÊÇÿ´Î¶¼µ½ÀïÀ´°É£º£©

Blog×÷ÕߵĻظ´:
лл


ÍøÓÑ£º ±¾Õ¾ÍøÓÑ Ê±¼ä£º2007-11-11 01:28:09 IPµØÖ·£º210.72.218.¡ï
Åå·þSuperµÄѧϰ̬¶ÈºÍÉî¶È£¬Ò²ÈÃÎÒ¿´µ½×Ô¼ºµÄºÜ¶à²»×㣬Èç¹ûÄܺÍÄã³ÉΪͬÊ£¬ÕæÊǼþÐÁÊ£º£©Ï£ÍûÔÚÒÔºóµÄÈÕ×ÓÄܺÍÄã¶à¶à½»Á÷£¬ÖØÒªµÄÊÇÏòÄãѧϰ£¬ÎÒ»á¸øÄã·¢ÓʼþµÄ£º£©Çë¶à¹ØÕÕŶ

Blog×÷ÕߵĻظ´:
^_^


ÍøÓÑ£º bob_zhang2004 ʱ¼ä£º2007-11-12 23:28:48 IPµØÖ·£º211.103.74.¡ï
Ì«ºÃÁË£¬ ÎÒÃÇÒ²ÕýÔÚÌÖÂÛÖУ¬ÕýÔڰݶÁÄãµÄÎÄÕ£¬ 

Ò² »¶Ó­µ½ÎÒÃǵÄÌû×Ó£¬´ó¼ÒÒ»ÆðÔÙÌÖÂÛһϣº

http://www.linuxforum.net/forum/showflat.php?Cat=&Board=driver&Number=664503&page=0&view=&sb=&o=&fpart=1&vc=1  

Blog×÷ÕߵĻظ´:
¹²Í¬ÌÖÂÛ¡£


ÍøÓÑ£º bob_zhang2004 ʱ¼ä£º2007-11-13 10:52:18 IPµØÖ·£º58.211.114.¡ï
>> 3¡¢Ö÷ʱÖÓÔ´À´×ÔÍⲿ¾§Õñ»òÕßÍⲿʱÖÓ¡£¸´Î»ºó£¬MPLLËäȻĬÈÏÆô¶¯£¬µ«ÊÇÈç¹û²»ÏòMPLLCONÖÐдÈëvalue£¬ÄÇôÍⲿ¾§ÕñÖ±½Ó×÷ΪϵͳʱÖÓ¡£
>> EDUKIT-IIIµÄÍⲿ¾§ÕñÓÐÁ½¸ö£¬Ò»ÊÇÓÃÓÚϵͳʱÖÓ£¬Îª12MHz£»Ò»¸öÓÃÓÚRTC£¬Îª32.768KHz¡£
>> ÒÔǰʵÑéûÓÐÏòMPLLCONдÈëÊýÖµ£¬ËùÒÔϵͳʱÖÓ¶¼ÊÇ12MHz¡£

>> ´ÓÕâÀïÒ²¿ÉÒÔ·¢ÏÖÒ»¸öÎÊÌ⣬Èç¹ûÍⲿ¾§Õñ¿ªÊ¼Ã»Óк¸ÉÏ£¬ÄÇôϵͳÊÇÎÞ·¨Õý³£Æô¶¯µÄ¡£ÒòΪ°´ÕÕÉÏÊö¹æÔò£¬
>> ¸´Î»ºó»¹Ã»ÓÐдÈëMPLLCON£¬ÕâʱÓÖûÓпÉÒÔʹÓõÄʱÖÓÔ´£¬ËùÒÔ²»»áÆô¶¯¡£Ò²¾ÍÊÇÓ²¼þÍê³Éºó£¬Õâ¸ö12MHzµÄ¾§ÕñÊÇÒ»¶¨Òªº¸Éϵģ¬
>> ²ÅÄܽøÐкóÐøµÄÓ²¼þ²âÊÔ¹¤×÷¡£

ÄúÕâÀïËù˵µÄÍⲿʱÖÓ £¬ ÊÇÖ¸Ê²Ã´ÄØ£¿ ÄÜ·ñ¾Ù¸öÏÖʵÖеÄÀý×Ó¡£ 

1¡·²»ÊÇÒ»°ãÇé¿öÏ£¬ ÓÐÍⲿ¾§Õñ¾Í¹»ÁËÄØ£¿ 
2¡·  >> µ«ÊÇÈç¹û²»ÏòMPLLCONÖÐдÈëvalue£¬ÄÇôÍⲿ¾§ÕñÖ±½Ó×÷ΪϵͳʱÖÓ
ÎÒµÄÒÉÎÊÊÇ£º ÄÇÎÒÒªÊÇÍù MPLLCONдÈëvalue ÄØ£¿ ÄÇË­»á×÷ΪϵͳʱÖÓÄØ£¿      Õâ¸öʱºò 12MHz»¹ÓÐÒâÒåÂð£¿

Blog×÷ÕߵĻظ´:
ÎÒÏ룬Äã¶ÔÓ²¼þ¿ÉÄܲ»ÊǺÜÊìϤ¡£
1¡¢Ê×ÏÈ£¬Ó²¼þϵͳÐèÒªÒ»¸öʱÖÓÐźš£ÎÒÃdz£ÓÃʯӢ¾§Õñ×÷ΪÕâ¸öʱÖÓÐźÅÔ´¡£Äã¿ÉÒÔ¿´¿´ÄãµÄ°å×Ó£¬Ó¦¸ÃÓиöÒø°×ɫñ×ӵĶ«Î÷£¬ÄǾÍÊǾ§Õñ¡£ÔÙÉîÈëÁ˽⣬ÄãÐèÒª¿´¿´¾§ÕñµÄÎïÀíÔ­Àí£¬Á˽âΪʲôÄܹ»²úÉúʱÖÓÐźÅÁË¡£
2¡¢ÎªÁ˲úÉú¸ßƵ£¬ÔÚÓ²¼þÉÏÒ»°ã²ÉÓÃËøÏà»·µç·£¬ÕâÒ²ÊÇ¸ßÆµµç·µÄ֪ʶ¡£¼òµ¥µÄ˵£¬12MHzÈç¹û×÷Ϊһ¼¶Ê±ÖÓÔ´£¬Ö»ÄܲúÉú12MHzµÄÖ÷Ƶ£¬ÒªÏëÌáµ½200MHz£¬ÄǾÍÐèÒª±¶Æµ¡£¾ÍÊÇÏ൱ÓÚ12¡Án£½200.ËøÏà»·µç·Íê³ÉÕâ¸önµÄ×÷Óã¬Õâ¾ÍÊÇMPLLµÄ×÷Óᣵȵ½µÃµ½ÁË200MHzµÄʱÖÓÔ´£¬ÄÇôÏÖÔÚµÄϵͳʱÖÓ¾ÍÊÇ1/£¨200MHz£©ÁË¡£
3¡¢ÒòΪӲ¼þÉè¼ÆµÄÌØµã£¬¾ßÌåµç·¾Í±È½Ï¸´ÔÓÁË¡£¼òµ¥Ëµ£¬ÒªÏëʹMPLLÕæÕýÆð×÷Ó㬾ÍÐèÒªÒ»¸ö´¥·¢Ê¼þ£¬¶øÕâ¸öʼþ¾ÍÊÇÒªÍùMPLLCONÖÐдÈëvalue£¬È·¶¨·ÖƵ±È£¬ÕâÑùµç·²ÅÄܽÓͨ¡££¨Ö÷ÒªÊÇÓ²¼þÉè¼Æ²¿·Ö£¬µç·µÄϸ½ÚÎÒÒ²²»ÊÇÌ«ÇåÎú£¬µ«ÊÇÕâÖÖÉè¼ÆÔÚ51µ¥Æ¬»úµÈÉÏÃæÊǺܹ㷺µÄ¡££©Ò²¾ÍÊÇ˵£¬ÄãûÓÐÀí½âÓ²¼þÉϵÄÉè¼Æ£¬12MHzÊÇ×î³õµÄʱÖÓÔ´°¡£¬¼´Ê¹¾­¹ýÁ˱¶Æµ£¬ÄÇ200MHzÊǶþ¼¶µÄʱÖÓÔ´£¬Õâ¸öʱÖÓÌåϵҲÊÇÒ»¸öÊ÷×´µÄÌåϵ½á¹¹£¬¼ò³ÆÊ±ÖÓÊ÷¡£Èç¹û°Ñ12MHzÈ¥µô£¬ÄÇô200MHzµÄÔ´ÊDz»¿ÉÄܵõ½µÄ¡£
4¡¢¸Õ²Å˵µÄÊÇ12MHzµÄ¾§Õñ£¬ÁíÍ⻹ÓÐÒ»¸ö32.768KHzµÄ¾§Õñ£¬ËûÃǶ¼ÊǾ§Õñ£¬Ö»²»¹ýƵÂʲ»Í¬£¬ÓÃ;Ҳ²»Í¬¡£32.768KHzÓÃÓÚRTC£¬½ö½öÓÃ×÷Õâ¸öÄ¿µÄ¡£ËüµÄÕⲿ·Öµç·ºÍ12MHzµÄÖ÷Ƶµç·ÊDz»Í¬µÄ¡£
5¡¢ÕâÀïµÄÊõÓï¿ÉÄܲ»Ì«ÑϽ÷£¬ËùÒÔ²úÉúÁËÎÊÌâ¡£Íⲿ¾§Õñ¶ÔÓ¦µÄÊÇÆµÂÊf£¬f£½12MHzµÄ»°£¬ÄÇô¶ÔÓ¦µÄʱÖÓ¾ÍÊÇ1/f¡£¶þÕßÔÚ˵·¨ÉÏÊǵÈͬµÄ¡£

¼òµ¥×ܽáһϣ¬Íⲿ¾§ÕñºÍÍⲿʱÖÓʵ¼ÊÊÇÒ»¸ö¶«Î÷£¬Ëµ·¨²»Ì«ÑϽ÷¾ÍÊÇÁË£¬¶¼ÊÇÌṩʱÖÓÊ÷µÄÓ²¼þ×é¼þ¡£¹ØÓÚ¸ßÆµµÄʱÖÓÉè¼ÆÉÏ£¬ÒªÓ÷ּ¶µÄ¹ÛµãÀ´¿¼ÂÇ¡£Ò»¼¶Ê±ÖÓÔ´Ò»°ãÊÇÎïÀíµÄ¾§Õñ£¬Ö±½Ó²úÉú£¬¶þ¼¶Ê±ÖÓÔ´ÔòÊÇͨ¹ýËøÏà»·µç·ת»»²úÉú¡£ºÜÏÔÈ»£¬ÉÙÁËÒ»¼¶ÎïÀí¾§Õñ£¬Ò²¾Í²»¿ÉÄܲúÉú¶þ¼¶¸ßƵʱÖÓÁË¡£Ò»°ãÊǶþ¼¶Éè¼Æ£¬Èç¹ûÊǶ༶£¬¾Í»á³öÏÖʱÖÓͬ²½µÈµÈ±È½Ï¸´ÔÓµÄÎÊÌâÁË¡£


ÍøÓÑ£º bob_zhang2004 ʱ¼ä£º2007-11-14 07:23:34 IPµØÖ·£º211.103.74.¡ï
·Ç³£¸ÐлÄãµÄ»Ø´ð£¬ ÎÒ¶ÔÓ²¼þ¶®µÃ²»¶à£¬ datasheet»¹ÄÜ¿´¶® £¬ ÏÖÔÚ¾ÍÊÇÏëÔÙÉîÈëÁ˽âÒ»ÏÂÓ²¼þÔ­Àí£¬ ÕâÑù¶ÔkernelºÍdriverºÜÓкô¦¡£ 

ÌýÁËÄãµÄ²ûÊö£¬ ÎÒÃ÷°×ÁË¡£ÎÒ×îºóµÄÀí½âÊÇÕâÑùµÄ£º MpllÖ»ÊÇÒ»¸ö±¶ÆµÊä³öµç·£¬ Í¨¹ýËü ¿ÉÒÔ 12MHzµÄÒ»¼¶Ê±ÖÓÊäÈ뱶ƵÊä³ö £¬²úÉú¶þ¼¶Ê±ÖÓ£¬¹©ÆäËûµÄÍâÉèÀ´Ê¹ÓöøÒÑ¡£ 
¶ø MPLLCON ¼Ä´æÆ÷µÄ×÷Óýö½öÊÇÌṩ±¶Æµ²ÎÊý£¬ Óû§±ØÐëдÈ루ÔÚÎÒÃǵĻ·¾³ÖÐÊÇ u-boot³õʼ»¯µÄʱºò£¬Ð´Èë 0x5c040) £¬ÕâÑùMPLL ±¶Æµµç·²ÅÄÜÉúЧ£¬ ²úÉú 200MHzµÄÊä³ö¡£ 

Èç¹ûÓû§²»Ð´Èë MPLLCON ¼Ä´æÆ÷£¨¼´Ê¹ÓÐĬÈÏÖµ£©£¬MPLL¸ù±¾¾Í²»ÉúЧ£¬ Ò²¾ÍûÓжþ¼¶Ê±ÖÓÁË£¬ Ï൱ÓÚ ËùÓеÄÍâÉè¶¼µÃ Ê¹Óà12MHzµÄƵÂÊÁË¡£ 

ËùÒÔÕâÑù¿´ÆðÀ´ £¬ 12MHzµÄÍⲿ¾§Õñ±ØÐ뺸½ÓÉÏ£¬ °´ÄúËù˵ £¬Èç¹ûûº¸ÉÏ £¬ °å×ÓÁ¬Î¨Ò»µÄÒ»¼¶Ê±ÖÓ¶¼Ã»ÓÐÁË£¬ ×ÔÈ»ÎÞ·¨Æô¶¯ÁË¡£ 

++++++++++++++++++++++++++++++++++++++++++++++++

Blog×÷ÕߵĻظ´:
¶Ô£¬¾ÍÊÇÕâ¸öÒâ˼¡£