David Summers wrote: > Thanks for all of the great advice. > > > I think my plan is to stick with the 2.4 kernel for now until I run > into a compelling reason to switch to 2.6. It sounds like the 2.6 > support is getting very close to maturity and if I get some free time > I would love to pitch in and help. > > > Is anyone out there using JFFS2 on a NAND flash device in 2.4? If > this works in 2.4 then I should be OK. My dev board only has 4MB of > NOR flash so this is one part of the processor subsystem that I cannot > test. > Per my previous response: I had some trouble with MTD/JFFS2 until I picked up to the DENX cvs version of linuxppc_2_4_devel (just the MTD part) which added a few additional flash parts and is working well for me under 2.4.25 (on Lite5200, MPC5200)
What about the following dev brd? Anybody porting here? http://www.nuhorizons.com/products/xilinx/v4/ml403/index.html for $100 or so more? Looks like it might have NAND flash. Anybody got a power measurement for a configured ML403 dev board running PPC/Linux, flash, DDR, Ethernet,etc? Also why not put the extternal PHY controller (Serdes, collision detect, 5b4, etc) on the FPGA? Should then only need external magnetics & a RJ45 -Frank Bennett > -David Summers > > > On 1/31/06, David H. Lynch Jr. <dhlii at dlasys.net> wrote: > >> David; >> >> I just completed a port of 2.6 to the Pico E-12 which is a Xilinx >> Virtex-4 with very little hardware. >> >> I had the advantage of a system that already had a elf loader (not >> U-Boot), but not a Linux loader. >> If I could load Linux as an elf file then I did not need another loader. >> In the end I had to make some very trivial modifications to Pico's >> loader to pass a board information structure. But otherwise the decision >> to use the existing loader saved me having to port u-boot. >> >> I also chose to boot into a ramdisk. Using the existing loader precluded >> having the ramdisk as a separate file. >> the intramfs feature of 2.6 allowed me to wrap the ramdisk into the same >> file as the kernel. Documentation on initramfs is spartan, and somewhat >> opaque. The good news was that despite the documentation initramfs >> proved trivially easy to use. >> >> After that I took the 2.6 kernel source, and litterally went through >> looking for all references to the xilinx ml300. >> Wherever there was an ml300 specific file I created an new one for the >> pico_e12. Wherever there was an ml300 configuration option I created a >> PICO_E12 one. >> >> The E-12 had substatnitially less hardware than the ml300 (or the ml403) >> so mostly I just ended up ripping code out of my private version of the >> ml300 code that was transmuting into the pico_e12 code. >> >> The next obstacle I bumped into was that the e-12 had two devices >> suitable for a console - a highspeed fifo interface to a host >> development system called the keyhole port, and the xilinx uartlite >> serial port. Neither are supported in 2.6. I looked at the Xilinx >> Uartlite 2.4 driver and it was coded substantially different from other >> serial drivers. I decided not to try to port it to 2.6. I started from >> scratch using the 8250 code as a base. I picked the 8250 because: >> It must be the most heavily used linux serial driver and therefore I >> hoped the most uptodate and well debugged. >> The 8250 had boot through console IO support. Most other serial devices >> require getting fairly far into the boot process before you get any output. >> >> The really early IO proved fairly simple. Implimenting xxxx_dbg.c and >> xxxx_tty.c for both the uartlite and the keyhole was fairly trivial. >> >> Additionally the keyhole port had a "debug" feature where if you output >> a single 32 bit word to one of the fifo ports it would be displayed in >> hex on the host. As this could be done in an assembler macro that proved >> indispensiable early on. >> >> I was stalled for about 3 weeks trying to get the sucker into virtual >> mode. In the end I had to disable Machine Check exceptions to make the >> transition to virtual mode. Pico claims there is not a hardware problem, >> but if I do nto disable machine checks on the e-12 it will never make >> the tansition to virtual mode. >> >> The full serial driver for the Uartlite (and Keyhole) proved more >> daunting than anything else. In some ways the 8250 proved a bad choice >> as a template there as there are more permutations, busses, etc >> associated with the 8250 than anything else. I ended up stripping out >> huge hunks of code. Eventually, I used the m32r_sio as a simpler >> template. The driver was much simpler, and it had the critical features >> I needed - both interupt driven and polled IO support - some >> implimentations of the E12 do not include a PIC. The serial drivers took >> much longer than the whole rest of the port combined - including the >> machine check detour. >> >> Just as I was finishing up the E12 port, Grant posted a set of patches >> for the ml403. There were some fundimental differences at a fairly low >> level between Grant's approach and mine. And I think Grant's Virtex-4 >> code appears to reflect more of the direction things are going, so I am >> in the process of remodeling my port for the E12 on his for the ml403. >> But I have not completed that. >> >> Absent the machine check issue and having to write serial drivers thus >> was atmost 2 weeks work. >> >> >> BTW while you appear to be a hardware guy with alot of software >> experience, I am a software guy with alot of hardware experience. >> >> >> The E-12 has flash, but it uses a proprietary flash file system, and >> using it would have required writing a filesystem driver - which I would >> be happy to do if I got paid for it. Write performance on flash can be >> extremely slow. If you are recording a significant amount of data in >> realtime, you may want to skip the flash and just use a ramdisk. However >> the ramdisk will not survive the system loosing power - which might be >> an issue in a rocket. >> >> If you are going to start with the 2.6 Kernel, I would get git. use it >> to DL Linus's current 2.6 git repository, adn apply all of Grant's ml403 >> patches from the mailing list to it. >> Then I would start an approach somewhat similar to what I described >> above - except using Grant's ml403 as the base to create your own board >> spec from instead of the ml300 that I used. >> How tightly constrained are you for gates in the FPGA ? >> If you are not tight, use the Xilinx 16550 serial IP and then you can >> use standard Kernel 8250 dirvers (making Grant's patches work with >> Uartlite is one of the things I am having trouble with) It would be my >> guess that if you use the 16550 serial IP, you may be able to use >> Grant's ml403 stuff asis. >> >> >> >> >> >> David Summers wrote: >> >> >>> I am starting a new project where I need to have a flash file system >>> and an ethenet interface (HTTP and FTP). The project is a solar >>> physics experiment that will be launched on a sub-orbital rocket >>> flight this fall. The idea is that the experiment will write data >>> files to the flash file system while in flight, and then I can >>> download the data using ethernet after the experiment returns to >>> earth. >>> >>> I think that Linux is the way to go for this project because of the >>> JFFS2 filesystem and the strong networking support. The only problem >>> is that I am totally new to embedded linux. >>> >>> I am prototyping my system on an Avnet FX12 development board ( Specs >>> here: http://tinyurl.com/4gfdv ) which is pretty similar to the Xilinx >>> ML403 board except with less memory and no SystemACE slot. >>> >>> I will eventually build my own custom board with the same Xilinx >>> Virtex 4 FX12 FPGA and additional flash memory and some custom >>> interface hardware. My background is primarily as a hardware designer, >>> and I am very confortable with the FPGA part of this project. I am >>> comfortable as a Linux user, and I am a pretty good C coder (for a >>> hardware guy anyway :). I have never built a linux system (embedded >>> or desktop) before, and I need some help getting started with embedded >>> linux. >>> >>> I have already found the following websites which have been a big help so >>> far: >>> >>> http://www.klingauf.de/v2p/index.phtml >>> http://splish.ee.byu.edu/projects/LinuxFPGA/configuring.htm >>> http://www.crhc.uiuc.edu/IMPACT/gsrc/hardwarelab/docs/kernel-HOWTO.html#toc1 >>> >>> I have a few questions that I hope someone can help me with: >>> >>> 1. What is the best linux distribution to start out with? I am >>> currently working with the 2.4 kernel code from >>> ppc.bkbits.net/linuxppc_2_4_devel, but I'm not sure that this version >>> be being updated. (MontaVista also seems to be making it rather >>> difficult to download their free Linux Preview Kit, so I wouldn't mind >>> finding another distribution) Does the DENX distribution have good >>> PPC support? Are there any others that I should look at, or should I >>> just download the kernel source directly from kernel.org? >>> >>> >>> 2. kernel 2.4 or 2.6? >>> >>> It is my understanding that the latest version of MTD and JFFS2 have >>> dropped support for kernel 2.4. I would like to use JFFS2 on a NAND >>> flash device, so it seems like I should use 2.6. (Can I use JFFS2 on >>> a NAND device with kernel v 2.4?) >>> >>> Being a complete newbie, am I biting off more that I can handle by >>> trying to use 2.6? >>> >>> I have been lurking on the mailing list for a while, and I know that >>> there are several people working on 2.6.x patches for the Xilinx >>> virtex 4 parts. Could someone point me to a list of the patches that >>> I need to get me started? I think that the ML403 patches should work >>> with my board, but I don't know which ones I need to download. >>> >>> >>> Thank you for your help, >>> >>> David Summers >>> University of Colorado >>> _______________________________________________ >>> Linuxppc-embedded mailing list >>> Linuxppc-embedded at ozlabs.org >>> https://ozlabs.org/mailman/listinfo/linuxppc-embedded >>> >>> >>> >>> >> -- >> Dave Lynch DLA Systems >> Software Development: Embedded Linux >> 717.627.3770 dhlii at dlasys.net http://www.dlasys.net:8888 >> >> >> > _______________________________________________ > Linuxppc-embedded mailing list > Linuxppc-embedded at ozlabs.org > https://ozlabs.org/mailman/listinfo/linuxppc-embedded > > -- */Frank Bennett CEO/* Mathegraphics,LLC 613 Bentley Pl Fort Collins,CO 80526 970-229-9269 (hm) 970-402-9269 (cell) www.mathegraphics.com <http://www.mathegraphics.com> bennett78 at digis.net <mailto:bennett78 at digis.net> -------------- next part -------------- An HTML attachment was scrubbed... URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060209/52fd9187/attachment.htm