We have a prototype design in the works, that is currently running on a reference board done my Olimex (Olinuxino maxi), but eventually we would like to move the storage from microsd to nand flash (or eeprom).
It seems that i.mx233 supports both of these, as they have a reference design of their own (imx 233 EVK), which has support for this.
However, their design was 8 times more expensive than from Olimex, thus we decided to start from here.

This is our first project in this scope ("real" linux system), and thus we are still learning as we go.
Basically our problem is that neither of us is experienced yet in this level of design.. We don't really understand what we should consider when moving our boot target from sdcard to flash..
Like starting even from how do we connect the flash chip to the imx ? It seems that there are "SPI headers" for that, but what does that mean ?
Boot target can be changed with some slight soldering, so that should take care of the loader, I presume.

I have studied the workings of linux boot process, and it seems that if we can get our flash chip seen by the loader, we should be able to get the kernel loading after that, or is there something more to look out for ?

I would appreciate any tips for studying, book recommendations etc.. Thanks!

  • \$\begingroup\$ Not a full answer, but: you're most likely already using SPI to interface to your microSD card from the i.MX233. This means it'd be a hop, skip and a jump to move to NAND flash if you use a flash chip that also communicates over SPI. \$\endgroup\$ – Toby Lawrence Oct 6 '12 at 14:14
  • \$\begingroup\$ Hi Toby, Thanks for your comment! Indeed microsd seems to be using SPI, but for verification&prototyping purposes, I would like to setup a flash as well, and then I could verify that our setup works.. It doesn't seem to be very common knowledge, how this kind of setup works... difficult to find information anywhere :/ \$\endgroup\$ – julumme Oct 7 '12 at 17:13
  • \$\begingroup\$ Right, so: if you're using SPI to read from your microSD card to load the OS, then right now there is some code that describes how to talk to the SD card via SPI and some code that tells the OS to access the SD card as a boot device. I'm not entirely familiar with the code you're running, but these would be the two places you'd have to look at and alter to use a flash chip. You'll most likely have to alter the code related to reading and writing to the SD card itself, whereas you may not need to change the code that tells the OS that the device is a boot device. \$\endgroup\$ – Toby Lawrence Oct 7 '12 at 20:01
  • \$\begingroup\$ Toby, thanks for your input again! However, I don't think there is any need to write any drivers - the used bootloader supports booting (=loading kernel to memory for execution) from flash and sdcard (plus other targets as well). Kernel drivers on the other hand will take care of all physical writing to medium, when we talk about filesystem.. At least this is my understanding.. I would love to get feedback on my thinking \$\endgroup\$ – julumme Oct 9 '12 at 23:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.