:2007(2007F21):(1983-),,,;(1965-),,,,SoC。SoCLinux,(,710065):SoC,、。SoC,Linux,。:SoC;;;Linux:TP316.89:A:1672-7800(2009)05-0019-031SoC(SystemonChip)IC,SoC,,。,,,,。。SoC,,,,。,,。,。,,、RTL,,。,,,,,,。22.1,IP,,,。。2.2SoC,,。,、,SoC。13,SoC。12.3,、,。,,。,:;SoftwareGuide8%520095Vol.8No.5May.2009200920092009RTOS:、;;;;;,。2.4LinuxLinux,,Linux,,,。Linux,,。Linux、,。,Linux,:IP。3Linux,、、。SoCLinux,SoC、。Linux,SoCLinux,FPGALinux,SoC。44.1SoCARM922T,:UART()、GPIO(/)、TIMER()、RTC()、EBI()、SRAM()、DMA()、VIC()PPU()。FPGA:FP-GAFPGA,PCLinux,FPGASRAM,Mutil-ICE,,WindowsPC,GPIO。FPGA2。4.2Linux,Linux,,:、、,TCP/IP。4.2.1LinuxVisualMachine+RedhadLinux,arm-linux:cross-2.95.3.tar.bz2,Binutils、arm-linuxGNUgccglibc。arm-linuxGNUgcc,:Cgcc、as、obj-dump、ldgdb。Linux,。4.2.2LinuxLinux,,。(1).SLinux/arch/arm/proc-armS3C2440.SCPU,ICache、DCache、TLB、CPU。Linux/arch/arm/kernel/head-armv.S,,processarchitecture,,,BSS,TLBcache,start_kernel。(2)Linux/arch/arm/kernel/setup.cset_arch(char**cmdline_p),,,ramdisk。(3)linux/include/asm-arm/S3C2440.h:.h。(4)Linux/arch/arm/mach-S3C2440。arch.c、mm.c、irq.c、time.ccpu.c。arch.cMA-CHINE_START,ARM、I/O、I/O、I/OmapIRQ。mm.c;irq.c;time.clinux/include/asm-arm/arch-S3C2440/time.h。arch.cS3C2440_fixup,、、ramdisk。(5)2FPGA20··5ResearchandRealizationofCo-verificationBasedonLinuxinSoCDesignAbstract:TheCo-Verificationtechnologydevelopedwiththedesignandverificationofthemicroprocessor.AsforthehardwaredesignedinalargequantityintermsofSoC,theorderedsoftwareisneededtoprovidetheprofessionaldiagnoseandinitializationsoftwareaswellasthedevicedriver.Therefore,duringthewholeSoCdesignprocess,themostcriticalprocedureisthecombinitionofthehardwareandsoftwareperiod,inwhichtheverificationproblemisbasedontheembeddedLinuxOS,soastoidentifytheinteractiveproblemofthepossibilityofharewareoperationandsoftwareinthewholesystemofenvironment.KeyWords:SoC;EmbeddedSystem;H/SCo-DesignandVerification;Linuxlinux/include/asm-arm/arch-S3C2440/time.h,,do_timer(),。(6)“makemenuconfig”CONFIG_BLK_DEV_RAM、CONFIG_BLK_DEV_INITRD,BootloaderS3C2440_fixup,ramdisk、ROOT_DEV,ramdisk。,,init,sh。,#。,。4.3,Linux,,、。,SoCBoot,、、。,,,,。,。Linux,,,。Linux/arch/arm/kernel/debug-armv.Sprintascii。Linux/kernel/printk.c:va_start(args,fmt);printed_len=vsnprintf(printk_buf,sizeof(printk_buf),fmt,args);va_end(args);printascii(printk_buf);printk,printk,。4.4Linux,、,。Linux,,:;;;;;。,Lin-ux,。,,,。5LinuxSoC。Linux,ARM922TSoC。:[1],,.AMBASoC[J].,2005(28).[2].[M].:,2004.[3]FUBERS.ARMSoC(2)[M].,,,.:,2002.[4],.RTOS[J].,2004(9).(:),:SoCLinux21··