[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[microblaze-uclinux] System Ace access before uClinux boots



Hi all,
 
I have a custom board running uClinux 2.4, which uses a System Ace controller and Card Flash.  So far we have been using the ace file on the card flash to load up both the bitstream into the FPGA and then the uClinux kernel into RAM.  Works fine but the ace files are huge (>116MB). 
 
Obvious thing to do is write a smaller bootloader that can be loaded with the bitstream, which will then find the image.bin file at a nice location on the card flash, load it into memory and start it up. 
 
Operating this way, the system flashes the green System Ace LED (STATLED) during loading of the ace file, and then it goes solid green and stays that way, even while uClinux accesses the (mounted) card flash during use later.
 
Problems creep in when I write the beginnings of the bootloader.  Whenever I use the xilfatfs to access the card flash, the green LED goes out and stays out.  I can read the file fine, read the image.bin file into memory, and jump to it.  It starts up the kernel normally, but when uClinux tries to initialize the System Ace driver, the red LED (ERRLED) comes on and the kernel reports: "Partition Check: xsysacea:<3>JTAG controller couldn't read configuration from the CompactFlash xsysacea1" and hangs later when trying to mount the Card Flash to /tmp/sysace.
 
When I check the System Ace registers, the status reg reports the CFGDONE bit true for normal uClinux operations, but false after using xilfatfs.  I tried doing set and clear of the CFGRESET bit in my bootleader before jumping to the kernel, but that didn't seem to help.
 
Obvioiusly xilfatfs is accessing the System Ace is some different fashion from how it is used in uClinux, but the uClinux driver is based on essentially the same low-level Xilinx driver files, and I've compared the files and found nothing I would call significantly different at the driver level.
 
Anyone run into similar issues?
 
Jim Law
Iris Power LP