2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> Documentation
2006-08-30 14:10 <DIR> arch
2006-08-30 14:10 <DIR> drivers
2006-08-30 14:10 <DIR> include
2006-08-30 14:10 <DIR> init
2006-08-30 14:10 <DIR> lib
2006-08-30 14:10 <DIR> scripts
2006-08-30 14:10 <DIR> util
2004-05-07 08:48 18,008 COPYING
2004-05-07 08:48 5,540 Makefile
2004-05-07 08:48 4,348 Rules.make
3 File(s) 27,896 bytes
Directory of E:\s3c2410_vivi_r1.1\Documentation
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> html
2004-05-07 08:48 98 .cvsignore
2004-05-07 08:48 7,002 CHANGELOG
2004-05-07 08:48 8,537 Configure.help
2004-05-07 08:48 7,979 Configure.help.en
2004-05-07 08:48 1,301 README
2004-05-07 08:48 4,373 booting.ARM
2004-05-07 08:48 682 compile.txt
2004-05-07 08:48 8,965 guide.txt
2004-05-07 08:48 1,353 optoions.txt
2004-05-07 08:48 1,490 vivi_priv_data.txt
10 File(s) 41,780 bytes
Directory of E:\s3c2410_vivi_r1.1\Documentation\html
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 18,232 guide.html
1 File(s) 18,232 bytes
Directory of E:\s3c2410_vivi_r1.1\arch
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> def-configs
2004-05-07 08:48 2,282 Makefile
2004-05-07 08:48 3,435 config.in
2004-05-07 08:48 2,070 defconfig
2004-05-07 08:48 137 vivi.lds.in
2006-08-30 14:10 <DIR> s3c2410
4 File(s) 7,924 bytes
Directory of E:\s3c2410_vivi_r1.1\arch\def-configs
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 2,070 smdk2410
1 File(s) 2,070 bytes
Directory of E:\s3c2410_vivi_r1.1\arch\s3c2410
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 379 Makefile
2004-05-07 08:48 16,566 head.S
2004-05-07 08:48 4,858 mmu.c
2004-05-07 08:48 1,597 nand_read.c
2004-05-07 08:48 9,077 proc.c
2004-05-07 08:48 2,497 smdk.c
2004-05-07 08:48 3,801 smdk2410_test.c
2004-05-07 08:48 9,069 test.c
8 File(s) 47,844 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> mtd
2004-05-07 08:48 237 Makefile
2006-08-30 14:10 <DIR> serial
1 File(s) 237 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers\mtd
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> maps
2006-08-30 14:10 <DIR> nand
2004-05-07 08:48 506 Config.in
2004-05-07 08:48 284 Makefile
2004-05-07 08:48 12,856 mtdcore.c
2006-08-30 14:10 <DIR> nor
3 File(s) 13,646 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\maps
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 553 Config.in
2004-05-07 08:48 340 Makefile
2004-05-07 08:48 2,683 pxa250_flash.c
2004-05-07 08:48 2,701 s3c2400_flash.c
2004-05-07 08:48 7,570 s3c2410_flash.c
2004-05-07 08:48 2,632 sa1100_flash.c
6 File(s) 16,479 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nand
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 630 Config.in
2004-05-07 08:48 278 Makefile
2004-05-07 08:48 10,376 bon.c
2004-05-07 08:48 5,252 nand_ecc.c
2004-05-07 08:48 26,771 smc_core.c
5 File(s) 43,307 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers\mtd\nor
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 2,000 Config.in
2004-05-07 08:48 265 Makefile
2004-05-07 08:48 29,770 amd_flash.c
2004-05-07 08:48 25,191 cfi_cmdset_0001.c
2004-05-07 08:48 9,777 cfi_probe.c
2004-05-07 08:48 1,007 chipreg.c
2004-05-07 08:48 6,781 gen_probe.c
7 File(s) 74,791 bytes
Directory of E:\s3c2410_vivi_r1.1\drivers\serial
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 955 Config.in
2004-05-07 08:48 324 Makefile
2004-05-07 08:48 1,174 getcmd.c
2004-05-07 08:48 647 getcmd.h
2004-05-07 08:48 6,878 getcmd_ext.c
2004-05-07 08:48 1,530 serial_core.c
2004-05-07 08:48 1,264 term.c
2004-05-07 08:48 4,895 xmodem.c
2004-05-07 08:48 7,204 ymodem.c
9 File(s) 24,871 bytes
Directory of E:\s3c2410_vivi_r1.1\include
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> mtd
2006-08-30 14:10 <DIR> proc
2004-05-07 08:48 691 architecture.h
2004-05-07 08:48 2,835 bitfield.h
2004-05-07 08:48 764 boot_kernel.h
2004-05-07 08:48 3,122 cap.h
2004-05-07 08:48 912 command.h
2004-05-07 08:48 257 compile.h
2004-05-07 08:48 196 config.h
2004-05-07 08:48 106 ctype.h
2004-05-07 08:48 106 errno.h
2004-05-07 08:48 105 flash.h
2004-05-07 08:48 112 getcmd.h
2004-05-07 08:48 694 hardware.h
2004-05-07 08:48 229 heap.h
2004-05-07 08:48 385 io.h
2004-05-07 08:48 441 linkage.h
2004-05-07 08:48 1,087 machine.h
2004-05-07 08:48 3,938 md5.h
2004-05-07 08:48 427 memory.h
2004-05-07 08:48 796 mmu.h
2004-05-07 08:48 114 printk.h
2004-05-07 08:48 1,657 priv_data.h
2004-05-07 08:48 312 processor.h
2004-05-07 08:48 24,247 pxa250.h
2004-05-07 08:48 357 reset_handle.h
2004-05-07 08:48 16,876 s3c2400.h
2004-05-07 08:48 17,357 s3c2410.h
2004-05-07 08:48 17,979 sa1100.h
2004-05-07 08:48 438 serial.h
2004-05-07 08:48 104 setup.h
2004-05-07 08:48 1,130 sizes.h
2004-05-07 08:48 198 time.h
2004-05-07 08:48 125 types.h
2004-05-07 08:48 1,296 vivi.h
2004-05-07 08:48 273 vivi_lib.h
2004-05-07 08:48 328 vivi_string.h
2004-05-07 08:48 115 xmodem.h
2004-05-07 08:48 2,690 ymodem.h
2006-08-30 14:10 <DIR> platform
37 File(s) 102,799 bytes
Directory of E:\s3c2410_vivi_r1.1\include\mtd
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 2,918 amd_flash.h
2004-05-07 08:48 201 bonfs.h
2004-05-07 08:48 11,521 cfi.h
2004-05-07 08:48 1,277 flashchip.h
2004-05-07 08:48 505 gen_probe.h
2004-05-07 08:48 2,632 map.h
2004-05-07 08:48 5,997 mtd.h
2004-05-07 08:48 6,572 nand.h
2004-05-07 08:48 782 nand_ecc.h
2004-05-07 08:48 3,216 nand_ids.h
10 File(s) 35,621 bytes
Directory of E:\s3c2410_vivi_r1.1\include\proc
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 1,773 proc_pxa250.h
2004-05-07 08:48 1,301 proc_s3c2400.h
2004-05-07 08:48 1,803 proc_s3c2410.h
2004-05-07 08:48 1,911 proc_sa1100.h
4 File(s) 6,788 bytes
Directory of E:\s3c2410_vivi_r1.1\include\platform
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 3,654 s3c2410_gen_memmap.h
2004-05-07 08:48 4,417 smdk2410.h
2 File(s) 8,071 bytes
Directory of E:\s3c2410_vivi_r1.1\init
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 263 version.c
2004-05-07 08:48 3,021 main.c
2 File(s) 3,284 bytes
Directory of E:\s3c2410_vivi_r1.1\lib
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> priv_data
2004-05-07 08:48 577 Config_cmd.in
2004-05-07 08:48 350 Makefile
2004-05-07 08:48 10,342 boot_kernel.c
2004-05-07 08:48 8,103 command.c
2004-05-07 08:48 1,321 ctype.c
2004-05-07 08:48 3,332 exec.c
2004-05-07 08:48 2,694 heap.c
2004-05-07 08:48 4,160 load_file.c
2004-05-07 08:48 13,371 md5.c
2004-05-07 08:48 11,374 memory.c
2004-05-07 08:48 11,221 memtst.c
2004-05-07 08:48 4,530 misc.c
2004-05-07 08:48 9,044 printk.c
2004-05-07 08:48 1,218 reset_handle.c
2004-05-07 08:48 3,618 string.c
2004-05-07 08:48 2,267 time.c
16 File(s) 87,522 bytes
Directory of E:\s3c2410_vivi_r1.1\lib\priv_data
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 419 Config.in
2004-05-07 08:48 87 Makefile
2004-05-07 08:48 7,612 mtdpart.c
2004-05-07 08:48 6,685 param.c
2004-05-07 08:48 5,853 rw.c
5 File(s) 20,656 bytes
Directory of E:\s3c2410_vivi_r1.1\scripts
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2006-08-30 14:10 <DIR> lxdialog
2004-05-07 08:48 12,287 Configure
2004-05-07 08:48 24,422 Menuconfig
2004-05-07 08:48 7,485 README.Menuconfig
3 File(s) 44,194 bytes
Directory of E:\s3c2410_vivi_r1.1\scripts\lxdialog
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 234 BIG.FAT.WARNING
2004-05-07 08:48 1,130 Makefile
2004-05-07 08:48 9,765 checklist.c
2004-05-07 08:48 5,384 colors.h
2004-05-07 08:48 5,936 dialog.h
2004-05-07 08:48 6,179 inputbox.c
2004-05-07 08:48 6,023 lxdialog.c
2004-05-07 08:48 12,844 menubox.c
2004-05-07 08:48 2,529 msgbox.c
2004-05-07 08:48 15,584 textbox.c
2004-05-07 08:48 9,927 util.c
2004-05-07 08:48 3,067 yesno.c
12 File(s) 78,602 bytes
Directory of E:\s3c2410_vivi_r1.1\util
2006-08-30 14:10 <DIR> .
2006-08-30 14:10 <DIR> ..
2004-05-07 08:48 10,711 imagewrite.c
2004-05-07 08:48 113 README
2004-05-07 08:48 3,186 ecc.c
2004-05-07 08:48 28,012 imagewrite
4 File(s) 42,022 bytes
2. vivi 的编译
This section describes how to compile the vivi.
2.1. Pre-Requirements
Here is a list of the minimum levels of software necessary to compile the vivi.
* Gnu C 2.95.3
* Gnu make 3.79.1
* binutils 2.11.2
And then, your host platform are installed these tools.
* You have a cross-compiler and tool-chains.
* You have a Baurne-Again shell. (/bin/bash)
* You have a ncurses library.
2.2. Straight-forward compilation
The compiliation(configuration) environment of the vivi is simlilar to the environment of the linux kernel. So, you can do make distclean, make clean, make oldconfig , make menuconfig, and make config. General compiling sequence sequence is:
1) make distclean
2) make menuconfig
3) make
Note that If you change configurations, run make clean and make. Next two sections describes compilation of two examples.
2.3. SA-1110-Based machines with the NOR flash
I will take an example about the vivi compliation. I assumed that a target platform's core block is composed like this:
* CPU: SA-1110 processor
* ROM: 32MB Intel Strata Flash (32-bit wide)
* RAM: 32MB DRAM
These features make sense to you. Many platforms I have met is designed core block like above. For instance, KINGS, GILL, and ENDA's core block is designed like this. Therefore, you refer to vivi/arch/def-configs/kings, vivi/arch/def-configs/gill, and vivi/arch/def-configs/enda
If you want to compile vivi for KINGS(i.e. a configuration of a target board, alredy exist in the vivi/arch/def-cofnigs), just do like this:
# make kings
Other machines can complie same ways.
2.4. S3C2410-Based machines with the NAND flash
Here, I will take an example about a S3C2410-Based machine. The SMDK-2410 (a development board by SAMSUNG) is a S3C2410-Based machine.The core block of SMDK-2410 is composed like this:
* CPU: S3C2410
* ROM: 64MB SMC (NAND Flash)
* RAM: 64MB DRAM
A configuration for SMDK-2410 will be found atvivi/arch/def-configs/smdk2410. To compile for SMDK-2410, do like this(As I described above):
# make smdk2410
3. vivi的使用
3.1. Interface between an user and the vivi
The vivi uses the serical communication for user interface. Therefore, to connect the vivi, you
1) connect a serial cable between host platform and target platform.
2) already have a serial communication program like the minicom.
3) properly make the vivi binary to support a UART port when you configure the vivi.
If all of above is ok, you can see messages on the screen printed by the vivi. For example, below messages catched from the SMDK-2410
VIVI version 0.1.4 ([email protected]) (gcc version 2.95.2 20000516 (release)
[Rebel.com]) #0.1.4 荐 10岿 16 16:19:11 KST 2002
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
See the last line on the screen. (As I mentioned section 1.1) the vivi has two mode: an autoboot mode and a prompt mode. The vivi wait for a key input. If an user want to enter the prompt mode, press andy key (except Enter key). And then you can see the "vivi>" prompt. Otherwise, the vivi try boot the linux kernel after waiting a few seconds or minutes.
3.2. Built-in user commands
This is not full-described built-in user comamnd. But following commands is enough to use the vivi (as far as I know).
3.2.1. load command
A load command is loading binaries to the flash or the ram.
Usage:
load [ | ]
This argument is where to load. Availabe values are *flash* and *ram*.
[ ] or [ ]
This arguement determines location where to load a binary. If you want to use pre-defined mtd partiton informations, just type a partition name. Otherwise you specify an address and a size.
This arguement determines the file transfer protocol. I shy that the vivi only supprot xmodem curruntly. So, Available value is "x".
For exampe, you load zImage to flash memroy.
vivi > load flash kernel x
or you specify an address and a size.
vivi > load flash 0x80000 0xc0000 x
3.2.2. part command
The vivi has mtd partiton informations for the vivi. This informatin not related to mtd partition informations of mtd device drivers. The vivi uses partition informations when load a binary, boot the linux kernel, erase flash memroy, etc...
Avalilable commands are:
Display mtd partition informations.
part show
Add a new mtd partition.
part add
is name of a new mtd partiton.
is offset in the mtd device.
is a size of a mtd parition.
is flags of a mtd parition. Available valuse are JFFS2, LOCKED, and BONFS.
Delete a mtd partiton.
part del
Reset mtd partitions to default values.
part reset
Save paramter valuse and mtd parition informations to flash permanently.
part save
3.2.3. param command
The vivi has some parameter values. For example, the "boot_delay" paramter determines how long wait keystroke when the vivi is in the autoboot mode. I'm sorry that this feature is in progress. So all listed parameter is not available.
Here, I give several tips for you.
If you change the "linxu command line",
vivi> param set linux_cmd_line "you wish.."
If you want to see paramters,
vivi> param show
If you want to wait a long time when recevie file via xmodem,
vivi> param set xmodem_initial_timeout 3000000
If you want to boot imediately when a hardware reset,
vivi> param set boot_delay 100000
3.2.4. boot command
A boot command is boot the linux kernel which is stored in the flashmemroy or ram.
Usage:
boot [ | ]
This argument is where to store the linux kernel image. Availabe values are ram, nor and smc.
[ ] or [ ]
This arguement determines location where to store the linux kernel. If you want to use pre-defined mtd partiton information, just type a partition name. Otherwise you shuld specify an address and a size.
Note that all argument is optional. If you omit all argument (just type boot), all arguments is parsing from pre-defined mtd parititon information called "kernel" For example,
vivi> boot
the vivi read the linux kernel binary from the "kernel" mtd parititons.
vivi> boot nor 0x80000
the vivi read the linux kernel binary form the nor flash memory. The offset is 0x80000 and the size is default value (0xc0000). Ocassionally, you want to test the kernel on the ram (not store kernel to flash). you can do it on the vivi On the SA-1110 based machine,
vivi> load ram 0xc0008000 x
vivi> boot ram
On the S3C2410 based machine,
vivi> load ram 0x30008000 x
vivi> boot ram
On the PXA-240 based machine,
vivi> load ram 0xA0008000 x
vivi> boot ram
the vivi boot the linux kernel from the ram.
3.2.5. flash command
A flash comamnd manages the flash memory. If you want to erase flash memory,
flash erase [ | ]