[Openec] Ladies and Gents, we have a "blinking brick"!

Frieder Ferlemann frieder.ferlemann at web.de
Wed Aug 22 18:33:56 EDT 2007


Hi Richard,

Richard A. Smith schrieb:
> Frieder Ferlemann wrote:
> 
>>
>> Strangely this does not result in the PowerLED toggling at the same
>> intervalls (screenshot appended).
> 
> I bumped up the unapproved size limit for the list to 200k.

Thanks - the screenshots will only be slightly better (the floppy on
the oscilloscope is not functioning so I'm shooting by hand).

>> The long high intervall there repeats about once every 5 seconds
>> (probably a reset issue). Yet the shorter intervals are not equidistant
>> either.
> 
> Odd.  One possibility is that access to the SPI flash is arbitrated
> between both the LPC bus and the 8051.  The in a 3700 CPU gets priority.
> (3700B fixes that).  We have had cases were the CPU can starve the 8051
>  of ROM access cycles and cause watchdog time outs and other timing
> issues.  So if the CPU is somehow resetting or (running a big noop loop)
> and every 5 seconds and tying to access the FLASH ROM then it might be
> causing this.
> 
> Use another channel on your scope and see if the LPC LFRAME signal is
> getting asserted a lot during the long pulse.

I have not yet tried to power up the XO so LFRAME is statically
low (measured).

To check whether the PLL is stable I used a short endless loop
which toggles the power LED.
This is the assembly listing (cut and paste from main.rst)


                           1025 ;       main.c:231: while(1)
   032B                    1026 00108$:
                           1027 ;       main.c:233: LED_PWR_ON;
                           1028 ;       main.c:234: LED_PWR_OFF;
   032B 90 FC 21           1029         mov     dptr,#_GPIOD08
   032E E0                 1030         movx    a, at dptr
   032F 44 02              1031         orl     a,#0x02
   0331 F0                 1032         movx    @dptr,a
   0332 E0                 1033         movx    a, at dptr
   0333 FA                 1034         mov     r2,a
   0334 54 FD              1035         anl     a,#0xFD
   0336 F0                 1036         movx    @dptr,a
                           1037 ;       main.c:266: debug_uart_ping();
   0337 80 F2              1038         sjmp    00108$

and a screenshot measured at the driving transistor.
PLL seems to be stable. And there seems to be no problem
about every 5 seconds either. Unfortunately I probably
won't find much time to check whether its IRQ/Timer/whatever
related until about Sunday. (Maybe switching on the Test Mode
for the timer was not wise - just toggling without the IRQ
looks fine now).


>> Another flash related topic: during my updating the OLPC I have
>> lost the content of the uppermost 1 kByte of the flash.
>> I backed it up first (at least I thought so) with OFW
>> to an USB stick (IIRC with read-flash u:\flash.bin)
>> but when I tried to reinstall that image it turned out
>> to be only 1047552 bytes (instead of 1048576 bytes) long.
>> Is this known/intended?
> 
> Hmmm... I can't really say that I've used read-flash.  Perhaps it did
> not save the manufacturing info because the write procedure reads that
> from the laptop and merges it into the image you are about to write.

Before resorting to read-flash I had tried to use ./forth spiflash.dic
to read the flash but it would not let me:

ok read-flash myfile.rom
spi! <--deferred word not initialized

So I gave OFW a go and tried my luck there. Unfortunately I had only
a short glance at the file length and as it was above 1E6 bytes it
looked OK to me.

Greetings,

Frieder

-------------- next part --------------
A non-text attachment was scrubbed...
Name: short_loop.jpg
Type: image/jpeg
Size: 41804 bytes
Desc: not available
Url : http://lists.laptop.org/pipermail/openec/attachments/20070823/e0c31b20/attachment-0001.jpg 


More information about the Openec mailing list