В 41-й строки вы говорите компилятору, что переменная у вас должна размешаться в программной памяти. На самом деле, вам нужно объявить указатель на переменную в программной памяти. Поэтому нужно изменить код:str_key_cod __flash *ptr = tab_keys_code; Или нет?