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

 
 
 
Reply to this topicStart new topic
> что надо настроить в IAR, что бы заработала директива __no_init
-=Space=-
сообщение Aug 26 2008, 14:43
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 14-01-05
Из: Москва Зеленоград
Пользователь №: 1 962



проц atmega 128
пытаюсь обявить перменную без инициализации по включению питания

объявляю так __no_init unsigned int my_variable;

получаю error

Error[e16]: Segment NEAR_N (size: 0x2 align: 0) is too long for segment definition. At least 0x2 more bytes needed. The problem occurred
while processing the segment placement command "-Z(DATA)NEAR_N=_..X_EXT_NV_BASE:+_..X_EXT_NV_SIZE", where at the
moment of placement the available memory ranges were "DATA:10ff--1"


пытался в xcl файлах прописать X_EXT_NV_BASE и X_EXT_NV_SIZE в область внутренней памяти, разрешить внешнюю память с адресами совпадающими с внутренней (внешней памяти нету), но получал все новые и новые ошибки.

так как правильно отредактировать xcl?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 26 2008, 14:52
Сообщение #2


Гуру
******

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



Цитата(-=Space=- @ Aug 26 2008, 17:43) *
пытался в xcl файлах прописать X_EXT_NV_BASE и X_EXT_NV_SIZE в область внутренней памяти
Это было правильное решение. Покажите, как именно вы пытались это сделать?


--------------------
На любой вопрос даю любой ответ
"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
sKWO
сообщение Aug 26 2008, 14:58
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 355
Регистрация: 27-03-07
Из: Україна, Чуднів
Пользователь №: 26 530



Подозреваю что файл вы взяли как по умолчанию идёт с иаром.
Попробуйте взять файл из папки \avr\config установленного продукта, скопируйте в папку своего проекта и укажите на него линкеру: Options->General->Target->Configure system using dialogs (снимите галочку); Options->XLINK->Include->XCL file name... (тот файл что Вы скопировали в папку проекта).
А дальше уже с ним экспериментируйте.


--------------------
нельзя недооценивать предсказуемость глупости
Go to the top of the page
 
+Quote Post
-=Space=-
сообщение Aug 27 2008, 06:48
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 105
Регистрация: 14-01-05
Из: Москва Зеленоград
Пользователь №: 1 962



взял из config\ файлик lnkm128s.xcl , подключил к линкеру

ошибку
Fatal Error[e38]: Option -H must not be defined more than once: -H1895
исправил , закоментировав -H1895

остались варнинги
Warning[w2]: Symbol _..X_HEAP_SIZE is redefined in command-line
Warning[w2]: Symbol _..X_NEAR_HEAP_SIZE is redefined in command-line
Warning[w2]: Symbol _..X_CSTACK_SIZE is redefined in command-line
Warning[w2]: Symbol _..X_RSTACK_SIZE is redefined in command-line
Warning[w2]: Symbol _..X_EXT_SRAM_BASE is redefined in command-line

сам проект вроде работает.

все правильно? стоит дальше редактирвоать xcl что б варнинги убрать?
где второй раз прописывается опция -H?
В настройках General Options\system\ галочка initialize unused interrupt ... оно?
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Aug 27 2008, 07:45
Сообщение #5


Гуру
******

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



Цитата(-=Space=- @ Aug 27 2008, 09:48) *
все правильно? стоит дальше редактирвоать xcl что б варнинги убрать?
.xcl не при чем. Снимите галочку, как sKWO написал.
Цитата(-=Space=- @ Aug 27 2008, 09:48) *
где второй раз прописывается опция -H?
В настройках General Options\system\ галочка initialize unused interrupt ... оно?
Да.


--------------------
На любой вопрос даю любой ответ
"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

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

 


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


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