Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Не в тему немного, про Atmega168pa

Страниц (3): [1] 2 3 »
 

1. morokoriss - 23 Января, 2015 - 12:28:40 - перейти к сообщению
Всем доброго дня! Решил замутить вот это http://trolsoft.ru/ru/articles/segajoystick. Не стал выкладывать отчёт ибо не по теме. Как обычно не работает (устройство USB не опознано). Есть вопрос к профи. Автор использует мегу 8. У меня же 168па. Должно ли оно работать с прошивкой от 8 без переделок? У них всё в принципе совпадает кроме объёма памяти. Заметил, что если открыть файл прошивки в блокноте то все строки начинаются с 1 а если открыть файл этой же прошивки но слитой с мк то все строки начинаются на 2. Что не правильно? Шью sinaprog. Сегодня попробую лошадью прострочить. Или же это аппаратная проблема? Автор шьёт дудкой. В синапроге такие же фузы будут как в статье Ulfuse:w:0x2e:m -Uhfuse:w:0xc8:m? И еще я не использую загрузчик так как в последствии не собираюсь менять прошивку.
2. Владислав_искатель - 25 Января, 2015 - 22:45:31 - перейти к сообщению
Не знаю Голливудская улыбка
3. cjA - 28 Января, 2015 - 05:59:09 - перейти к сообщению
morokoriss, а этот то , как его , у тебя стоит?

