Hello everyone, a while ago I've bought a Mini2440 with 1GB NAND. I played around with it a bit. And I changed the bootloader from supervivi to u-boot. But after scrubbing the device the NAND size decreased from 1GB to 128MB. I am sure that it was 1GB NAND before the first scrub, since u-boot showed me the size the first time I tested it. But I used different u-boot versions for the first tests and for the first scrub, which happend a few days after the first test. I don't know why I did this stupid move, but it happend. Up until know I used different versions of u-boot from different sources (precompiled from FriendlyARM and other sites and self-compiled). I'm not sure anymore which version I used for scrubbing the NAND, since I scrubbed it againg and again, in order to try to repair the damage I did. I can't reproduce the screen output from u-boot but I can outline the steps I did take (first part mainly from http://code.google.com/p/mini2440/wiki/MiniBringup). 1. Switch to NOR and boot the device 2. Load u-boot into ram to any address (e.g. 0x31000000) with >>load ram 0x31000000 sizeOfUboot u<< 3. Execute u-boot with >>go 0x31000000<< 4. Stop the autoboot by hitting any key 5. Scrub the nand with >>nand scrub<< 6. Create bad block table: >>nand createbbt<< 7. Write u-boot from RAM to Nand: >>nand write.e 31000000 0 sizeOfUboot<< 8. Partition the NAND >>dynpart<< 9. Get the offset with >>mtdparts<< 9. Create the environement for u-boot: >>dynenv set u-boot-offset<< 10. Save it to NAND >>saveenv<< I can't recall how long the scrub process (step 5) did take, but I know that I didn't interrupt it. Further on I know that with the 10 steps from above I couldn't get u-boot into the device, so directly afterwards I tried the steps from Bill's Blog (http://bill.station51.net/index.php?post/2010/01/16/U-Boot-on-Mini2440). The last steps from the May update (bottom of the page): 1. Switch to NOR and hit >>v<< in supervivi 2. Upload the u-boot.bin file 3. Switch to nand and boot u-boot (here I noticed the decreased NAND size) 4. Scrub the NAND and create the 'bad block table' 5. Switch to NOR, hit >>v<< again and upload u-boot again 8. Switch back to NAND and boot up 9. Run >>dynpart<< and >>dynenv<< I suppose that I decreased the size of the NAND with the first scrub. The NAND itself works properly, I flashed it with several Linux distributions (e.g. Angstrom). The size restriction didn't disturb me at first, but now I want to install mono on it, and the cross compiled size of mono is to big for the 128MB. So my question is, if there is a way to increase the size again to 1GB? If so, what steps do I have to take? Kind regards Markus Schmidt P.S. please excuse my bad english, I'm no native speaker
Mini2440: NAND size decreased from 1GB to 128MB
Hi, I'm not an u-boot expert, but did you try to burn the original supervivi bootloader in NAND to go back to a stock configuration? Maybe it will help getting back the 1Gb NAND FLASH. Regards
Hello, and thanks for the reply. To answer your question: I formatted the NAND with supervivi from the NOR with hitting >>f<< like indicated below. ##### BIOS 2.0 for 2440 ##### [x] format NAND FLASH for Linux [v] Download vivi [k] Download linux kernel [y] Download root_yaffs image [a] Absolute User Application [n] Download Nboot for WinCE [l] Download WinCE boot-logo [w] Download WinCE NK.bin [d] Download & Run [z] Download zImage into RAM [g] Boot linux from RAM [f] Format the nand flash [b] Boot the system [s] Set the boot parameters [u] Backup NAND Flash to HOST through USB(upload) [r] Restore NAND Flash from HOST through USB [q] Goto shell of vivi [i] Version: 0945-2K Enter your selection: f This didn't bring back the 1GB NAND. But I indeed didn't try to reflash supervivi to the NAND. I will give it a try and post the results. Kind Regards
Maybe you have a 1 Gbit NAND which results into 128 MiB. Take a look to the device on your PCB. Maybe it is a K9F1G08U0B NAND (note the '1G' in the name). If it is marked with K9K8G08 (note the '8G' in the name) it is really a 8Gbit -> 1 GiB NAND.
Hello, I've checked my NAND as you suggested Juergen. And what can I say, I brought shame to myself. You're completely right. I have a '1G' NAND and not the '8G' version. Seems that I never had 1 GByte NAND. I must have done some weired reading error when I first saw it in u-boot. Or it was just my imagination :) My God, I'm really sorry. I totally screwed up. Well thank you both for your time and your suggestions. Have a nice day! Kind regards
Don't worry. The same happens to me again and again in my daily job with stupid hardware... and 'GB' und 'GiB' really looks like the same, but isn't.
I do the same thing. I try to make sure in docs that I use Mb for bits and MB for bytes. So. 1Gb = 128MB, etc.