Помогите,а лучше научите компилировать программу.(для AVR)

HATUUL

Приветствую ребята.
Вот уже 5-й год,являюсь обладателем программатора AVRISP2.
Шить .нех -ы научился,а вот собрать, что-то посерьёзней ,как-то не приходилось.
На днях,решил пере-прошить е-osd в E-OSD-GPS,вся пайка и прошивка прошли успешно.GPS-координаты пошли сразу,картинка супер.
Но ,как говорят ,хочется ещё лучше.
Поковырявшись в библиотеках,нашёл то,что я хотел-бы подкорректировать.
Но появилась,(надеюсь не большая ) проблемка.Я ни разу не компилировал.
Программы которыми пользуюсь 1.Авр-студио 4 и 5,и 2.винавр.
В гугле нашёл множество,программ (компиляторов) и примеров к ним,но так и не получилось прокомпелировать:(.
Ребята,я понимаю,что многие из вас скажут,да это-же легко,даже отвечать лень.
Но пожалуйста войдите в моё положение,впервый раз всегда трудно.

Musgravehill

Подпишусь на тему! Для прошивки ESC под 400Гц PWM тоже нужно собирать прошивку из .hex и .inc

Mikele_P

На чем прошивка написана? С/С++ или 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?
И еще, спасибо за исходники. Теперь мне есть откуда набираться опыта.

Aleksey_Gorelikov
Musgravehill:

собирать прошивку из .hex

это уже собранная прошивка. По идее никаких сложностей то нет. Открыть готовый проект, нажать “компилировать” и получить заветный хекс. (это при условии, что проект без ошибок и компилируете вы его тем, в чем он написан.)

PigTail
HATUUL:

Но появилась,(надеюсь не большая ) проблемка.Я ни разу не компилировал. Программы которыми пользуюсь 1.Авр-студио 4 и 5,и 2.винавр.

Там же инструкция есть code.google.com/p/cl-osd/wiki/CompileProgram

Musgravehill
Aleksey_Gorelikov:

это уже собранная прошивка. По идее никаких сложностей то нет. Открыть готовый проект, нажать “компилировать” и получить заветный хекс.

Я посмотрел, .inc файл определяет процесс сборки прошивки из базового .hex. Применительно к прошивке ESC - в .inc файле можно переназначить пины, частоту ШИМ, диапазон входного сигнала ***…**** мс.

Mikele_P
Musgravehill:

Я посмотрел, .inc файл определяет процесс сборки

это действительно кусок исходного кода. Но hex – это действительно уже готовый продукт.

Mikele_P:

А есть принципиалка этого OSD?

Нашел. Вопрос снят.

HATUUL
Mikele_P:

На чем прошивка написана? С/С++ или ASM?

На с.

Mikele_P:

Есть конкретный проект для компиляции?

Да вот этот.
Михаил.Не могли-бы вы поделится своими знаниями о 5.?
Какой у вас програматор?Так и не понял на 5 AVRISP2 не предусмотрин?

HATUUL
PigTail:

Там же инструкция есть

А слона,я и не заметил.Большое спасибо!
П.С.Оказалось копатся в проге,сложнее чем копатся в проводах.

Mikele_P
HATUUL:

Михаил.Не могли-бы вы поделится своими знаниями о 5.?

Сама оболочка достаточно проста. Курс “молодого бойца” с картинками здесь:
datagor.ru/…/1787-programirovanie-v-avrstudio-5-s-…
Продолжение искать здесь datagor.ru/microcontrollers/
Я тоже, как там и написано, пишу на ASM, отлаживаю в Proteus-е.
На С – недавно перелез. Чем отлаживать скомпелированный код – не знаю. Протеус его брать не желает.

HATUUL:

Какой у вас програматор?

“Схемку” программатора из 4-х резисторов и 5 проводов можно подглянуть здесь
www.123avr.com/07.htm
А сама программа программатора PonyProg здесь: www.lancos.com/ppwin95.html

HATUUL:

Так и не понял на 5 AVRISP2 не предусмотрин?

Да и не нужно. 😃 Компилируем программу в Студии, а потом ее PonyProg-ом пишем. Я так же и с PIC-контрроллерами поступаю.

PigTail
HATUUL:

П.С.Оказалось копатся в проге,сложнее чем копатся в проводах.

Да уж 😃, особенно в чужой, без комментариев и с кучей неиспользуемого кода

V_Alex
PigTail:

Да уж 😃, особенно в чужой, без комментариев и с кучей неиспользуемого кода

Без комментариев через полгода и своя -как чужая 😃

Pantryk
Mikele_P:

Чем отлаживать скомпелированный код – не знаю. Протеус его брать не желает.

Наверное самый надежный способ это на макетке через JTAG интерфейс(у AVR), но нужен JTAG отладчик. А софтовые эмуляторы имеют разные недостатки. Например тот же Протеус не желает эмулировать ADC преобразование (может это только у меня так?) а еще некоторые компиляторы создают код, который при выполнении интерпретируется как “out of memory”, хотя в силу архитектурных особенностей он рабочий. Встроенные отладчики (кстати в Студии должен вроде быть отладчик, но не я смог пока поставить студию из-за особенностей моего компа) не предоставляют полноценной эмуляции внешних цепей, что иногда критично для отладки.

Mikele_P
Pantryk:

Наверное самый надежный способ это на макетке через JTAG интерфейс(у AVR), но нужен JTAG отладчик.

Если верить интеренету, то Студия сама должна уметь отлаживать на JTAG.
Вопрос вот какой… А есть ли схема USB-программатора с JTAG в одном флаконе? Или это всегда две разные железки?

PigTail

Купите AVR DRAGON и будете и программировать и отлаживать одним устройством воткнутым в USB

Mikele_P
PigTail:

Купите AVR DRAGON

Да… Небюджетный вариант. Придется делать две…

PigTail

А что JTAGICE mkII есть нормально взломленный? Просто первый JTAGICE давно не поддерживается и толку от него мало.

2 months later
Nmilkin
V_Alex:

Без комментариев через полгода и своя -как чужая

А представьте, если проэкт в рапечатанном виде занимает 12000 листов формата А4 10 шрифтом, распределенная обработка на 10 разных контроллерах, проект написан на C + asm комбинациях более 10 лет назад. И вот в связи с изменением елементной базы через такое время его пришлось перенесоть на новую и с доработками. ПРОШЕ ЗАНОВО НАПИСАТЬ 😁😁😁