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

 
 
> IAR MSP430 оптимизатор кода
KARLSON
сообщение Oct 27 2010, 09:24
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Здравтсвуйте.
Ситуация такая:
Есть 3 переменные, которые необходимо разместить во FLASH памяти.

Код
#pragma memory = constseg(INFOD)      // адреса 1000-103F
const volatile signed char nst
            min_ust = 19, // 3 установленное по умолчанию отрицательное значение
            max_ust = 25, // 4 установленное по умолчанию положительное знание
            config = 1;


Кстати, без слова "const" переменные во флеш не размещаются. Кто-нибудь знает почему?

Эти переменные изменяются пользователем путём стирания и записывания флеш памяти. Значения меняются точно.
Далее
есть кусок кода:

Код
if ((DATA.temperatura > max_ust) || (DATA.temperatura < min_ust)) // если температура вышла из диаппазона    
           {
              // делаем то-то
           }
           else // если норма
           {
              // делаем другое
           }


Без оптимизации в настройках компилятора всё нормально, но стоит включить оптимизацию, то в условии в место max_ust и min_ust компилятор ставит 25 и 19 соответственно. Вся загвоздка скорее всего в ключевом слове const. Но без него переменные оказываются в оперативной памяти.
Без оптимизации не могу, т.к. уже код не умещается в памяти контроллера.

Как выйти из сложившейся ситуации?


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KARLSON
сообщение Oct 27 2010, 11:54
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



Спосибо всем, особенно rezident. Возможно я поступил по Вашему, но через ассемблер. А именно
Создаётся файл info.s43

Код
public max_ust, min_ust, config, count_clear
ASEG 0x1000
max_ust DB 25
min_ust DB 19
config DB 1
count_clear DB 0
end


А до майна у меня вот что:

Код
extern signed char  max_ust, min_ust, config;
extern unsigned char count_clear;


И никаких указателей и структур не надо. Хотя кому как удобно. И обращаемся к ним прямо по именам. Это при оптимизации медиум, при более сложных не проверю, т.к. уже многое не работает при этом)))


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Oct 27 2010, 12:58
Сообщение #3


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

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



Цитата(KARLSON @ Oct 27 2010, 15:54) *
Спосибо всем, особенно rezident. Возможно я поступил по Вашему, но через ассемблер. А именно
Создаётся файл info.s43

И никаких указателей и структур не надо. Хотя кому как удобно. И обращаемся к ним прямо по именам. Это при оптимизации медиум, при более сложных не проверю, т.к. уже многое не работает при этом)))

А вот это, извините, совершенно через жопу, не побоюсь аллюзий.
Хотя кажется, что проще.

А если что-то не работает при максимальной оптимизации, надо добиваться, чтобы работало.
Иначе может вылезти потом каким-нибудь боком.
Когда "щас я тут чуток поменяю" выливается в неделю борьбы с чудесами на [казалось бы] уже отлаженном проекте.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- KARLSON   IAR MSP430 оптимизатор кода   Oct 27 2010, 09:24
- - MrYuran   Цитата(KARLSON @ Oct 27 2010, 13:24) Как ...   Oct 27 2010, 09:49
- - V_N   Да имеется такое в IAR я решаю эту проблему путем...   Oct 27 2010, 09:59
- - rezident   Цитата(KARLSON @ Oct 27 2010, 15:24) Как ...   Oct 27 2010, 11:32
- - jorikdima   Улыбает конечно смотреть на название переменных, н...   Oct 27 2010, 12:46
- - Mahagam   никаких чудес. простая логика. "Кстати, без ...   Oct 27 2010, 13:53
|- - rezident   Цитата(Mahagam @ Oct 27 2010, 19:53) ...   Oct 27 2010, 17:16
- - jorikdima   Цитата(KARLSON @ Oct 27 2010, 13:24) Кста...   Oct 27 2010, 20:43
|- - LightElf   QUOTE (jorikdima @ Oct 28 2010, 00:43) CO...   Oct 29 2010, 18:41
- - k155la3   Цитата(KARLSON @ Oct 27 2010, 12:24) Здра...   Nov 5 2015, 15:07
|- - LightElf   QUOTE (k155la3 @ Nov 5 2015, 18:07) Эхо в...   Dec 4 2015, 12:59
|- - den_po   Цитата(k155la3 @ Nov 5 2015, 18:07) #prag...   Dec 4 2015, 13:32
|- - KRS   Цитата(den_po @ Dec 4 2015, 16:32) Хм. А ...   Dec 6 2015, 19:35
- - den_po   Не увидел в цитатах ничего про то, кому требуется.   Dec 6 2015, 22:35


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

 


RSS Текстовая версия Сейчас: 1st July 2025 - 10:31
Рейтинг@Mail.ru


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