This is libusb-win32 (http://libusb-win32.sourceforge.net) version 1.2.6.0.
Libusb-win32 is a library that allows userspace application to access USB
devices on Windows operation systems (Win2k, WinXP, Vista, Win7).
It is derived from and fully API compatible to libusb available at
http://libusb.sourceforge.net.
4. morokoriss - 28 Января, 2015 - 21:07:36 - перейти к сообщению
Привет! Не установлен. Завтра проверю.
5. mihail - 31 Января, 2015 - 00:22:28 - перейти к сообщению
morokoriss пишет:
Автор использует мегу 8. У меня же 168па. Должно ли оно работать с прошивкой от 8 без переделок?

Нет. ATmega168 сильно отличается от ATmega8. Программу нужно откомпилировать для ATmega168. Короче, нужны исходники.
6. morokoriss - 31 Января, 2015 - 19:18:43 - перейти к сообщению
Добрый вечер! Mihail помогите пожалуйста с компиляцией. Исходник есть.
7. morokoriss - 31 Января, 2015 - 20:07:41 - перейти к сообщению
Вот содержимое папки с исходником. Проект вроде для programmers notepad. Открываю его а дальше? В makefile изменил mega8 на 168p. Нажимаю Save All и ничего не происходит. Тут много файлов, я такое еще не компилил. А то получится неправильно и опять голову ломать софт или железо(
(Добавление)
Где здесь основной файл программы?
8. killgur - 31 Января, 2015 - 20:33:26 - перейти к сообщению
main_dendy.c
9. morokoriss - 31 Января, 2015 - 20:55:12 - перейти к сообщению
И еще. В меню выбора программатора нет USBTiny. Важно ли это?
(Добавление)
Что открываю проект, что открываю только main_dendy.c не появляется в меню tools кнопка компиляции( Что не так делаю?
10. killgur - 31 Января, 2015 - 21:23:48 - перейти к сообщению
morokoriss пишет:
И еще. В меню выбора программатора нет USBTiny. Важно ли это?
(Добавление)
Что открываю проект, что открываю только main_dendy.c не появляется в меню tools кнопка компиляции( Что не так делаю?


WinAVR что ли

где этот код лежит в сети?
11. morokoriss - 31 Января, 2015 - 21:27:30 - перейти к сообщению
12. killgur - 31 Января, 2015 - 21:50:12 - перейти к сообщению
С учетом того что у меня WINAVR установлен на WIN 8.1 64 bit (что само по себе аномально)
ТО все скомпилировалось бэз проблем (c руганью на устаревший код) на Mega8 и дало ошибку после замены типа контроллера в makefile на 168p.

до

CODE:


> "make.exe" all

-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling C: usbdrv.c
avr-gcc -c -mmcu=atmega8 -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/usbdrv.lst -std=gnu99 -Wundef -MD -MP -MF .dep/usbdrv.o.d usbdrv.c -o obj/usbdrv.o

....

Size before:
main_dendy.elf :
section size addr
.text 2998 0
.data 6 8388704
.bss 75 8388710
.stab 5052 0
.stabstr 59 0
.debug_aranges 128 0
.debug_pubnames 499 0
.debug_info 3949 0
.debug_abbrev 1587 0
.debug_line 2370 0
.debug_frame 208 0
.debug_str 1021 0
.debug_loc 4244 0
.debug_ranges 408 0
Total 22604




> Process Exit Code: 0
> Time Taken: 00:00


и после

CODE:

------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Compiling C: usbdrv.c
avr-gcc -c -mmcu=atmega168p -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/usbdrv.lst -std=gnu99 -Wundef -MD -MP -MF .dep/usbdrv.o.d usbdrv.c -o obj/usbdrv.o
In file included from usbdrv.c:17:
oddebug.h:35:5: warning: "DEBUG_LEVEL" is not defined
usbdrv.c: In function 'usbInit':
usbdrv.c:503: warning: cast from pointer to integer of different size
usbdrv.c:504: warning: cast from pointer to integer of different size

Compiling C: in_dendy.c
avr-gcc -c -mmcu=atmega168p -I. -gdwarf-2 -DF_CPU=12000000UL -O2 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wundef -Wa,-adhlns=obj/in_dendy.lst -std=gnu99 -Wundef -MD -MP -MF .dep/in_dendy.o.d in_dendy.c -o obj/in_dendy.o
in_dendy.c: In function 'inDecoderInit':
in_dendy.c:17: error: 'TCCR2' undeclared (first use in this function)
in_dendy.c:17: error: (Each undeclared identifier is reported only once
in_dendy.c:17: error: for each function it appears in.)
in_dendy.c:18: error: 'OCR2' undeclared (first use in this function)
in_dendy.c:19: error: 'TIFR' undeclared (first use in this function)
in_dendy.c:19: error: 'OCF2' undeclared (first use in this function)
in_dendy.c: In function 'inDecoderPoll':
in_dendy.c:41: error: 'TIFR' undeclared (first use in this function)
in_dendy.c:41: error: 'OCF2' undeclared (first use in this function)
make.exe: *** [obj/in_dendy.o] Error 1

> Process Exit Code: 2
> Time Taken: 00:01


то есть есть несоответствие внутренних регистров которое надо вручную править по даташиту (что то стаймерами видимо отличается).

еще как отличается OCF2 и прочее по 2 таймеру развалилось на OCF2A и OCF2B
вывих мозга возможен в принципе

с программатором еще сложнее потому что я не в курсе что это за USBPoni и на базе чего он сделан

вообще эти программаторы просто текстовые записи где то в недрах винавра, где то я читал или даже сам писал туда описание на самопальный программатор (в интеренете поискаь надо)
13. morokoriss - 31 Января, 2015 - 22:19:31 - перейти к сообщению
Ясно. Спасибо за помощь. Надо взять м8 и все. Просто я думал если для дуньки и ее программы без разницы 8 128 или 168 и она льет свой загрузчик без проблем то и тут проканает. Ну ладно. Тут просто цель была куда нить примастырить ненужный мк а не то чтобы сильно девайса мне такого не хватает. Всем спасибо, тему закрываем.
14. killgur - 31 Января, 2015 - 22:24:40 - перейти к сообщению
morokoriss пишет:
Ясно. Спасибо за помощь. Надо взять м8 и все. Просто я думал если для дуньки и ее программы без разницы 8 128 или 168 и она льет свой загрузчик без проблем то и тут проканает. Ну ладно. Тут просто цель была куда нить примастырить ненужный мк а не то чтобы сильно девайса мне такого не хватает. Всем спасибо, тему закрываем.


и надо взять похоже старую версию винавра которая была в 2007 чтоли
15. morokoriss - 01 Февраля, 2015 - 00:02:56 - перейти к сообщению
А USBTiny это тот же USBasp только не на М8 а на тини2313. Я тут писал про него миниобзор. В теме прошиваем МК по моему.