реклама на сайте
подробности

 
 
> Портирование с GCC, ATmega8
P@S@f
сообщение Apr 30 2011, 21:56
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 30-04-11
Пользователь №: 64 713



Захотелось немного обновить прошивку Сергея Рюмика для переходника Sega джойстика на USB и скомпилить её под IAR.
Оригинальная прошивка с исходными текстами здесь, в архиве:
ftp://ftp.radio.ru/pub/2007/01/usbjoy/prog.zip
Правда исходники там только для одного джойстика, а прошивок несколько (sega2 - на два джойстика, sega1-2 - на два джойстика, которые будут использоваться по-переменно), но это отдельная тема.
Взял новый драйвер USB от objective development: http://www.obdev.at/products/vusb/download.html
Отредактировал как надо usbconfig-prototype.h в соответствии со старым, переименовал в usbconfig.h, заменил все остальные исходники драйвера новыми, в т.ч. скопировал asmcommon.inc и usbdrvasm12.inc
Создал новый проект в IAR, добавил все файлы.
В свойствах проекта выбрал контроллер ATmega8a, на вкладке System отметил галочку "Enable bit defintions in I/O-include files".
В common.h выкинул io.h, заменил на iom8a.h, выкинул pgmspace.h, пофиксил ошибку с __flash (было объявлено как const chat, требовало char), выкинул interrupt.h, новых ругательств после этого не заметил.

Теперь осталось ругательство на строку, в которой присутствует переменная USBIN:
Error[Pe020]: identifier "PINPORTD" is undefined
в
Код
uchar usbLineStatus = USBIN & USBMASK;
А также аналогичные:
Error[50]: Undefined symbol:'PINPORTD'
Error[50]: Undefined symbol:'DDRPORTD'
Error[50]: Undefined symbol:'PORTPORTD'
в строках
Код
sbis    USBIN, USBMINUS

Код
in      x2, USBDDR;[-12] 12 cycles until SOP

Код
sbi     USBOUT, USBMINUS;[-10] prepare idle state; D+ and D- must have been 0 (no pullups)
соответственно.
Это всё ошибки в драйвере USB.
Еще есть кучка варнингов:
Warning[Pe223]: function "bit_is_set" declared implicitly C:\sega-update\in_sega.c 33
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\sega-update\in_sega.c 48
Warning[Pa082]: undefined behavior: the order of volatile accesses is undefined in this statement C:\sega-update\in_sega.c 50
Warning[Pa050]: non-native end of line sequence detected (this diagnostic is only issued once) C:\sega-update\usbdrv.c 1
Warning[Pe068]: integer conversion resulted in a change of sign C:\sega-update\usbdrv.c 318
Warning[Pe068]: integer conversion resulted in a change of sign C:\sega-update\usbdrv.c 320
Warning[Pe068]: integer conversion resulted in a change of sign C:\sega-update\usbdrv.c 329
Warning[Pe068]: integer conversion resulted in a change of sign C:\sega-update\usbdrv.c 331
Warning[Pe068]: integer conversion resulted in a change of sign C:\sega-update\usbdrv.c 333
Warning[16]: Suspicious sfr expression C:\sega-update\usbdrvasm.S 74

Собственно всё. Не знаю что с этим делать дальше.

Сообщение отредактировал P@S@f - Apr 30 2011, 21:57
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:24
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016