...strings into flash


The idea here is to override each string in the code so that it ends up in flash.


__flash char str1[] = "abcdef";

__flash char str2[] = "ghi";

__flash char __flash * pVar[] = { str1, str2 }; 


[링크 : https://www.iar.com/support/tech-notes/compiler/strings-with-iccavr-2.x/]



#include <avr/pgmspace.h>

.

.

.

unsigned char mydata[11][10] PROGMEM =

{

    {0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09},

    {0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13},

    {0x14,0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D},

    {0x1E,0x1F,0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27},

    {0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,0x30,0x31},

    {0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x3A,0x3B},

    {0x3C,0x3D,0x3E,0x3F,0x40,0x41,0x42,0x43,0x44,0x45},

    {0x46,0x47,0x48,0x49,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F},

    {0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59},

    {0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,0x60,0x61,0x62,0x63},

    {0x64,0x65,0x66,0x67,0x68,0x69,0x6A,0x6B,0x6C,0x6D}

}; 


[링크 : http://www.nongnu.org/avr-libc/user-manual/pgmspace.html]

'embeded > AVR (ATmega,ATtiny)' 카테고리의 다른 글

avr hex start addres 다시 설정이 가능할까?  (0) 2017.02.12
우리로봇기술 사이트 폐쇄  (0) 2016.08.24
부품들 정리  (0) 2016.04.16
avr pwm timer 계산기  (0) 2016.04.14
atmega sram external  (0) 2016.04.12
Posted by 구차니