Re: [avr-gcc-list] Align Data and RAM Gaps

2014-08-09 Thread Thomas D. Dean
On 08/09/14 01:18, Erik Christiansen wrote: Thanks for the reply. Interesting. I think the solution I will use is to put the buffer between __bss_end and the stack. Initializing in C: extern unsigned int __bss_end; ... buffer_base = (uint8_t *)(__bss_end & 0xff80) + 0x80 buf_head_ptr = spi_

Re: [avr-gcc-list] Align Data and RAM Gaps

2014-08-09 Thread Erik Christiansen
On 09.08.14 18:18, Erik Christiansen wrote: > >ldiw Z,buf What, that's not an avr mnemonic? It is if you have this in a header file: ; Data Pointer (or any word value) initialisation of a register pair. ; Usage: ldiw Y,some_data ;ldr16,Y ; OR lpm r16,Y if some_data is

Re: [avr-gcc-list] Align Data and RAM Gaps

2014-08-09 Thread Erik Christiansen
On 08.08.14 12:43, Thomas D. Dean wrote: > I have a 256 byte buffer that is accessed with two pointers, head and tail. > > In the AS code, I want to only save the low order byte of the pointer. This > is do-able, if the buffer is aligned at 0x0100. At the cost of 2-byte arithmetic in the queue an