We just purchased an Olimex CS-E9302 but I have been unable to find much documentation on this board. If anyone has seen this missing documentation, please let me know.
Assuming that none exists, I have started making some notes that may be of interest. Of couse, not all of these notes are complete, but I’ll post them as they become available.
If you have anything to add, please let me know. In particular, I am looking for information on:
Board bring-up
getting ethernet working from RedBoot (doesnt work by default!
getting ethernet working in Linux
getting USB working
Development
storing files into the flash file system
compiling and debugging programs
If you’ve done some of this, and can spare a few minutes to share your experience, thanks for your help!
I’ve tried to look through your recent postings, but it’s quite time consuming to find your questions.
Collecting documentation for the various Olimex boards (and they definitely need documentation) in a central location would be a good idea, but I don’t think a forum is the right place to collect this kind of information. Additions and corrections for example can’t be integrated with the original posting, and once the threads get older, the information will difficult to find.
IMHO a wiki would be better suited for this purpose - it’s easily editable and it allows structuring with links to related topics etc.
There are a few free hosting providers for wikis, but maybe Olimex or Sparkfun would be able to set up an installation for this purpose, too.
I’ve tried to look through your recent postings, but it’s quite time
consuming to find your questions.
Most all of the questions are at the end of the e-mail - I’m really looking for comments on any part of the notes. I’ve been away from Linux for nearly 5 years, so I’m rusty on all of this. However, I see the lack of documentation on nearly anything Linux is still standard procedure.
Collecting documentation for the various Olimex boards (and they
definitely need documentation) in a central location would be a good
idea, but I don’t think a forum is the right place to collect this kind of
information.
Maybe not, but this is the only link given by Olimex - I really don’t know where else to go with this. I assume this is also the only place where anyone with any Olimex CS-E9302 experience will be. If you have any links to other sites or other documentation, please let us know.
Additions and corrections for example can’t be integrated with the
original posting, and once the threads get older, the information will
difficult to find.
I assume all of these posts can be replied to…
IMHO a wiki would be better suited for this purpose - it’s easily editable
and it allows structuring with links to related topics etc. There are a few
free hosting providers for wikis, but maybe Olimex or Sparkfun would
be able to set up an installation for this purpose, too.
Yes, that will be great! And until then, lets see what happens here and a comprehensive document can be posted later.
It looks like its been more than a few hours (an entire week actually). So, obviously, we have all the documentation that OLIMEX is willing to generate.
Ok, we can deal with that - I have even volunteered to generate documentation as a starting point.
Still no response from OLIMEX…
So, is anyone interested in helping answer some questions so I can generate some documentation?
There are basically two approaches to getting Linux running on any Cirrus EP93xx board:
Cirrus’ own port, still based on the ancient linux 2.6.8. This one supports most (all?) of the peripherals, but definitely isn’t up to Linux code quality standards.
Linux mainstream kernel port. Support for the EP93xx is fully integrated in current linux kernels available from www.kernel.org. This port doesn’t support all peripherals, but at least serial, USB and ethernet is working fine. There’s support for Maverick Crunch, but I’ve been told that there are crunch errata that haven’t been brought upstream by Cirrus. On a quick test it worked fine, even on my CS-E9301 which isn’t supposed to have the Crunch coprocessor
You also have to choose which bootloader to use:
Cirrus uses Redboot, and that’s also the bootloader that ships with Olimex boards. Personally I dropped it as soon as I got the board, as I find Redboot too huge and intransparent (not necessarily in terms of code/data size, but the overall codestructure). Depending on your kernel choice you might have to patch Redboot or your kernel to use the same machine ID.
U-Boot is another widely used bootloader for embedded systems. I’ve adapted some patches that were posted to the linux-ep93xx mailinglist for the CS-EP9301 board which should apply as-is or with minor modifications to the CS-EP9302. I generated the patch against a git snapshot from november last year, but it should apply against a recent checkout, too. http://mmd.ath.cx/cs-e9301
You can also find the kernel configuration and kernel patch I’m using at the above site.
For the userland, I’ve decided to go with ptxdist (www.pengutronix.de). Alternatives are openembedded, debian-armel or maybe buildroot.
Using u-boot, a recent kernel (2.6.19+) and a ptxdist userland (openembedded and debian-armel worked fine, too) I had no problems using any of the supported peripherals. I’m mounting my rootfs via NFS, which means the ethernet controller is working nicely, and I could mount and use a USB memory stick without problems.
I’ve run the original 2.6.8 kernel that came with the board just once, so I can’t say what’s going to work and what not. This is going to be the answer you’ll get from most, if not all, community resources.
Regarding the Wiki: wiki.sparkfun.com exists, but redirects to the sparkfun homepage.
Thanks for the reply! I was beginning to think nobody’s even used this board yet.
I guess I was looking for a turnkey solution, not something that is popular in the Linux community. I suppose I need to do the kernel build myself…docmentation to follow.
Likewise with the bootloader - if it works, I have no problem with RedBoot. Development schedules prevent me from trying to optimize this if I don’t have to.
Sorry, the DNS has been pointed ;). While waiting for it to start resolving, I got distracted on engineering projects and haven’t had time to revisit setting up the wiki. I’ll get back on that today.
Does anyone have a preferred wiki? If nobody chimes in, I’ll just install mediawiki.
So has anyone been able to build and compile a program to run under the Linux kernel that is already installed on this board? I would assume that you need certain startup and linker files to get it working, but I have no idea how to do this because I have almost no familiarity with Linux whatsoever. Can anyone offer some help?
You should be able to compile an application using the toolchain available from arm.cirrus.com. As I said before, I never used the original kernel, nor would I ever waste my time with a vendor supplied kernel and toolchain, but basically this should work for you.
I received my 9302 a few days ago. The unit gets a dhcp address and is reachable via telnet. I am able to reformat a usb memory stick and mount it.
That is about all it seems capable of.
I run tftp32 on my windows box and can transfer files to it using tftp on the 9302. I have used the supplied toolchain to build a hello world program which immediately takes a segmentation fault.
There is zero documentation supplied with the board and while they include the 2.6.8 kernel source they do not supply any of the commands or library sources or tools for building the Linux image other than the makefile.
The board loads the Linux image into ram from flash at boot time and the image is compressed - I cannot find any information about modifying it or replacing it and it cannot be read with desktop compressors so I can’t modify the contents without completely replacing it.
Also none of the IO devices are supported other than the two serial ports, the usb ports and the network.
About all this board can be used for as it is delivered is writing shell scripts.