String array in ROM gives error in spite of following example code.
Royce Pereira <[email protected]>
| Newsgroups | gmane.comp.hardware.avr.gcc |
|---|---|
| Message-ID | <CACzHknjUHOC7Z1SzZrZ_0cZi=UAU=6MBGkmD65Sv-ZUm+LzAew@mail.gmail.com> |
Hi,
I recently updated WinAVR to a newer version of the AVR-GCC toolchain,
downloaded from the Atmel site.
My version is this:
avr-gcc (AVR_8_bit_GNU_Toolchain_3.4.3_1072) 4.8.1
My code was compiling without errors before, but with this version, it
is giving errors in spite of following the instructions in the faq
section of the avr-libc document.
//---------------------------------------------
#include <avr/io.h>
#include <avr/pgmspace.h>
const char ptmpUP_msg[] PROGMEM = "Upper Temp" ;
const char ptmpDN_msg[] PROGMEM = "Lower Temp" ;
const char ptmpCLG_msg[] PROGMEM = "Chiller Temp" ;
PGM_P pgtmp_msg[] PROGMEM =
{ ptmpUP_msg, ptmpDN_msg, ptmpCLG_msg,} ;
//------------------------------------------------------
The above code gives the following error:
error: variable 'pgtmp_msg' must be const in order to be put into
read-only section by means of '__attribute__((progmem))'
//-----------------------------------------------------
But I have followed the avr-libc example exactly.
So why is this error thrown and whats the correct way to do this ?
Thank You.
--
Best Regards,
-- Royce Pereira