On 30.03.2014 00:41, Master Postfach wrote:
> hello all,
> after evaluating SDCC for STM8 for a few weeks now, I still have
> some questions. I hope they are simple, and that someone will
> answer them. For your support thanks a lot in advance!!! :-)
> here?re my questions:
> * currently I use SDCC via an ASCII editor and a console. Is ok,
> but feels solo 80s? ;-)
Is there any *IDE with built-in support*
> or configurable for SDCC/STM8? Ideally with compiling, linking,
> upload and debug (see below wish list)
Someone did some work for Code::Blocks, but I didn't try ithttp://www.mikrocontroller.net/topic/326808
(post in GErman, but there
shuld be English instructions in the download).
> * since I?m into physical computing, debugging via simulator is not
> a viable option. Is there a *debugger with GUI*, which supports
> SDCC and ST-Link (from STM8 discovery board)? If required, R-Link
> would also be ok
AFAIK, not yet.
> * does SDCC for STM8 also support *float operations*? I try to
> avoid float wherever possible, but sometimes it would come very
> handy, independent of speed and memory. In the (8051) manual it
> seems so, but I always get an error message when I try an operation
> with float numbers
float is supported. The stm8 port passes the regression tests,
incuding the tests of foat operations. There is no support for double
though: sdcc emits a warning for doubles and replaces them by floats.
> * how can I write *code to execute from RAM*? I need to log data
> to flash, but since the flash is single-ported, the actual flash
> operations have to be executed from RAM (or so I think).
According to my understanding of the stm8 architecture you should be
able to have both code and your data in flash (resulting in a few
pipeline stalls once in a while, which slow your code down a bit;
however AFAIK the RAM data bus is just 8 bits wide, so you'd get even
more pipeline stalls with code in RAM). But I haven't done something
like this before.
> * if *printf/sprintf supported* by SDCC/STM8? Of course each
> instance could be replaced somehow, but I?d rather not sieve
> through all my old projects...
printf() and sprintf() are supported.
> * how do I *specify flash segments/locations for the linker*? I
> need to reserve some part of the flash for data logging, but I
> don?t know how to tell the linker which
I don't use such functionality often, but AFAIR, the -b option
(possibly with some custom area for the reserved part) should help.
> * and, last but not least, *how can I define a far pointer* to a
> >64kB address (i.e. 24 or 32 bit)
Far pointers are not supported yet.