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

 
 
> организовать сегмент во flash, читал-читал - ничего не понял...
1921
сообщение Jan 19 2011, 15:59
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 29-09-10
Пользователь №: 59 820



Прочитал, как хранить данные во fash по определённому адресу с помощью директивы __location.
Проблема возникла в том, что по этому адресу размещается только константа, следующая непосредственно за директивой. Остальные же линковщик распихивает по своему разумению. Можно ли и как организовать сегмент в flash по определённому адресу, чтобы в нём лежала группа переменных?
Читал-читал - ничего не понял...
#pragma location=0x8000
const unsigned char buf[5]={0,0,0,0,0}; - вот эта лежит на 8000
const unsigned char buf1[10]={48,49,50,51,52,53,54,55,56,57}; - а все ниже где-то в другом месте.
const unsigned char buf2[8]={0,1,2,3,4,5,6,7};
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Jan 20 2011, 11:41
Сообщение #2


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

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



По-моему, есть ещё #pragma section или что-то навроде.
Объявите свою секцию и пихайте туда.
Хотя структура в любом случае красивее, данные связаны и сгруппированы.
Вот ещё из FAQ от Сергея Борща:
Цитата
14)
Q: Как при написании программы разместить начальные данные в сегменте информационной памяти Flash?
A:
Для компилятора IAR в управляющем файле линкера MSP430xxxxxx.xcl определен сегмент INFO. Поместить в него данные можно при помощи команды компилятору #pragma memory = constseg(INFO) и атрибута const. Например:
#pragma memory = constseg(INFO)
const char * HelloString="Hello";
const float One = 1.0;
#pragma memory = default;
Эти данные попадут в сегмент INFO при программировании кристалла.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 20 2011, 11:51
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (MrYuran @ Jan 20 2011, 13:41) *
Вот ещё из FAQ от Сергея Борща:
Когда это писалось, компилятор имел версию 2.хх


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jan 20 2011, 12:00
Сообщение #4


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

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



Цитата(Сергей Борщ @ Jan 20 2011, 14:51) *
Когда это писалось, компилятор имел версию 2.хх

Значит, надо взять в руки Compiler Reference и найти 10 отличий sm.gif


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

Сообщений в этой теме
- 1921   организовать сегмент во flash   Jan 19 2011, 15:59
- - rezident   Дело в том, что эта прагма действиует только на од...   Jan 19 2011, 16:23
|- - 1921   Цитата(rezident @ Jan 19 2011, 19:23) Дел...   Jan 20 2011, 11:20
||- - rezident   Цитата(1921 @ Jan 20 2011, 16:20) А прагм...   Jan 20 2011, 12:59
||- - jorikdima   Цитата(1921 @ Jan 20 2011, 14:20) Кстати ...   Jan 20 2011, 13:18
|- - 1921   Цитата(rezident @ Jan 19 2011, 19:23) Дел...   Jan 20 2011, 14:15
|- - 1921   Видите ли, боюсь, но память info меня не устроит. ...   Jan 20 2011, 12:55
- - jorikdima   А так: Кодtypedef struct { unsigned char buf...   Jan 20 2011, 14:20
|- - 1921   Цитата(jorikdima @ Jan 20 2011, 17:20) А ...   Jan 20 2011, 14:25
- - rezident   Вот так попробуйте Кодtypedef struct MyPar_t { u...   Jan 20 2011, 14:27
|- - 1921   будет warning с предупреждением о том, что вы две ...   Jan 20 2011, 14:40
- - rezident   А блин! там const лишний. Извиняюсь. Вот так в...   Jan 20 2011, 14:42
|- - 1921   Цитата(rezident @ Jan 20 2011, 17:42) А б...   Jan 20 2011, 14:53
|- - rezident   Цитата(1921 @ Jan 20 2011, 19:53) То же с...   Jan 20 2011, 14:57
|- - 1921   Цитата(rezident @ Jan 20 2011, 17:57) Я п...   Jan 20 2011, 15:02
|- - rezident   Цитата(1921 @ Jan 20 2011, 20:02) Провери...   Jan 20 2011, 15:19
|- - 1921   Цитата(rezident @ Jan 20 2011, 18:19) Уст...   Jan 20 2011, 15:31
- - rezident   Перечитайте еще раз сообщение №13. Я там пояснил д...   Jan 20 2011, 15:35
- - =DS=   В последних версиях компилятора введен специальный...   Jan 21 2011, 19:17
- - 1921   Цитата(=DS= @ Jan 21 2011, 22:17) В после...   Jan 31 2011, 10:12


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

 


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


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