27.06.2014, 14:16
|
|
Временная регистрация
Регистрация: 08.01.2007
Сообщений: 92
Сказал спасибо: 17
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: IAR Embedded Workbench
поубирал эти атрибуты на синтаксис не ругается)
Но
[HTML]Linking
Error[e16]: Segment IDATA_I (size: 0x177 align: 0) is too long for segment definition. At least 0x98 more bytes needed. The problem occurred while processing the segment placement command
"-Z(IDATA)IDATA_I,IDATA_Z,IDATA_N=08-_IDATA0_END", where at the moment of placement the available memory ranges were "IDATA:10-1f,IDATA:21-ff"
Reserved ranges relevant to this placement:
IDATA:8-f VREG
IDATA:10-1f IDATA_I
IDATA:21-ff IDATA_I
BIT:0-7 BREG
BIT:80-af SFR_AN
BIT:e8-ef SFR_AN
Error while running Linker
[/HTML]
А так хотел быстро перенести проект в другую среду(((
|
|
|
|
27.06.2014, 14:44
|
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: IAR Embedded Workbench
papa_n, Править скрипт линкера ?
Тупо не хватает памяти .
Бывает когда то что надо в флэш разместить , кидают в RAM ...
__________________
Осторожно , злой кот
|
|
|
|
27.06.2014, 14:57
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от dosikus
|
papa_n, Править скрипт линкера ?
Тупо не хватает памяти .
|
Правь-не правь, памяти это не прибавит.
Сообщение от dosikus
|
Бывает когда то что надо в флэш разместить , кидают в RAM ...
|
Да, нужно попытаться разместить что можно во flash, xdata и тп. Или выкинуть какие-нибудь переменные. Стек может быть сократить.
|
|
|
|
27.06.2014, 15:39
|
|
Временная регистрация
Регистрация: 08.01.2007
Сообщений: 92
Сказал спасибо: 17
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от _Артём_
|
Правь-не правь, памяти это не прибавит.
Да, нужно попытаться разместить что можно во flash, xdata и тп. Или выкинуть какие-нибудь переменные. Стек может быть сократить.
|
В этом и дело( подскажите как в ИАРЕ это сделать, а то я просто убрал и ..
[HTML]code function_type code Alarm_func_array[] [/HTML]
такой масив указателей на функции есть в хидере, при переносе я убрал "code" а то ругалось на синтаксис... с иаром работал токо с МСП430 (( подскажите синтаксис для 51 го а то Хелп ничего мне не дал..
Мерси
|
|
|
|
27.06.2014, 16:22
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от papa_n
|
В этом и дело( подскажите как в ИАРЕ это сделать, а то я просто убрал и ..
|
Нужно смотреть все переменные и либы выкидывать их, либо перемещать куда-нибудь.
Сообщение от papa_n
|
[HTML]code function_type code Alarm_func_array[] [/HTML]
.
|
Может так
Код:
|
_ _code function_type code Alarm_func_array[4]={
....
}; |
?
Сообщение от papa_n
|
такой масив указателей на функции есть в хидере, при переносе я убрал "code" а то ругалось на синтаксис...
|
Почему в хидере? В хидерах такого быть не должно. В них всё черех extern должно быть.
Сообщение от papa_n
|
то Хелп ничего мне не дал..
|
Вот хелп в нете:
ftp://ftp.iar.se/WWWfiles/8051/webic...rReference.pdf
Но к среде он тоже обычно прикладывается, не там искали может быть?
|
|
|
|
18.07.2014, 06:13
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от _Артём_
|
Правь-не правь, памяти это не прибавит.
Да, нужно попытаться разместить что можно во flash, xdata и тп. Или выкинуть какие-нибудь переменные. Стек может быть сократить.
|
Для разиещения данных в ПЗУ необходимо использовать квалификатор __flash. Одного __const недостаточно, ибо этот квалификатор говорит только о том, что данные не должны изменяться программой. Не более того.
|
|
|
|
18.07.2014, 10:17
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от Bill
|
Для разиещения данных в ПЗУ необходимо использовать квалификатор __flash.
|
Невнимательно читаете...
Нету там никакого __flash, есть __code.
Сообщение от Bill
|
Одного __const недостаточно, ибо этот квалификатор говорит только о том, что данные не должны изменяться программой. Не более того.
|
__const тоже нет, есть const. Но он действительно данные во flash не помещает, только запрещает их изменение программой.
|
|
|
|
18.07.2014, 10:26
|
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от Bill
|
Для разиещения данных в ПЗУ необходимо использовать квалификатор __flash. Одного __const недостаточно, ибо этот квалификатор говорит только о том, что данные не должны изменяться программой. Не более того.
|
Для ARM даже такого квалификатора как __flash нет. const, при этом квалификатор стандартный и выполняет свои функции.
Для AVR я использовал квалификатор __flash, так как там определённые особенности архитектуры. Использование квалификатора чётко, кратко и детально было описано в руководстве, которое устанавливается вместе с IAR. C:\Program Files\IAR Systems\Embedded Workbench 6.0\avr\doc\EWAVR_CompilerReference.pdf
Для другого типа процессора, очевидно будет тоже ...
|
|
|
|
18.07.2014, 10:35
|
|
Гражданин KAZUS.RU
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от SasaVitebsk
|
Для ARM даже такого квалификатора как __flash ... Для другого типа процессора, очевидно будет тоже ...
|
Вопрос был про 8051, и там будет не __flash, а __code. Что конечно странно - могли бы и также назвать для однообразия.
|
|
|
|
18.07.2014, 16:54
|
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: IAR Embedded Workbench
Сообщение от _Артём_
|
__const тоже нет, есть const. Но он действительно данные во flash не помещает, только запрещает их изменение программой.
|
Вот тут я как раз опечатался. Конечно же, магическое слово - const.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Подниму тему WinAVR vs IAR
|
oleg110592 |
Микроконтроллеры, АЦП, память и т.д |
5 |
24.10.2015 14:06 |
Часовой пояс GMT +4, время: 09:46.
|
|