> Wiadomość napisana przez David Brown <david.br...@hesbynett.no> w dniu 
> 24.02.2019, o godz. 14:58:
> 
> 
> 
> On 24/02/2019 14:47, Łukasz Kostka wrote:
>>> Wiadomość napisana przez David Brown <david.br...@hesbynett.no 
>>> <mailto:david.br...@hesbynett.no>> w dniu 24.02.2019, o godz. 12:13:
>>> 
>>> 
>>> This sort of thing has been an issue for all sorts of small 
>>> microcontrollers, and all their compilers, since their inception.  It is 
>>> not solvable in an ideal way that gives maximal convenience to programmers 
>>> and still results in efficient code.  The only good solution is to move 
>>> away from such cpu designs - there are very few reasons for choosing a core 
>>> such as the AVR rather than an ARM, MIPS or RISC-V alternative.  (You might 
>>> choose the AVR device for its peripherals, or pin package, or power usage - 
>>> but not for its core.)
>> Yes I know that AVR are old architecture.
>> I will move sooner or later to RISC-V or ARM. In fact bought some board from 
>> sparkfun.
>> Does it mean that in newer cpu designs storing read only variables in flash 
>> is easier than in AVR ?
> 
> Most 16-bit and 32-bit cpus have a single address space.  Since the same 
> instructions are used to access data whether it is in ram or flash (or, in 
> most cases, IO register areas), there is no longer any issue.
> 
> The AVR uses different instructions for accessing data from flash and from 
> ram, which is what causes the complications.
Thx for clarification
BTW. Do you know if any ARM cortex or RISC-V provide such instructions to 
access data in flash / rodata ?

Reply via email to