Re: StrongARM-based Intrinsyc Cerfboard and Compact Flash craziness

From: Marco Cavallini [KOAN] (infoNOSPAM_at_koansoftware.com)
Date: 11/01/05


Date: Tue, 1 Nov 2005 09:26:17 +0100


> We have been working a project that utilizes a StrongARM-based
> Cerfboard from Intrinsyc (SA1110 version of the StrongARM). For those
> of you not familiar with it, the Cerfboard is a small embedded module
> that runs Linux (specifically, a distro called I-Linux that Intrinsyc
> provides). This board has Compact Flash, 10/100 ethernet, and a few
> other goodies. Anyway...
>
> Recently, we have started using the Compact Flash slot that is
> available on the board. We noticed that at times, the board would
> completely freeze when attempting to go through the cardctl
> insert/mount procedure to gain access to the Compact Flash. We wrote a
> script that would do the following:
>
> Forever
> cardctl insert
> mount /mnt/cf
> cp file to CF
> rm file from CF
> umount /mnt/cf
> cardctl eject
> print iteration count
>
> We then let this run forever, watching the output on our serial
> console. Sometimes, the board will crash after anything between 0 and
> 40 iterations (random). There is no response from any i/o device
> (serial console, ethernet, etc). However, upon scoping the SDRAM
> lines, there is still activity here, albeit much less than before the
> crash occurs (by about an order of magnitude).
>
> Sometimes, the board runs forever just fine...
>
> ...HERE IS WHERE THE CRAZINESS PART STARTS
>
> One of our technicians noticed that if the script is started in the
> FIRST nine minutes after power-up, the script will fail anywhere
> between 0 and 40 iterations. If we start the script AFTER nine minutes
> (its not PRECISELY nine minutes, but close), it NEVER EVER FAILS! We
> have had it run thousands of times without any problems, as long as we
> wait nine minutes before starting.
>
> Here are the specifics of our setup:
>
> Kernel: 2.4.9-ac10-rmk2-np1-cerf2
> Card Services: 3.1.22
> CPU: SA1110 rev 8
> Distro: I-Linux 4.4
> Execution speed: 192 MHz (through PLL)
>
> There are no applications running on this board, other than the script.
>
>>>From a hardware standpoint, we do notice that after the nine minute
> mark the address/data bus in general appear much less active. Seems as
> though prior to nine minutes, there are address/data accesses on the
> SA1110 busses about once per 1.5 uS or so, in burst-chunks of about 14
> at a time, with about 6 uS between burst chunks. After the nine minute
> mark, the burst pace is about once every 14 uS, still in groups of 14
> at a time, with a time-betwee-burst chunk also increased linearly.
>
> Has anyone ever seen anything like this? Any ideas what magic happens
> at the nine minute mark? We have been eliminating hardware slowly, and
> are starting to think it is kernel/driver related. As a test, we
> grabbed an XScale-based Cerfboard running 2.4.18 kernel, and same Card
> Services. We ran the script on this board and it doesn't exhibit the
> problem (though the hardware is obviously also different).
>
> If you've read this far, much appreciated. We've been pulling our hair
> out regarding this one. I don't think Intrinsyic still supports this
> board, but we're following up with them just in case.

We worked on a CerfBoard with SA1110 ;-)
You have to switch to a more recent 2.4 kernel,
I suggest you at least linux-2.4.27.

Best regards

-- 
Marco Cavallini
=====================================================
Koan s.a.s. - Software Engineering
Linux and WinCE solutions for Embedded and Real-Time Software
Klinux : the embedded distribution for industrial applications
  - Atmel AT91 ARM Third Party Consultant
  - Intel PCA Developer Network Member
  - Microsoft Windows Embedded Partner
Via Pascoli, 3  - 24121 Bergamo - ITALIA
Tel. +39-(0)35-255.235 - Fax +39-178-223.9748
http://www.koansoftware.com  -  http://www.klinux.org
=====================================================