Например TDA7294

Форум РадиоКот :: Просмотр темы - МК ATtiny261 простая программа не помесщается в памяти
Форум РадиоКот
https://radiokot.ru/forum/

МК ATtiny261 простая программа не помесщается в памяти
https://radiokot.ru/forum/viewtopic.php?f=57&t=181895
Страница 1 из 1

Автор:  Sergiusz [ Ср мар 23, 2022 02:06:53 ]
Заголовок сообщения:  МК ATtiny261 простая программа не помесщается в памяти

Здравствуйте уважаемые форумчане. Я совсем зеленый новичок, хочу научиться программировать МК т сразу столкнулся с проблемой.
Взялся за освоение AVR Studio, начал понемногу изучать язык Си для AVR. Нашей учебник, и на МК ATMEGA8L понемногу изучаю. Использую Proteus, и с МК ATMEGA8 все идет нормально.
Но вот решил то же самое проверить на МК Attiny261, потому что их у меня 10 шт. не жалко если одна испортится. И столкнулся с такой проблемой, начал с простейшей программы мигание светодиода. В AVR Studio нормально получил файл типа Hex. Но вот когда агчал его проверять на Proteuse, то ничего не идет, выдается сообщение что объем программы не умещается в памяти МК. И ни в какую не проходит даже простейшая прорамма.
Правда объем памяти Attiny261 2 кбайта, а файл Imia.hex около 9 кбайт. Но ведь это простейшая программа - мигает один светодиод. И она не помещается в памяти????
Вот текст на Си:
/*
* AVRGCC1.c
*
* Created: 18.03.2022 7:12:07
* Author: Admin
*/

#define F_CPU 8000000
#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
DDRB = 0xFF;
PORTB = 0b00000000;
while(1)
{
PORTB |= (1<<(PORTB0));
_delay_ms(500);
PORTB &= ~(1<<(PORTB0));
_delay_ms(500);
}

}
А что будет если пробовать зашить программу мигания гирлянды светодиодов ???
Что-то тут не так.
Очень прошу помощи, разобраться в чем дело, и как заставить МК Attiny261 принять такой простой код.

