Weird problem on rs232 vs USB-serial...

mike antispam21 at
Tue Feb 24 22:35:49 UTC 2009

Thanks Jiri,
What puzzled me was that the same bootrom/RTEMS app worked
fine if the target UART connected to USB<->serial...

We can live with it (using USB<->serial instead of ttyS1) but I just
couldn't keep it out of my head as to why can this happened.. :-)


Jiri Gaisler wrote:
> The problem might be with your boot loader. We have created many
> RTEMS boot images with mkprom/mkprom2 and never seen this problem.
> If you use LEON2FT, then you also have to wash all registers
> and memory to initialize the BCH checksum, before launching RTEMS ...
> mike wrote:
>> Thanks Jiri,
>> 1) with grmon, everything was fine. The target DSU was connect on 
>> ttyS0 and Uart on ttyS1.
>>   We always used 'grmon -freq 66 -leon2', and it connected fine. 
>> 'load xxx' then 'run' was fine as
>>   I could see the RTEMS shell coming up on ttyS1 (with minicom 
>> connected to
>>   ttyS1, 38400, 8N1 and no flow control). The target has a basic 
>> bootrom but
>>   we were not using it in this case. The exe file was an executable 
>> linked and
>>   resolved to 0x41000000 (for our purpose).
>> 2) Now, when we were not using grmon, on power up the target, the 
>> bootrom
>>    messages came up on ttyS1 as expected. We then loaded the same 
>> RTEMS app
>>    to ram at 0x41000000 with the bootrom ( and with minicom raw 
>> upload), with a binary
>>   file produced from .exe in (1)  above by sparc-rtems-objcopy -O 
>> binary,
>>  then jump to 0x41000000. Nothing  on ttyS1
>> 3) the funny thing is, with the target uart port connected to 
>> usb<->serial, repeating
>>    (2) above worked as expected (RTEMS shell came up on ttyUSB0, with
>>   minicom connected to ttyUSB0, same 38400, 8N1, no flow control.
>> Anything else I can look? Thanks!
>> -mike-
>> PS:
>> - the bootrom set the target uart to 38400, no flow control ,  8N1
>> - I set it (0x80000078 & 7c, UART control/scaler) again in the RTEMS 
>> app, just to test. No change.
>> - I use shell.c in the RTEMS tree. I also set B38400 there. No change.
>> Jiri Gaisler wrote:
>>> If you load your application via grmon, check that the
>>> detected target frequency is correct. Grmon will use
>>> this frequency to set the baud rate of the UARTs.
>>> If the frequency is wrong, the baud rate will be
>>> set wrong and your host UART will not receive the
>>> characters. Try to use the -freq XX option when starting
>>> grmon to specify the target system frequency.
>>> Jiri.

More information about the users mailing list