реклама на сайте
подробности

 
 
> flash память, простые действия с памятью
laryc
сообщение Feb 20 2017, 14:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 55
Регистрация: 1-01-10
Из: комсомольск на амуре
Пользователь №: 54 586



Добрый писать и День! Нигде не могу найти подходящую информацию как и извлекать информацию из флешь памяти (есть такая насущность) в IAR.
На ассемблере таких проблем почемуто не возникало.

#include <pgmspace.h>
.......................

unsigned char tt;
const char __flash Sound[3] = {0,1,2};

...включаем компилятор - всё ОК!
..........
далее хочу взять константу из flash ... пишу

tt = Sound[2]; ( .....пробовал _flash Sound[3] ..и по всякому менял синтаксис)

компилятор выдаёт ошибку:

Ошибка [Pe077]: эта декларация не имеет класса хранения или спецификатор типа
Ошибка [Pe147]: декларация несовместима с "неподписанные символ ТТ"
Ошибка [Pe028]: выражение должно иметь постоянное значение


--------------------
никогда не бывает так плохо чтобы небыло ещё хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
k155la3
сообщение Feb 23 2017, 15:04
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848



Обратите внимание на "коварность" (в хорошме смысле) оптимизатора IAR.
Если ОН обнаружит что некая переменная на ЕГО взгляд не используется,
то код для ее "обслуживания" вполне может не сгенерироваться.
Отключайте в отладке оптимизацию.

ps - если есть атрибут в версии AVR IAR __root - попробуйте его.
Смотрите распределение памяти в map-файле.

Сообщение отредактировал k155la3 - Feb 23 2017, 15:06
Go to the top of the page
 
+Quote Post
Obam
сообщение Feb 23 2017, 15:45
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Цитата(k155la3 @ Feb 23 2017, 19:04) *
Обратите внимание на "коварность" (в хорошме смысле) оптимизатора IAR.
Если ОН обнаружит что некая переменная на ЕГО взгляд не используется,
то код для ее "обслуживания" вполне может не сгенерироваться.
Отключайте в отладке оптимизацию.

ps - если есть атрибут в версии AVR IAR __root - попробуйте его.
Смотрите распределение памяти в map-файле.


А от себя добавлю, даже с отключенной оптимизацией гарантирует наличие чего-либо "__required"


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 1 2017, 07:10
Сообщение #4


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(Obam @ Feb 23 2017, 18:45) *
А от себя добавлю, даже с отключенной оптимизацией гарантирует наличие чего-либо "__required"

О, спасибо. Вчера полдня потратил, чтобы найти в ИАРе аналог человеческого __attribute__(("used"))
Немного не так:
Цитата
Example
const char copyright[] = "Copyright by me";
#pragma required=copyright


ну все не как у людей smile3046.gif
beer.gif


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 1 2017, 08:07
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(MrYuran @ Aug 1 2017, 10:10) *
Немного не так:

Гораздо читабельнее:
Код
__root char const __codeSignature[] @ ".codeSignature" =
  "COMPUTER=" ICC_COMPUTER ";" "USER=" ICC_USER ";"
  "DATE=" __DATE__ ";" "TIME=" __TIME__ ";"
  "SVN_revision=" TO_STRING(SVN_REVISION) ";"
  "DEVICE=" concat(FIRMWARE_TARGET_STR_, FIRMWARE_TARGET);
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- laryc   flash память   Feb 20 2017, 14:22
- - amiller   Вам надо было указать платформу, для которой пытае...   Feb 20 2017, 14:37
- - laryc   исправил... платформа IAR AVR 6.12 char tt; __fl...   Feb 20 2017, 14:51
|- - Сергей Борщ   QUOTE (laryc @ Feb 20 2017, 16:51) Три ош...   Feb 20 2017, 16:23
|- - Сергей Борщ   QUOTE (k155la3 @ Feb 23 2017, 17:04) Откл...   Feb 23 2017, 18:51
|- - k155la3   Цитата(Сергей Борщ @ Feb 23 2017, 21:51) ...   Feb 24 2017, 07:02
|- - Сергей Борщ   QUOTE (k155la3 @ Feb 24 2017, 09:02) А на...   Feb 24 2017, 08:14
||- - Obam   По поводу main{} присоединяюсь: ТС троллить пытает...   Feb 24 2017, 10:17
||- - Сергей Борщ   QUOTE (Obam @ Feb 24 2017, 12:17) И вот т...   Feb 24 2017, 13:19
|- - jcxz   Цитата(k155la3 @ Feb 24 2017, 09:02) Разб...   Feb 24 2017, 15:06
||- - k155la3   Цитата(jcxz @ Feb 24 2017, 18:06) Сергей ...   Feb 27 2017, 07:48
|- - zltigo   Цитата(k155la3 @ Feb 24 2017, 09:02) Разб...   Feb 24 2017, 15:41
- - scifi   А я просто ещё раз напомню, что оптимизация требуе...   Feb 25 2017, 08:55
- - Obam   Невольно зачётный троллинг получился (; Ведь у се...   Aug 1 2017, 08:09
|- - jcxz   Цитата(Obam @ Aug 1 2017, 11:09) И самое ...   Aug 1 2017, 08:12
- - Obam   Тут тот самый случай. Полгода в треде ни единого в...   Aug 1 2017, 08:23


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th August 2025 - 07:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01415 секунд с 7
ELECTRONIX ©2004-2016