Нужен USB GNU ARM LPC2378
green (Guest) |
|
|
Привет!
Мож у кого есть пример для USB точно работающий на LPC2378 и написаный под GNUARM
а то что то ни один мой код адаптированный из Кейла не идет
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно starterkit 19.12.2007 г. в 12:08:55 |
|
|
|
|
|
starterkit (Guest) |
|
|
Приветствую.
У меня нет ...
Вы с "нуля" гнутый проект завели на основе исходников?
Если так, могу посоветовать, для начала, в Keil-е использовать GNU-тый компилер, а потом и избавиться и от Кейловской оболочки.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно starterkit 19.12.2007 г. в 12:12:19 |
|
|
|
|
|
green (Guest) |
|
|
нет у меня вполне работающий проект от Мартина Томаса (http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects), в который я портировал ваши примеры из кейла, нормально работают UART, I2C (дисплей), DAC, ADC MMC + FAT,EXT-MEM, но вот почемуто USB будучи полностью перенесенным не желает. Хотя на прерывания USB_ISR выскакивает. Компайлер у меня GNUARM 4.2.2
Оболочка MSVisualStudio 2005
проект приаттачил
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно green 20.12.2007 г. в 06:33:11 |
|
|
|
|
|
green (Guest) |
|
|
победил. суть такова - надо ман читать :) всему виной директива __packed
комментарии тут http://www.embeddedrelated.com/groups/lpc2000/show/16338.php
подправленные тестовые исходники USB портирвоанного из кейла в GCC (правда там только главные хидеры и куски для компорта) в аттаче |
|
|
|
|
|
starterkit (Guest) |
|
|
Большое спасибо за участие!
Извините, что не смог помочь ... |
|
|
|
|
|
Kuzemko (Guest) |
|
|
Чето не могу собрать:
RM__ -D__WINARMSUBMDL_LPC2378__ -D__WINARMBOARD_KEIL_MCB2300__ -I. -Icommo20:30
/inc -Idrivers_mthomas -Idrivers_nxp -Iffat_chan -Iusb -Iusb -Ii2c -I. -mapcs-fr
ame -fno-omit-frame-pointer -ffunction-sections -fdata-sections -Wall -Wcast-al
ign -Wimplicit -Wpointer-arith -Wswitch -Wredundant-decls -Wreturn-type -Wshado
w -Wunused -Wa,-adhlns=drivers_mthomas/startup_gnu.lst -MD -MP -MF .dep/fat_mci
_demo.elf.d -Wcast-qual drivers_mthomas/startup_gnu.o drivers_mthomas/readfifo_g
nu.o drivers_mthomas/swi_handler_gnu.o fat_mci_demo.o monitor.o common_nxp/src
/irq.o common_nxp/src/target.o common_nxp/src/timer.o drivers_nxp/rtc.o ffat_cha
n/ff.o drivers_mthomas/comm.o drivers_mthomas/diskio.o drivers_mthomas/gettime_l
pcrtc.o drivers_nxp/mci.o drivers_nxp/dma.o ./usb/usbcore.o ./usb/usbdesc.o ./u
sb/usbhw.o ./usb/vcomuser.o ./i2c/pcf8531.o ./i2c/i2c.o --output fat_mci_de
mo.elf -nostartfiles -Wl,-Map=fat_mci_demo.map,--cref,--gc-sections -lc -lm -lc
-lgcc -T./LPC2378-ROM.ld
./usb/usbcore.o: In function `USB_EndPoint0':
G:StarterKitSSDForums-171/usb/usbcore.c:653: undefined reference to `isr_flag'
./usb/usbhw.o: In function `USB_ISR':
G:StarterKitSSDForums-171/usb/usbhw.c:619: undefined reference to `isr_flag'
./usb/usbhw.o: In function `USB_Init':
G:StarterKitSSDForums-171/usb/usbhw.c:189: undefined reference to `isr_flag'
collect2: ld returned 1 exit status
make: *** [fat_mci_demo.elf] Error 1 |
|
|
|
|
|
green (Guest) |
|
|
пардон забыл выкосить,
переменная isr_flag - это для дебага, вы для простоты ее в модуле fat_mci_demo.c задекларируйте как volatile DWORD isr_flag;
или выкосите ее отовсюду из usbcore.c и usbhw.c
и раскоментарьте в VCOMUSER.C
в функции VCOM_SetSIOSetup( BYTE Cmd, BYTE Data ) установки и тп, чтоб работал USB to COM,
мне он был не нужен, тк к я делаю Mass Storage Device с карточкой SD/MMC, а вопрос был принципиальным - "работает ли вообще" |
|
|
|
|
|
Kuzemko (Guest) |
|
|
Скомпилировал. На екранчике появляеться ABCD, Windows Xp ищет дрова на устройство (не находит)
А что должно быть по задумке? |
|
|
|
|
|
green (Guest) |
|
|
1. то что портированый код под GCC для USB работает :),
2. Со стороны USB виртуальный компорт
3. Ну и FAT там от Мартина Томаса, можете форматировать карточку например, и т.п с файлами поиграться. Для этого подключите терминалку через компорт писюка к rs232 на плате.
4. "ABCD" - просто работа индикатора, некотороые еще пишут "привет мир" :)),
а дрова кстати в примере VirtualCOM от Keil есть в VirtualCOMVCOMHostDrvPLPU-S2K |
|
|
|
|
|
|