On Fri, 2 Oct 2015 18:58:20 +0200
Georg Icking-Konert <[email protected]> wrote:
> hello all,
>
> may I bother you again with a question about how to execute code in the RAM
> of STM8…?
>
> For routines in RAM (as mandatory for STM8 flash block write/erase), I
> understand the steps are:
>
> compile & link routine for address in RAM —>
> works now using #pragma in C code and —codeseg for linker (see
> [bugs:#2421]; thanks to Ben Shi!)
>
> tell linker to reserve flash space for above RAM routine (required for step
> 3) —>
> I implemented an unused routine which contains N _nop_ operations. But
> isn’t there an easier way, e.g. "const code byte buf[N]“ or so…?
It's not entirely pretty but for similar things I do the following
fairly portable sequence:
link the program for RAM
turn the binary code block into C format hex with a tool like xd
and then do
const uint8_t download[] = {
#include "downloader.hex"
};
then just memcpy it into place
and you can have the Makefile do all the steps as needed in the right
order.
Alan
------------------------------------------------------------------------------
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user