Как перенести проект в IAR и продолжить кодить на С++?

Immortal
Offline
Зарегистрирован: 28.12.2013

Есть скетч для 328 атмеги, нужно перенести его в IAR и уместить в 8 мегу.

Как это проще всего сделать? (с переносом используемых ардуиновских библиотек)

В иде от IAR есть оптимизации на скорость или на размер занимаемого флеша, думаю второй мне хватит, чтобы ужать 12Кб до 8, в крайнем случае перепишу часть логики.

Michal
Michal аватар
Offline
Зарегистрирован: 26.04.2013

возьмите мегу другую 168. Если не ошибаюсь, то по ногам таже восьмерка, только мозгов побольше

Immortal
Offline
Зарегистрирован: 28.12.2013

Купить конечно можно, но у меня в закромах лежит 3 штуки ATMEGA8-16AU, нужно бы их использовать.

 

axill
Offline
Зарегистрирован: 05.09.2011

Immortal пишет:

Купить конечно можно, но у меня в закромах лежит 3 штуки ATMEGA8-16AU, нужно бы их использовать.

выбирайте между двух зол :) 1. переписать код под IAR, а еще лучше под Си, у С++ есть избыточность которая требует свое (больше памяти) 2. купить другие МК пожирнее

я переписывал часть библиотек с ардуино под Си (для atmel studio), но удовольствие на любителя. Эфект конечное есть. Чуть ли не в два раза выгодило компактнее. Но кроме тупого переписывания нужно еще оптимизировать код самому. Какой бы не был компилятор он не всю "дурь" програмиста может ужать

почитайте http://chipenable.ru/index.php/programming-avr/item/180-avr4027-tips-and...

Immortal
Offline
Зарегистрирован: 28.12.2013

axill пишет:

я переписывал часть библиотек с ардуино под Си (для atmel studio), но удовольствие на любителя. Эфект конечное есть. Чуть ли не в два раза выгодило компактнее.

С новым годом!

А можете поделиться наработками?

Я и сам дулам начать писать подобную библиотеку как опенсорсный проект на гитхабе.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Зачем переносить библиотеки из ардуино на СИ ? Можно найти библиотеки или примеры реализации уже готовые в интернете .

axill
Offline
Зарегистрирован: 05.09.2011

Immortal пишет:

А можете поделиться наработками?

что именно вас интересует?

axill
Offline
Зарегистрирован: 05.09.2011

MaksMS пишет:

Зачем переносить библиотеки из ардуино на СИ ? Можно найти библиотеки или примеры реализации уже готовые в интернете .

это часто совсем не так. Чем хорош ардуино - библиотеками гарантированно работающими и применением распространенных компонентов (микросхем, датчиков и тд). Покажите готовую библиотеку скажем для NRF24 на Си сопоставимую по работоспособности с ардуиновской NRF24? Я не нашел, точнее нашел уже транслированный на Си клон RF24. Еще две библиотеки которые для себя переводил - Vera от плагина для vera3 (контроллер умного дома) и библиотека для red-green матрицы на контроллере ht1632c. Для обеих есть только версия для ардуины. Библиотека для датчика bmp085 тоже гуляет изначально написанная для ардуино (по исходнику видно). К тому же даже если найдешь что-то готовое на Си - его часто приходится доводить до ума.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Аналоги почти ко всему есть, библиотека NRF24 - это по сути простейший протокол без обертки от  nRF24L01  -тут любой пример работы на Си пойдет,не обязательно от ардуино/авр ,только под библиотеку SPI адаптировать.. Аналогично и от bmp085  - тут адаптировать к библиотеке i2c мастер необходимо..

Хотя сам как-то делал аналог библиотеки NRF24 для си авр - там одну функцию заменить всего-то и тип данных поменять..

axill
Offline
Зарегистрирован: 05.09.2011

MaksMS пишет:

Аналоги почти ко всему есть, библиотека NRF24 - это по сути простейший протокол без обертки от  nRF24L01  -тут любой пример работы на Си пойдет,не обязательно от ардуино/авр ,только под библиотеку SPI адаптировать.. Аналогично и от bmp085  - тут адаптировать к библиотеке i2c мастер необходимо..

Хотя сам как-то делал аналог библиотеки NRF24 для си авр - там одну функцию заменить всего-то и тип данных поменять..

значит вы счастливчик что так легко все находите. Делитесь своей версией для nrf24 и для bmp085. Еще в поиске готового решения для wiznet5100 и enc28j60. Нет случаем? Аналог ардуиновской UTFT бы не помешал.

MaksMS
Offline
Зарегистрирован: 11.03.2013

Для bmp085 я публиковал тут http://homes-smart.ru/index.php/oborudovanie/datchiki/datchik-davleniya-... .Там имеется пример без использования библиотеки,только необходима библиотека wire под Си -её найти не проблема.

Библиотека под nrf24 как и проект под который переделываю её пока в разработке .Хотя проект ( http://smartliving.ru/forum/viewtopic.php?f=8&t=753 ) уже работает вполне,но в библиотеке полный бардак.

Immortal
Offline
Зарегистрирован: 28.12.2013

axill пишет:

Immortal пишет:

А можете поделиться наработками?

что именно вас интересует?

Интересует всё.

А что из ардуиновских библиотек вы успели переписать на си?

axill
Offline
Зарегистрирован: 05.09.2011

Выше писал. Не много - библиотеку Vera и Ht1232C, частично RTC

Перевожу только то, что не нахожу в нормальном виде готовое

Immortal
Offline
Зарегистрирован: 28.12.2013

Тут в другой теме мне посоветовали http://cyber-place.ru/showthread.php?t=550

Правда это не совсем то, что я хотел (это библиотека для ардуино) но мою проблемму она решила.

Осталось распаять самодельные платы с ATMEGA8-16AU