Помогите,а лучше научите компилировать программу.(для AVR)
Приветствую ребята.
Вот уже 5-й год,являюсь обладателем программатора AVRISP2.
Шить .нех -ы научился,а вот собрать, что-то посерьёзней ,как-то не приходилось.
На днях,решил пере-прошить е-osd в E-OSD-GPS,вся пайка и прошивка прошли успешно.GPS-координаты пошли сразу,картинка супер.
Но ,как говорят ,хочется ещё лучше.
Поковырявшись в библиотеках,нашёл то,что я хотел-бы подкорректировать.
Но появилась,(надеюсь не большая ) проблемка.Я ни разу не компилировал.
Программы которыми пользуюсь 1.Авр-студио 4 и 5,и 2.винавр.
В гугле нашёл множество,программ (компиляторов) и примеров к ним,но так и не получилось прокомпелировать:(.
Ребята,я понимаю,что многие из вас скажут,да это-же легко,даже отвечать лень.
Но пожалуйста войдите в моё положение,впервый раз всегда трудно.
Подпишусь на тему! Для прошивки ESC под 400Гц PWM тоже нужно собирать прошивку из .hex и .inc
На чем прошивка написана? С/С++ или ASM?
На самом деле я тоже не так давно пишу под AVR. Сделал “макетку” на которую впаял ATMega8 от сгоревшего ESC FLY-25, кварц и пару конденсаторов. Взял AVR Studio 5. Спаял шнурок LPT->ISP. PonyProg. Нашел в интернете пару исходников на ASMе, и потихоньку стал осваивать периферию на ASMе. Потом понял, что на ассемблере слишком трудоемко и перелез на С. (Сорри, отвлекся)
Так вот… Нужно, чтобы исходный код (хоть на C, хоть на ASM) был под тот компилятор, на котором он писан. Иначе придется адаптировать. А иначе не будет компилироваться. Т.к. написание программы в каждом немного, но не совпадает. Есть конкретный проект для компиляции? Или есть желание писать что-то свое?
(Еще раз сорри за невнимательность)
Судя по cl-osd.avrgccproj писано под AVR Studio 5.
Значит, сохраняет все в один каталог под исходными именами файлов. Открываем Студию. Открываем файл проекта. Запускаем Build\Build Solution.
И получаем полноценный cl-osd.hex
Сам удивлен, что все скомпилировалось без единой ошибки.
А есть принципиалка этого OSD?
И еще, спасибо за исходники. Теперь мне есть откуда набираться опыта.
собирать прошивку из .hex
это уже собранная прошивка. По идее никаких сложностей то нет. Открыть готовый проект, нажать “компилировать” и получить заветный хекс. (это при условии, что проект без ошибок и компилируете вы его тем, в чем он написан.)
Но появилась,(надеюсь не большая ) проблемка.Я ни разу не компилировал. Программы которыми пользуюсь 1.Авр-студио 4 и 5,и 2.винавр.
Там же инструкция есть code.google.com/p/cl-osd/wiki/CompileProgram
это уже собранная прошивка. По идее никаких сложностей то нет. Открыть готовый проект, нажать “компилировать” и получить заветный хекс.
Я посмотрел, .inc файл определяет процесс сборки прошивки из базового .hex. Применительно к прошивке ESC - в .inc файле можно переназначить пины, частоту ШИМ, диапазон входного сигнала ***…**** мс.
Я посмотрел, .inc файл определяет процесс сборки
это действительно кусок исходного кода. Но hex – это действительно уже готовый продукт.
А есть принципиалка этого OSD?
Нашел. Вопрос снят.
На чем прошивка написана? С/С++ или ASM?
На с.
Есть конкретный проект для компиляции?
Да вот этот.
Михаил.Не могли-бы вы поделится своими знаниями о 5.?
Какой у вас програматор?Так и не понял на 5 AVRISP2 не предусмотрин?
Там же инструкция есть
А слона,я и не заметил.Большое спасибо!
П.С.Оказалось копатся в проге,сложнее чем копатся в проводах.
Михаил.Не могли-бы вы поделится своими знаниями о 5.?
Сама оболочка достаточно проста. Курс “молодого бойца” с картинками здесь:
datagor.ru/…/1787-programirovanie-v-avrstudio-5-s-…
Продолжение искать здесь datagor.ru/microcontrollers/
Я тоже, как там и написано, пишу на ASM, отлаживаю в Proteus-е.
На С – недавно перелез. Чем отлаживать скомпелированный код – не знаю. Протеус его брать не желает.
Какой у вас програматор?
“Схемку” программатора из 4-х резисторов и 5 проводов можно подглянуть здесь
www.123avr.com/07.htm
А сама программа программатора PonyProg здесь: www.lancos.com/ppwin95.html
Так и не понял на 5 AVRISP2 не предусмотрин?
Да и не нужно. 😃 Компилируем программу в Студии, а потом ее PonyProg-ом пишем. Я так же и с PIC-контрроллерами поступаю.
П.С.Оказалось копатся в проге,сложнее чем копатся в проводах.
Да уж 😃, особенно в чужой, без комментариев и с кучей неиспользуемого кода
Да уж 😃, особенно в чужой, без комментариев и с кучей неиспользуемого кода
Без комментариев через полгода и своя -как чужая 😃
Чем отлаживать скомпелированный код – не знаю. Протеус его брать не желает.
Наверное самый надежный способ это на макетке через JTAG интерфейс(у AVR), но нужен JTAG отладчик. А софтовые эмуляторы имеют разные недостатки. Например тот же Протеус не желает эмулировать ADC преобразование (может это только у меня так?) а еще некоторые компиляторы создают код, который при выполнении интерпретируется как “out of memory”, хотя в силу архитектурных особенностей он рабочий. Встроенные отладчики (кстати в Студии должен вроде быть отладчик, но не я смог пока поставить студию из-за особенностей моего компа) не предоставляют полноценной эмуляции внешних цепей, что иногда критично для отладки.
Наверное самый надежный способ это на макетке через JTAG интерфейс(у AVR), но нужен JTAG отладчик.
Если верить интеренету, то Студия сама должна уметь отлаживать на JTAG.
Вопрос вот какой… А есть ли схема USB-программатора с JTAG в одном флаконе? Или это всегда две разные железки?
Купите AVR DRAGON и будете и программировать и отлаживать одним устройством воткнутым в USB
Купите AVR DRAGON
Да… Небюджетный вариант. Придется делать две…
А что JTAGICE mkII есть нормально взломленный? Просто первый JTAGICE давно не поддерживается и толку от него мало.
Без комментариев через полгода и своя -как чужая
А представьте, если проэкт в рапечатанном виде занимает 12000 листов формата А4 10 шрифтом, распределенная обработка на 10 разных контроллерах, проект написан на C + asm комбинациях более 10 лет назад. И вот в связи с изменением елементной базы через такое время его пришлось перенесоть на новую и с доработками. ПРОШЕ ЗАНОВО НАПИСАТЬ 😁😁😁