⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 assabet

📁 上传linux-jx2410的源代码
💻
字号:
The Intel Assabet (SA-1110 evaluation) board============================================Please see:http://developer.intel.com/design/strong/quicklist/eval-plat/sa-1110.htmhttp://developer.intel.com/design/strong/guides/278278.htmAlso some notes from John G Dorsey <jd5q@andrew.cmu.edu>:http://www.cs.cmu.edu/~wearable/software/assabet.htmlBuilding the kernel-------------------To build the kernel with current defaults:	make assabet_config	make oldconfig	make dep	make zImageThe resulting kernel image should be available in linux/arch/arm/boot/zImage.Installing a bootloader-----------------------A couple of bootloaders able to boot Linux on Assabet are available:BLOB (http://www.lart.tudelft.nl/lartware/blob/)   BLOB is a bootloader used within the LART project.  Some contributed   patches were merged into BLOB to add support for Assabet.Compaq's Bootldr + John Dorsey's patch for Assabet support(http://www.handhelds.org/Compaq/bootldr.html)(http://www.wearablegroup.org/software/bootldr/)   Bootldr is the bootloader developed by Compaq for the iPAQ Pocket PC.   John Dorsey has produced add-on patches to add support for Assabet and   the JFFS filesystem.RedBoot (http://sources.redhat.com/redboot/)   RedBoot is a bootloader developed by Red Hat based on the eCos RTOS   hardware abstraction layer.  It supports Assabet amongst many other   hardware platforms.RedBoot is currently the recommended choice since it's the only one to havenetworking support, and is the most actively maintained.Brief examples on how to boot Linux with RedBoot are shown below.  But firstyou need to have RedBoot installed in your flash memory.  A known to workprecompiled RedBoot binary is available from the following location:ftp://ftp.netwinder.org/users/n/nico/ftp://ftp.arm.linux.org.uk/pub/linux/arm/people/nico/ftp://ftp.handhelds.org/pub/linux/arm/sa-1100-patches/Look for redboot-assabet*.tgz.  Some installation infos are provided inredboot-assabet*.txt.Initial RedBoot configuration-----------------------------The commands used here are explained in The RedBoot User's Guide availableon-line at http://sources.redhat.com/ecos/docs-latest/redboot/redboot.html.Please refer to it for explanations.If you have a CF network card (my Assabet kit contained a CF+ LP-E fromSocket Communications Inc.), you should strongly consider using it for TFTPfile transfers.  You must insert it before RedBoot runs since it can't detectit dynamically.To initialize the flash directory:	fis init -fTo initialize the non-volatile settings, like whether you want to use BOOTP ora static IP address, etc, use this command:	fconfig -iWriting a kernel image into flash---------------------------------First, the kernel image must be loaded into RAM.  If you have the zImage fileavailable on a TFTP server:	load zImage -r -b 0x100000If you rather want to use Y-Modem upload over the serial port:	load -m ymodem -r -b 0x100000To write it to flash:	fis create "Linux kernel" -b 0x100000 -l 0xc0000Booting the kernel------------------The kernel still requires a filesystem to boot.  A ramdisk image can be loadedas follows:	load ramdisk_image.gz -r -b 0x800000Again, Y-Modem upload can be used instead of TFTP by replacing the file nameby '-y ymodem'.Now the kernel can be retrieved from flash like this:	fis load "Linux kernel"or loaded as described previously.  To boot the kernel:	exec -b 0x100000 -l 0xc0000The ramdisk image could be stored into flash as well, but there are bettersolutions for on-flash filesystems as mentioned below.Using JFFS2-----------Using JFFS2 (the Second Journalling Flash File System) is probably the mostconvenient way to store a writable filesystem into flash.  JFFS2 is used inconjunction with the MTD layer which is responsible for low-level flashmanagement.  More information on the Linux MTD can be found on-line at:http://www.linux-mtd.infradead.org/.  A JFFS howto with some infos aboutcreating JFFS/JFFS2 images is available from the same site.For instance, a sample JFFS2 image can be retrieved from the same FTP sitesmentioned below for the precompiled RedBoot image.To load this file:	load sample_img.jffs2 -r -b 0x100000The result should look like:RedBoot> load sample_img.jffs2 -r -b 0x100000Raw file loaded 0x00100000-0x00377424Now we must know the size of the unallocated flash:	fis freeResult:RedBoot> fis free  0x500E0000 .. 0x503C0000The values above may be different depending on the size of the filesystem andthe type of flash.  See their usage below as an example and take care ofsubstituting yours appropriately.We must determine some values:size of unallocated flash:	0x503c0000 - 0x500e0000 = 0x2e0000size of the filesystem image:	0x00377424 - 0x00100000 = 0x277424We want to fit the filesystem image of course, but we also want to give it allthe remaining flash space as well.  To write it:	fis unlock -f 0x500E0000 -l 0x2e0000	fis erase -f 0x500E0000 -l 0x2e0000	fis write -b 0x100000 -l 0x277424 -f 0x500E0000	fis create "JFFS2" -n -f 0x500E0000 -l 0x2e0000Now the filesystem is associated to a MTD "partition" once Linux has discoveredwhat they are in the boot process.  From Redboot, the 'fis list' commanddisplays them:RedBoot> fis listName              FLASH addr  Mem addr    Length      Entry pointRedBoot           0x50000000  0x50000000  0x00020000  0x00000000RedBoot config    0x503C0000  0x503C0000  0x00020000  0x00000000FIS directory     0x503E0000  0x503E0000  0x00020000  0x00000000Linux kernel      0x50020000  0x00100000  0x000C0000  0x00000000JFFS2             0x500E0000  0x500E0000  0x002E0000  0x00000000However Linux should display something like:SA1100 flash: probing 32-bit flash busSA1100 flash: Found 2 x16 devices at 0x0 in 32-bit modeUsing RedBoot partition definitionCreating 5 MTD partitions on "SA1100 flash":0x00000000-0x00020000 : "RedBoot"0x00020000-0x000e0000 : "Linux kernel"0x000e0000-0x003c0000 : "JFFS2"0x003c0000-0x003e0000 : "RedBoot config"0x003e0000-0x00400000 : "FIS directory"What's important here is the position of the partition we are interested in,which is the third one.  Within Linux, this correspond to /dev/mtdblock2.Therefore to boot Linux with the kernel and its root filesystem in flash, weneed this RedBoot command:	fis load "Linux kernel"	exec -b 0x100000 -l 0xc0000 -c "root=/dev/mtdblock2"Of course other filesystems than JFFS might be used, like cramfs for example.You might want to boot with a root filesystem over NFS, etc.  It is alsopossible, and sometimes more convenient, to flash a filesystem directly fromwithin Linux while booted from a ramdisk or NFS.  The Linux MTD repository hasmany tools to deal with flash memory as well, to erase it for example.  JFFS2can then be mounted directly on a freshly erased partition and files can becopied over directly.  Etc...RedBoot scripting-----------------All the commands above aren't so useful if they have to be typed in everytime the Assabet is rebooted.  Therefore it's possible to automatize the bootprocess using RedBoot's scripting capability.For example, I use this to boot Linux with both the kernel and the ramdiskimages retrieved from a TFTP server on the network:RedBoot> fconfigRun script at boot: false trueBoot script:Enter script, terminate with empty line>> load zImage -r -b 0x100000>> load ramdisk_ks.gz -r -b 0x800000>> exec -b 0x100000 -l 0xc0000>>Boot script timeout (1000ms resolution): 3Use BOOTP for network configuration: trueGDB connection port: 9000Network debug at boot time: falseUpdate RedBoot non-volatile configuration - are you sure (y/n)? yThen, rebooting the Assabet is just a matter of waiting for the login prompt.Nicolas Pitrenico@cam.orgJune 12, 2001Status of peripherals in -rmk tree (updated 14/10/2001)-------------------------------------------------------Assabet: Serial ports:  Radio:		TX, RX, CTS, DSR, DCD, RI   PM:			Not tested.  COM:			TX, RX, CTS, DSR, DCD, RTS, DTR, PM   PM:			Not tested.  I2C:			Implemented, not fully tested.  L3:			Fully tested, pass.   PM:			Not tested. Video:  LCD:			Fully tested.  PM			(LCD doesn't like being blanked with			 neponset connected)  Video out:		Not fully Audio:  UDA1341:   Playback:		Fully tested, pass.   Record:		Implemented, not tested.   PM:			Not tested.  UCB1200:   Audio play:		Implemented, not heavily tested.   Audio rec:		Implemented, not heavily tested.   Telco audio play:	Implemented, not heavily tested.   Telco audio rec:	Implemented, not heavily tested.   POTS control:	No   Touchscreen:		Yes   PM:			Not tested. Other:  PCMCIA:   LPE:			Fully tested, pass.  USB:			No  IRDA:   SIR:			Fully tested, pass.   FIR:			Fully tested, pass.   PM:			Not tested.Neponset: Serial ports:  COM1,2:	TX, RX, CTS, DSR, DCD, RTS, DTR   PM:			Not tested.  USB:			Implemented, not heavily tested.  PCMCIA:		Implemented, not heavily tested.   PM:			Not tested.  CF:			Implemented, not heavily tested.   PM:			Not tested.More stuff can be found in the -np (Nicolas Pitre's) tree.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -