On 28.08.2016 21:44, Philipp Klaus Krause wrote:
> On 28.08.2016 15:05, Benjamin Larsson wrote:
>> Hi.
>>
>>>
>>> I have serial output on the C8051F330 board RDM6300 working via
>>> putchar() (see attached code). But whenever I try to use printf(),
>>> everything gets messed up: Garbage output on the serial line or the
>>> device resets.
>>
>> That is exactly the same behaviour I got on the F330. My code is a mess 
>> but it triggers exactly in the same way.
>>
>>>
>>> I've tried different memeory models and reentrency, but don't see a
>>> change in behaviour. printf() takes us over 4K of flash, but the
>>> C8051F330 has 8KB, so we should be ok.
>>>
>>> Philipp
>>
>> I used my own function to send strings and tried all kinds of tricks but 
>> couldn't get around this issue. The Keil compiler that you get with the 
>> Silabs Simplicity Studio works without any problems for me. Maybe it 
>> would be worth porting your small example to Keil and see the difference 
>> in assembly ?
>>
>> MvH
>> Benjamin Larsson
> 
> Actually, printf() does not really reset the device (sfr contents are
> not reset to their default values after terminating a program via
> printf()). That means it jumps to the start of main() some other way.
> 
> Philipp

It seems any printf() call causes some problem (hang, jump to main
somehow, whatever) - even printf("").

Philipp


------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to