Bios, Bootloader and Jump table with AVR GCC I need also to prevent my bios to use the RAM.
Is there a way to do that ?
And also I need my function to save used register(on stack for example).
Is there also a way for this to...
Sunday, 26 July 2020 - 10:46
Bios, Bootloader and Jump table with AVR GCC curtvm wrote:
Why not create the BOOT 2k, APP 23k, APPDATA 23k
APP can write to APPDATA, so BOOT functions not needed
This limits the code to 23kB.
Because it is remote via gsm...
Friday, 24 July 2020 - 20:23
Bios, Bootloader and Jump table with AVR GCC If functions are declared with const, it still uses icall, but value are loaded directly without using RAM
typedef uint16_t (*fptr_u16u16u16_t) (uint16_t, uint16_t);
static const...
Friday, 24 July 2020 - 20:14
Bios, Bootloader and Jump table with AVR GCC I have done that :
typedef uint16_t (*fptr_u16u16u16_t) (uint16_t, uint16_t);
fptr_u16u16u16_t addition = (fptr_u16u16u16_t) 0x0006; // (0x0006/ sizeof(fptr_u16u16u16_t...
Bios, Bootloader and Jump table with AVR GCC clawson wrote:
That adds a level of indirection over what I suggested. That has ICALL then RJMP. What I proposed would be only ICALL.
Sure but getting the address from the table...
Tuesday, 21 July 2020 - 20:14
Bios, Bootloader and Jump table with AVR GCC I think it is easier with JMP or RJMP. I am maybe wrong.
I have found some clue in optiboot code and this seems to work (to put RJMP) :
int main(void);
void biosEraseFlash...
Tuesday, 21 July 2020 - 17:19
Bios, Bootloader and Jump table with AVR GCC @gchapman, I succeeded in placing at 0x0000 an array with address of needed function, but unfortunately, this is not JMP.
I also tried goto, but it seems not to be...
Tuesday, 21 July 2020 - 14:53
Bios, Bootloader and Jump table with AVR GCC westfw wrote:
SPM in AppData section can write anywhere
That's incorrect. SPM in AppData can write NOWHERE.
Obviouly, this is a typo error (I am French)
westfw wrote...
I need also to prevent my bios to use the RAM. Is there a way to do that ? And also I need my function to save used register(on stack for example). Is there also a way for this to...
curtvm wrote: Why not create the BOOT 2k, APP 23k, APPDATA 23k APP can write to APPDATA, so BOOT functions not needed This limits the code to 23kB. Because it is remote via gsm...
If functions are declared with const, it still uses icall, but value are loaded directly without using RAM typedef uint16_t (*fptr_u16u16u16_t) (uint16_t, uint16_t); static const...
I have done that : typedef uint16_t (*fptr_u16u16u16_t) (uint16_t, uint16_t); fptr_u16u16u16_t addition = (fptr_u16u16u16_t) 0x0006; // (0x0006/ sizeof(fptr_u16u16u16_t...
message suppressed because wrong thread. Sorry
clawson wrote: That adds a level of indirection over what I suggested. That has ICALL then RJMP. What I proposed would be only ICALL. Sure but getting the address from the table...
I think it is easier with JMP or RJMP. I am maybe wrong. I have found some clue in optiboot code and this seems to work (to put RJMP) : int main(void); void biosEraseFlash...
@gchapman, I succeeded in placing at 0x0000 an array with address of needed function, but unfortunately, this is not JMP. I also tried goto, but it seems not to be...
westfw wrote: SPM in AppData section can write anywhere That's incorrect. SPM in AppData can write NOWHERE. Obviouly, this is a typo error (I am French) westfw wrote...
Many thanks ! First works and second also. As suggested, I finally keep the -R version.
I use this makefile : ######### AVR Project Makefile Template ######### ###### ###### ###### Copyright (C) 2003-2005, 2017...
Seems the inline string is in text section but not in hex file. test short string : send2net("Hello 2\n");test long string ; send2net("...
Pages