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