Bootloader für IOIO ändern

Gast #4563516
Lesenswert?
• ▲
▼
Hallo,

Ich versuche den Bootloader der IOIO Platine zu modifizieren. (siehe 
https://github.com/ytai/ioio/wiki)
Anstelle des verwendeten Oszillators will ich einen Quarz am secondary 
oscillator input benutzen. Ich vermute, dass man dazu nur ein paar 
Software Schalter umstellen muss.

Bisher ist es mir aber noch nicht gelungen die Firmware, wie sie bei 
github verfügbar ist zu kompilieren.

Ich habe:
- das git-Verzeichnis runtergeladen (https://github.com/ytai/ioio)
- mplab installiert
- xc16 installiert
- die zugehörigen Legacy Peripheral Libraries installiert.

Beim compilieren (firmware\bootloader\main.c) bekomme ich folgende 
Fehlermeldung:
1
"C:\Program Files (x86)\Microchip\xc16\v1.26\bin\xc16-gcc.exe"   -o dist/SPRK0020/production/bootloader.production.elf  build/SPRK0020/production/auth.o build/SPRK0020/production/dumpsys.o build/SPRK0020/production/version.o build/SPRK0020/production/xml.o build/SPRK0020/production/_ext/2030206122/flash.o build/SPRK0020/production/_ext/2030206122/ioio_file.o build/SPRK0020/production/_ext/1270477542/logging.o build/SPRK0020/production/_ext/1537399865/uart2.o build/SPRK0020/production/bootloader_conn.o build/SPRK0020/production/main.o build/SPRK0020/production/usb_int.o      -mcpu=24FJ256GB206        -omf=elf -Wl,--local-stack,--defsym=__MPLAB_BUILD=1,,--script="..\common\dummy.gld",--heap=512,--check-sections,--data-init,--pack-data,--no-handles,--isr,--gc-sections,--fill-upper=0,--stackguard=16,--library=adb,--library=usb,--library-path="../libadb/dist/PIC24FJ256GB206/production",--library-path="../libusb/dist/PIC24FJ256GB206_OTG_ADB/production",--no-force-link,--smart-io,-Map=".map",--report-mem,-Tboot_IOIO0030.gld 
2
c:\program files (x86)\microchip\xc16\v1.26\bin\bin\..\bin/elf-ld.exe: cannot find -ladb
3
make[2]: *** [dist/SPRK0020/production/bootloader.production.hex] Error 255

Ich kann mit der Fehlermeldung leider nichts anfangen und auch bei 
google konnte ich dazu nichts finden.

Weiß jemand weiter?

Viele Grüße,
Christian
Gast #4563566
Lesenswert?
• ▲
▼
Es gibt ein Projektverzeichnis "libadb". Das habe ich geöffnet und 
kompiliert. Jetzt gibt es ein Unterverzeichnis mit der Datei "adb.o", 
libadb.so gibt es aber nicht.

Kann das auch die Datei sein, die ich gefunden habe? Bevor ich jetzt 
ewig lang etwas probiere, das nicht geht...
Gast #4563582
Lesenswert?
• ▲
▼
> Kann das auch die Datei sein, die ich gefunden habe?

Ja kann gut sein. Viele Libraries haben "lib" als Prefix im Namen, aber 
nicht alle. Das System dahinter habe ich noch nicht verstanden.

*.o sind die compilierten *.c Dateien.
*.so sind Libraries, die zur Laufzeit nachgeladen werden können. Also 
entsprechend *.dll bei Windows Programmen.
Gast #4563638
Lesenswert?
• ▲
▼
Ich habe jetzt in den Projekteinstellungen die Library Projects 
hinzugefügt. Da die Anleitung für Linux ausgelegt war und ich Windows 
nutze habe ich versucht entsprechend anzupassen. Ist mein Weg richtig?

Jedenfalls kompiliert es jetzt. Etwas Kopfzerbrechen hat mir noch eine 
lusb bereitet, bei der ich (anscheinend?) noch die korrekte 
Konfiguration auswählen musste.

Danke!
Gast #4563725
Lesenswert?
• ▲
▼
>  Ist mein Weg richtig?
Sorry, dazu hat meine Glaskugel keine Meinung und im Horoskop steht 
nichts hilfreiches dazu. Woher soll ich genau wissen, was da bei Dir vor 
geht?


> Jedenfalls kompiliert es jetzt.
Was soll dann die Frage?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren