Заголовок сообщения: МК ATtiny261 простая программа не помесщается в памяти
Добавлено: Ср мар 23, 2022 02:06:53
Первый раз сказал Мяу!
Зарегистрирован: Ср мар 23, 2022 01:17:37 Сообщений: 27
Рейтинг сообщения:0
Здравствуйте уважаемые форумчане. Я совсем зеленый новичок, хочу научиться программировать МК т сразу столкнулся с проблемой. Взялся за освоение 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 */
} А что будет если пробовать зашить программу мигания гирлянды светодиодов ??? Что-то тут не так. Очень прошу помощи, разобраться в чем дело, и как заставить МК Attiny261 принять такой простой код.
размер HEX-файла не должен никак вас пугать, он ни о чем не говорит. смотрите выхлоп программы avr-size - после компиляции она обязательно вызывается и показывает, сколько реально памяти отъела программа.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Заголовок сообщения: Re: МК ATtiny261 простая программа не помесщается в памяти
Добавлено: Чт мар 24, 2022 11:07:56
Первый раз сказал Мяу!
Зарегистрирован: Ср мар 23, 2022 01:17:37 Сообщений: 27
Рейтинг сообщения:0
Вот так ругается Протеус: 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".
Посмотрел объем программы, действительно 3360 байт, а в Аттины261 помещается только 2000 байт. Но почему такая короткая программа скомпилированная занимает так много места ???
Последний раз редактировалось Sergiusz Чт мар 24, 2022 11:18:26, всего редактировалось 1 раз.
Заголовок сообщения: Re: МК ATtiny261 простая программа не помесщается в памяти
Добавлено: Чт мар 24, 2022 22:03:06
Первый раз сказал Мяу!
Зарегистрирован: Ср мар 23, 2022 01:17:37 Сообщений: 27
Рейтинг сообщения:0
Не нашел как включить оптимизацию. Мне подсказали что вроде включается из меню проект: Project->Configuration Options->Optimization->Os Но в моем AVR Studio версии "5" нет такой опции. Перекопал все меню подряд, и нигде не нашел оптимизации. БЕДА!!!!!
Скопируйте и распакуйте архив в C:\Users\...\Documents\Arduino\hardware
Выберите свой микроконтроллер и и использовайте. Для программирования: Arduino IDE и ArduinoISP, из примеров. Никаких внешних программ и внешних программаторов. Все через USB. Все бесплатно. --- Тест в Proteus (старая версия v8.3). Светодиод мигает.
Сам в шоке. Причем мой предыдущий проект, использующий эту библиотеку, норм. А этот даже переписал лапами и тем не менее пришлось вкорячить. Пока не разбирался в чём засада.
Добавлено after 4 minutes 55 seconds: Отключил оптимизацию:
Сейчас этот форум просматривают: vitalevic и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения