AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
06.11.2015, 11:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от mag58
|
кто то,возможно опять скажет,что
- "жизнь не так длинна ,чтобы писать программы Ассемблере "(с)
|
Вот пишу я на ассемблере. И трудности не в конструкциях языка, а в реализации алгоритма, там всякие варианты входных сигналов, времена. Чем мне поможет си?
Сообщение от mag58
|
такая программка на ассемблере не то что для ATMega48,
а для AТtiny13 с памятью 1К заняла бы не более 1- 5 % от всей памяти..
|
Сконфигурить 16-разрядный таймер. Всё.
(если не устраивает нога OC1A, добавить 4 оператора в прерывание)
|
|
|
|
06.11.2015, 12:50
|
|
Прохожий
Регистрация: 24.08.2007
Сообщений: 9
Сказал спасибо: 197
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
"жизнь не так длинна ,чтобы писать программы на Ассемблере "(с) - не согласен!
На собственном опыте убедился, что на ассемблере программа пишется легко и непринужденно! И занимает места в FLASH памяти 5 - 10 раз меньше, чем программа написанная на C/C++.
|
|
|
|
06.11.2015, 13:00
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,563
Сказал спасибо: 181
Сказали Спасибо 3,158 раз(а) в 2,044 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от sanstan
|
Компилятор пишет, что память занята более чем на 100%.
Что можно сделать?
|
написать на ассемблере 20 строчек кода. займет 0,5%
Сообщение от Easyrider83
|
Вот они - программисты будущего!
|
угу
вот об этом я и писал в соседней ветке.
да здравствует си самого высокого уровня!!!!
проц не просто завис, он даже код не вместил))))
и вопрос именно такой какой я и прогнозировал - а что делать?
а потом удивляемся почему пентиум8 тупит на 10ггц))))
__________________
кагмаподэ магмаподэ
|
|
|
|
06.11.2015, 13:03
|
|
Гуру портала
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,563
Сказал спасибо: 181
Сказали Спасибо 3,158 раз(а) в 2,044 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от mag58
|
когда речь идёт о нехватке памяти,для таких простых задач,
|
не только о нехватке памяти а и о загрузке проца на 80%
__________________
кагмаподэ магмаподэ
|
|
|
|
06.11.2015, 13:26
|
|
Прописка
Регистрация: 14.09.2010
Сообщений: 105
Сказал спасибо: 9
Сказали Спасибо 15 раз(а) в 11 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от kvp7206
|
"жизнь не так длинна ,чтобы писать программы на Ассемблере "(с) - не согласен!
На собственном опыте убедился, что на ассемблере программа пишется легко и непринужденно! И занимает места в FLASH памяти 5 - 10 раз меньше, чем программа написанная на C/C++.
|
Не согласен! категорически. В 5-10 раз больше места, программа на С может и займет если она окромя как "дрыгать одной ногой" больше ничего не делает. А вот если надо сделать серьезный проект то все с точностью чуть ли не наоборот. А реально прирост объема кода С-шной программы не превышает 10%. Из личной практики скажу, что мне в моих же программах написанных на ASMe несколько лет назад труднее разобраться чем в чужих написанных на С.
|
|
|
|
06.11.2015, 13:29
|
|
Гуру портала
Регистрация: 06.05.2005
Адрес: Краснодар, возле укротворного моря.
Сообщений: 18,904
Сказал спасибо: 2,542
Сказали Спасибо 11,816 раз(а) в 5,922 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Может, хватит пурги, утята? Говна можно и на асме наваять, даже еще лучше получится.
__________________
Не бейте больно, ежели чо, ну не удержался... А вааще,
"Мы за все хорошее, против всей х..., По лугам некошеным чтобы шли ступни,
Чтобы миром правила правда, а не ложь, Мы за все хорошее, нас не на...!
..." (Ленинград)
Я не несу ответственности за свои действия в Вашей голове.
|
|
|
|
06.11.2015, 13:49
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от sanstan
|
Создал проект в AVR Studio 4.16 для ATMega48 на GCC.
Автоматически добавились стандартные библиотеки.
Написал простую программу - моргнуть лампочкой и сохранить в EEPROM.
Компилятор пишет, что память занята более чем на 100%.
Что можно сделать?
|
Поставить нормальную студию, ну там 4.18 или 4.19. Почему? Наврядли у кого-то 4.16 сохранилась на компе или кто-то возжелает её ставить. У 4.16 были какие-то причуды, давно уже это было, тонкостей не помню. 4.18 и 4.19 ещё в ходу, кто-то прогонит проект у себя и посмотрит.
Смотреть настройки проекта. От разных настроек можно получить не только разный результат, но и разные веселухи.
Опции настроек смотреть в доках. В инете тоже много интересного найти можно, главное не лениться.
В вашем случае компилятор лепит всё что нужно и не нужно, отсюда и такой результат.
=============
GCC очень мощный инструмент. И как любой инструмент он может филигранно выполнить свою работу, а может и разочаровать. Всё дело в том, кто и как пользуется этим инструментом.
Последний раз редактировалось STM32F0; 06.11.2015 в 13:52.
|
|
|
|
06.11.2015, 14:01
|
|
Почётный гражданин KAZUS.RU
Регистрация: 08.10.2007
Сообщений: 2,760
Сказал спасибо: 1,105
Сказали Спасибо 1,037 раз(а) в 569 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от индюк
|
написать на ассемблере 20 строчек кода.
|
8 команд.
ldi tmp1,(1‹‹COM1A0)
out TCCR1A,tmp1
ldi tmp1,(1‹‹WGM13)|(1‹‹WGM12)|(1‹‹CS12)
out TCCR1B,tmp1
ldi tmp1, high(FCLK/(TOCR*2*NCNT1)-1)
out ICR1h,tmp1
ldi tmp1, low(FCLK/(TOCR*2*NCNT1)-1)
out ICR1l,tmp1
Я пишу с макросами, так:
sti TCCR1A,(1‹‹COM1A0)
sti TCCR1B,(1‹‹WGM13)|(1‹‹WGM12)|(1‹‹CS12)
out2i ICR1,FCLK*1000/(TOCR*2*NCNT1)-1
конечно, надо задать константы
.equ FCLK = 8000000 ; тактовая частота
.equ TOCR = 1000 ; период моргания 1 сек
.equ NCNT1 = 256 ; делитель прескалера
.def tmp1 = r16
всё.
|
|
|
|
06.11.2015, 14:02
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
|
|
|
|
06.11.2015, 14:04
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Минимальный проект на ATMega48 занял 100,6% памяти
Сообщение от mag58
|
возможно посоветуют переходить на STM32,по причине,что ATMega48 - "вчерашний день"
|
Ну если уже по меге некому подсказать, то это будет единственно правильное решение.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:14.
|
|