Автор:  phalanx [ Ср мар 23, 2022 06:31:08 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Нет ничего криминального в программе. Приведите полный ответ компилятора - линкера.

Автор:  ARV [ Ср мар 23, 2022 07:38:00 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

размер HEX-файла не должен никак вас пугать, он ни о чем не говорит. смотрите выхлоп программы avr-size - после компиляции она обязательно вызывается и показывает, сколько реально памяти отъела программа.

Автор:  pyzhman [ Ср мар 23, 2022 07:57:30 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

...что объем программы не умещается в памяти МК...

Скинь сюда скриншот протеуса с этим сообщением. Подозреваю, что не тот файл указываешь для мк.

Автор:  Sergiusz [ Чт мар 24, 2022 11:07:56 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Вот так ругается Протеус:
ISIS Release 8.06.02 (Build 23525) (C) Labcenter Electronics 1990- 2017.
Compiling design 'E:\AVR-projekty\Atmega261\test02\Test03.pdsprj'.
Netlist compilation completed OK.
Netlist linking completed OK.
Partition analysis completed OK.
Simulating partition [AC81A74A]
PROSPICE 8.04.00 (Build 21720) (C) Labcenter Electronics 1993-2017.
Loaded netlist 'C:\DOCUME~1\Admin\USTAWI~1\Temp\LISA8842.SDF' for design 'Test03.pdsprj'
AVR Release 8.3SP0 build 22019 for ATTINY261. [U2]
Loading HEX file 'test02\Debug\test02.hex'. [U2]
Program file is too big for the microcontroller: flash size = 2048, load address = 2048, number of bytes = 16.
Real Time Simulation failed to start.

Последние 2 строки красным

А вот это сообщение компилятора:
------ Build started: Project: test02, Configuration: Debug AVR ------
Build started.
Project "test02.avrgccproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCC.targets" from project "E:\AVR-projekty\Atmega261\test02\test02\test02.avrgccproj" (target "Build" depends on it):
Using "RunAvrGCC" task from assembly "C:\Program Files\Atmel\AVR Studio 5.0\Vs\AvrGCCLib.dll".
Task "RunAvrGCC"
C:\Program Files\Atmel\AVR Studio 5.0\AVR ToolChain\bin\make.exe all
AVR Memory Usage
----------
Device: attiny261
Program: 3360 bytes (164.1% Full)
(.text + .data + .bootloader)
Data: 8 bytes (6.2% Full)
(.data + .bss + .noinit)
Done executing task "RunAvrGCC".
Done building target "CoreBuild" in project "test02.avrgccproj".
Target "PostBuildEvent" skipped, due to false condition; ('$(PostBuildEvent)' != '') was evaluated as ('' != '').
Target "Build" in file "C:\Program Files\Atmel\AVR Studio 5.0\Vs\Avr.common.targets" from project "E:\AVR-projekty\Atmega261\test02\test02\test02.avrgccproj" (entry point):
Done building target "Build" in project "test02.avrgccproj".
Done building project "test02.avrgccproj".

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Посмотрел объем программы, действительно 3360 байт, а в Аттины261 помещается только 2000 байт.
Но почему такая короткая программа скомпилированная занимает так много места ???

Автор:  ARV [ Чт мар 24, 2022 11:14:23 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Sergiusz писал(а):
Program: 3360 bytes (164.1% Full)
вот тут и порылась собачка, вы заметили уже
Sergiusz писал(а):
Но почему такая коротнаяпрогиамма скомпилированная занимает так много места ???
наверное, потому, что вы не включили оптимизацию... рекомендую включить -Os и приятно удивиться.

Автор:  Sergiusz [ Чт мар 24, 2022 22:03:06 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Не нашел как включить оптимизацию. Мне подсказали что вроде включается из меню проект:
Project->Configuration Options->Optimization->Os
Но в моем AVR Studio версии "5" нет такой опции. Перекопал все меню подряд, и нигде не нашел оптимизации.
БЕДА!!!!!

Автор:  GoldenAndy [ Пт мар 25, 2022 01:36:35 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Sergiusz, Плохо ищете
есть даже в четвертой студии
Изображение

Вложения:
studio4.jpg [69.31 KiB]
Скачиваний: 339

Автор:  pyzhman [ Пт мар 25, 2022 07:15:46 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Ёпрст! Да такая программа и без оптимизации должна занимать с гулькин нос.

Автор:  veso74 [ Пт мар 25, 2022 07:39:02 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Программа в первом сообщении, использующая Arduino IDE и ATTinyCore для Аttiny261:
Цитата:
Скетч использует 104 байт (5%) памяти устройства. Всего доступно 2048 байт.
Глобальные переменные используют 0 байт (0%) динамической памяти, оставляя 128 байт для локальных переменных. Максимум: 128 байт.

SpenceKonde/ATTinyCore
https://github.com/SpenceKonde/ATTinyCore

Скопируйте и распакуйте архив в
C:\Users\...\Documents\Arduino\hardware

Выберите свой микроконтроллер и и использовайте. Для программирования: Arduino IDE и ArduinoISP, из примеров. Никаких внешних программ и внешних программаторов. Все через USB. Все бесплатно.
---
Тест в Proteus (старая версия v8.3). Светодиод мигает.

Вложения:
pr.jpg [88.2 KiB]
Скачиваний: 66
sketch_mar25a.zip [18.28 KiB]
Скачиваний: 159
261.jpg [213.07 KiB]
Скачиваний: 60

Автор:  Novice user [ Пт мар 25, 2022 08:48:39 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

veso74, вопрос был ни чем скомпилировать,а про размер прошивки

Автор:  pyzhman [ Пт мар 25, 2022 09:15:17 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Вот мой AVR Studio 5 что выдал:
Цитата:
Device: attiny261
Program: 104 bytes (5.1% Full)
(.text + .data + .bootloader)

Но без математической функции выдавал ошибки. Пришлось лапами вставить:
Код:
#define F_CPU 8000000UL

#include <avr/io.h>
#include <math.h> // вставлено мною
#include <util/delay.h>


int main(void)
{
DDRB= 0xFF;
PORTB= 0b00000000;
while(1)
{
PORTB|= (1<<PORTB0);
_delay_ms(500);
PORTB&= ~(1<<PORTB0);
_delay_ms(500);
}   
}

Автор:  ARV [ Пт мар 25, 2022 09:28:03 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

pyzhman писал(а):
Но без математической функции выдавал ошибки.
:shock: :shock: :shock: :shock:

Автор:  pyzhman [ Пт мар 25, 2022 09:52:08 ]
Заголовок сообщения:  Re: МК ATtiny261 простая программа не помесщается в памяти

Сам в шоке. Причем мой предыдущий проект, использующий эту библиотеку, норм. А этот даже переписал лапами и тем не менее пришлось вкорячить. Пока не разбирался в чём засада.

Добавлено after 4 minutes 55 seconds:
Отключил оптимизацию:
Цитата:
Device: attiny261
Program: 1184 bytes (57.8% Full)
(.text + .data + .bootloader)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/