Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Keil v4.7: Где размещаются данные описанные const ?

Непрочитано 04.06.2014, 15:35  
MaxiMuz79
Гражданин KAZUS.RUN
 
Аватар для MaxiMuz79
 
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
MaxiMuz79 на пути к лучшему
По умолчанию Re: Keil v4.7: Где размещаются данные описанные const ?

Сообщение от pambaru Посмотреть сообщение
а тип u8 как объявлен?
Код:
typedef uint8_t  u8;
Реклама:
MaxiMuz79 вне форума  
Непрочитано 04.06.2014, 15:54  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 673 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Keil v4.7: Где размещаются данные описанные const ?

а uint8_t где и как определен?
Вот тестовый проектик в 3 строчки.
const четко влияет на размещение в ПЗУ.

Program Size: Code=366 RO-data=438 RW-data=4 ZI-data=1636
и
Program Size: Code=364 RO-data=424 RW-data=16 ZI-data=1632
Вложения:
Тип файла: rar tst.rar (37.0 Кб, 19 просмотров)
pambaru вне форума  
Непрочитано 04.06.2014, 15:59  
pambaru
Почётный гражданин KAZUS.RUN
 
Регистрация: 24.03.2007
Сообщений: 1,394
Сказал спасибо: 85
Сказали Спасибо 673 раз(а) в 392 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Keil v4.7: Где размещаются данные описанные const ?

Сообщение от MaxiMuz79 Посмотреть сообщение
Попробывал 3 варианта:
- массив без const
- массив c const
- баз массива.
Меняется только размер кода , RO , RW и ZI - остаются прежними.
Может просто CodeKey не используется и компилятор его выкидывает?
pambaru вне форума  
Непрочитано 04.06.2014, 17:30  
MaxiMuz79
Гражданин KAZUS.RUN
 
Аватар для MaxiMuz79
 
Регистрация: 06.04.2010
Адрес: Санкт-Петербург - Волжский
Сообщений: 528
Сказал спасибо: 73
Сказали Спасибо 56 раз(а) в 45 сообщении(ях)
MaxiMuz79 на пути к лучшему
По умолчанию Re: Keil v4.7: Где размещаются данные описанные const ?

Сообщение от pambaru Посмотреть сообщение
а uint8_t где и как определен?
это гдето в глубинах хидеров компилятора обьявляется, беззнаковое целое, размером 1байт. Не в этом дело.
Сообщение от pambaru Посмотреть сообщение
Может просто CodeKey не используется и компилятор его выкидывает?
Действительно, сначало обьявлял массив в прерывании , и там же читал из него в глобальную volatile-переменную , которая использовалась в main-е. При этом в map файле упоминания массива я не нашел.

Потом, переместил массив в обл.глобальных переменных, RO увеличилось на несколько единиц, и map-файле показал использование массива из области кода.
Если убирать const , переменная перемещается в SRAM.

Последний раз редактировалось MaxiMuz79; 04.06.2014 в 17:33.
MaxiMuz79 вне форума  
Непрочитано 04.06.2014, 17:32  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Keil v4.7: Где размещаются данные описанные const ?

Сообщение от pambaru Посмотреть сообщение
Вот тестовый проектик в 3 строчки.
Не так!
Код:
 const u8  CodeKey[]={1,4,7,11,2,5,8,10,3,6,9,12};
// const u8  CodeKey[]={1,4,7,11};

void SystemInit(){
}

int main () 
{
	aaa=CodeKey[i];
	i++;
}


// Program Size: Code=152 RO-data=436 RW-data=4 ZI-data=1028  
// Program Size: Code=152 RO-data=428 RW-data=4 ZI-data=1028
Теперь чётко видно, что ложится в RO, т.е. в ROM. Остальное не изменилось.
STM32F0 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Где найти справочные данные?.. Frol_Kiev Поиск схем. Делимся схемами 1 11.10.2006 02:34


Часовой пояс GMT +4, время: 23:45.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.