Gast HotPizzaBox Geschrieben November 30, 2012 at 15:14 Geschrieben November 30, 2012 at 15:14 Hi Ist es möglich die Bricks ohne den BrickDaemon anzusprechen? Oder gibt es einen BrickDaemon der in C geschrieben ist und den man auf arm cross-compilen könnte? Zitieren
photron Geschrieben November 30, 2012 at 15:45 Geschrieben November 30, 2012 at 15:45 Der Brick Daemon ist zwingend für die Übersetzung zwischen USB und TCP/IP nötig. Die WIFI Extension und die zukünftige Ethernet Extension brauchen keinen Brick Daemon auf dem PC, da diese direkt TCP/IP sprechen. Den Brick Daemon für Protokoll v1 gibt es nur die Python. Der neue Brick Daemon für Protokoll v2 ist in C geschrieben, damit er weniger Resources brauch und auf kleinen Rechner wie Routern oder dem Raspberry Pi besser läuft. Auf https://github.com/Tinkerforge/brickd gibt es Brick Daemon v2 schon. Ist allerdings noch nicht ganz fertig. Funktioniert im Moment auf Windows, Linux und Mac OS X. Für Linux und Mac liegt unter src/brickv ein Makefile. Für ARM zu crosscompilen habe ich noch nicht getestet. Du kannst das ja mal versuchen und berichten, ob's schon direkt so funktioniert oder welchen Änderungen noch für ARM nötig sind, denn die fertige Version soll auch auf ARM funktionieren. Zitieren
skippi Geschrieben November 30, 2012 at 22:26 Geschrieben November 30, 2012 at 22:26 Also für den mips-basierten OpenWrt (TL-MR3420/3020) geht das kompilieren schon mal - mit etwas Modifikation des Makefiles. Beim Linker fehlt mir noch der Pfad zur libudev. Was würde denn schon funktionieren und welche Bricks/Bricklets können damit umgehen ? Zitieren
photron Geschrieben December 1, 2012 at 13:15 Geschrieben December 1, 2012 at 13:15 Was musstest du denn ändern am Makefile? Dann kann ich das schon mal einbauen. Bezüglich libudev sollte pkg-config eigentlich alle nötige Pfade liefern. Auf github findet sich auch der Source Code für alle Firmwares und Plugins. Diese sind schon grundsätzlich für Protokoll 2.0 umgebaut. Es fehlen noch ein paar Kleinigkeiten und Authentication. Wir haben noch keine vorkompilieren Firmwares/Plugins auf unserm Server aber im Source Code ist Protokoll 2.0 soweit fortgeschritten, dass du es schon testen kannst wenn du brickd und brickv sowie die Firmwares und Plugins aus dem aktuellen Source Code kompilierst und deine Bricks und Bricklets neu flashed. Zitieren
skippi Geschrieben December 1, 2012 at 21:14 Geschrieben December 1, 2012 at 21:14 Na da es kein configure gibt, musste ich die Umgebung für das Crosscompilieren mit einbauen. Auf dem Router kann ich nicht direkt kompilieren. Aber wenn die Firmware schon läuft versuche ich mal die Resevebrick zu flaschen und mit ihr zu 'sprechen'. Ich vermute das die letzte Mail so zu verstehen ist, das die Bindings noch kein 2.0 unterstützen ?! Update: Zumindest auf dem PC habe ich Brickd und Brickv laufen. Eine Masterbrick und 2 Temperatur Bricklets sind neu geflasht und ich kann sie mit 2.0 auslesen. Next step: Brickd aud den Router schieben ... Übrigens gehört mein feature-request eher in diesen thread: Könnte man die neuen Bindings so bauen, dass sie sich auch ohne den brickd über ein serielles RS485 Device - oder auch direkt über tcpip (wifi-, ethernet Extension) mit einem als entsprechender slave configuriertem Stack verbinden können ? Zitieren
Gast HotPizzaBox Geschrieben December 3, 2012 at 06:58 Geschrieben December 3, 2012 at 06:58 okay, ich werde es heute noch versuchen über den CrossCompiler für ARM zu builden. Zitieren
Gast HotPizzaBox Geschrieben December 3, 2012 at 08:46 Geschrieben December 3, 2012 at 08:46 Ich konnte die Frimware für den TemperaturBricklet erstellen. Jedoch wird beim MasterBrick nur ein master-brick.elf erstellt. Hat das bei dir (skippi) ohne Probleme funktioniert? Zitieren
skippi Geschrieben December 3, 2012 at 09:16 Geschrieben December 3, 2012 at 09:16 Ja, schau mal in den software/build Ordner. Dort findet sich das ...bin auch wenn es beim Kompiliervorgang nicht explizit erwähnt wird. (Zumindest bei mir) Zitieren
Gast HotPizzaBox Geschrieben December 3, 2012 at 12:12 Geschrieben December 3, 2012 at 12:12 Okay, das Problem mit dem nicht existenten master-brick.bin ist gelöst. Leider funktioniert der MasterBrick nach dem flashen nicht mehr. Beim Brick leuchtet nur noch die Blaue LED gleich neben dem Resetknopf ansonsten tut sich nichts. Irgend eine idee? Scanning dependencies of target master-brick.elf [ 1%] Building C object CMakeFiles/master-brick.elf.dir/src/communication.obj [ 2%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/logging/logging.obj [ 3%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/crc/crc.obj [ 4%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/dacc/dacc.obj [ 6%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/pwmc/pwmc.obj /home/pascal/master-brick/software/src/bricklib/drivers/pwmc/pwmc.c: In function 'PWMC_ConfigureClocks': /home/pascal/master-brick/software/src/bricklib/drivers/pwmc/pwmc.c:116:36: warning: array subscript is above array bounds [-Warray-bounds] /home/pascal/master-brick/software/src/bricklib/drivers/pwmc/pwmc.c:116:36: warning: array subscript is above array bounds [-Warray-bounds] [ 7%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usart/uart_console.obj [ 8%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usart/usart.obj [ 9%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/twi/twid.obj [ 10%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/twi/twi.obj [ 12%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/adc/adc.obj [ 13%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/pio/pio.obj [ 14%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/pio/pio_it.obj [ 15%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/efc/efc.obj [ 16%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/wdt/wdt.obj [ 18%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/flash/flashd.obj [ 19%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/board/board_cstartup_gnu.obj [ 20%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/board/board_lowlevel.obj [ 21%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/board/exceptions.obj [ 22%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/tc/tc.obj [ 24%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBD.obj [ 25%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBDescriptors.obj [ 26%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBRequests.obj [ 27%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBDCallbacks.obj [ 28%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBD_HAL.obj [ 30%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBDDriver.obj [ 31%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/usb/USBDDriverCallbacks.obj [ 32%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/pmc/pmc.obj [ 33%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/spi/spi.obj [ 34%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/drivers/uid/uid.obj [ 36%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/croutine.obj [ 37%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/tasks.obj [ 38%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/portable/MemMang/heap_3.obj [ 39%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/portable/GCC/ARM_CM3/port.obj [ 40%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/queue.obj [ 42%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/free_rtos/list.obj [ 43%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/pearson_hash.obj [ 44%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/rand.obj [ 45%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/init.obj [ 46%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/led.obj [ 48%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/syscalls.obj [ 49%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/profiling.obj [ 50%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/trace.obj [ 51%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/sqrt.obj [ 53%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/utility/mutex.obj [ 54%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/com_messages.obj [ 55%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_common.obj [ 56%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_slave.obj [ 57%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_master.obj [ 59%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/none/none.obj [ 60%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/com.obj [ 61%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/usb/usb_descriptors.obj [ 62%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/usb/usb_callbacks.obj [ 63%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/usb/usb.obj [ 65%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/com_common.obj [ 66%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/i2c/i2c_clear_bus.obj [ 67%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_common.obj [ 68%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_slave.obj [ 69%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_master.obj [ 71%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_select.obj [ 72%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/bricklet/bricklet_communication.obj [ 73%] Building C object CMakeFiles/master-brick.elf.dir/src/bricklib/bricklet/bricklet_init.obj [ 74%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/extension_init.obj [ 75%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/extension_i2c.obj [ 77%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/brickd.obj [ 78%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/chibi/chibi_low_level.obj [ 79%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/chibi/chibi_master.obj [ 80%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/chibi/chibi_slave.obj [ 81%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/chibi/chibi_init.obj [ 83%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/chibi/chibi.obj [ 84%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/rs485/rs485_low_level.obj [ 85%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/rs485/rs485_slave.obj [ 86%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/rs485/rs485_master.obj [ 87%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/rs485/rs485.obj [ 89%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/wifi/wifi_low_level.obj [ 90%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/wifi/wifi_command.obj [ 91%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/wifi/wifi_data.obj [ 92%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/wifi/wifi.obj [ 93%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/ethernet/ethernet_low_level.obj [ 95%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/ethernet/ethernet_dhcp.obj [ 96%] Building C object CMakeFiles/master-brick.elf.dir/src/extensions/ethernet/ethernet.obj [ 97%] Building C object CMakeFiles/master-brick.elf.dir/src/main.obj [ 98%] Building C object CMakeFiles/master-brick.elf.dir/src/master.obj [100%] Building C object CMakeFiles/master-brick.elf.dir/src/routing.obj Linking C executable master-brick.elf text data bss dec hex filename 109980 0 5220 115200 1c200 master-brick.elf [100%] Built target master-brick.elf Zitieren
skippi Geschrieben December 3, 2012 at 13:07 Geschrieben December 3, 2012 at 13:07 Hm, bei mir hat es funktioniert. Hast Du Dir die bricklib und brickletlib auch aktuell aus dem git besorgt und entsprechend verlinkt und neu kompiliert ? Und auch die angeschlossenen Bricklets neu geflasht ? Zitieren
Gast HotPizzaBox Geschrieben December 3, 2012 at 13:29 Geschrieben December 3, 2012 at 13:29 was ich gemacht habe: git clone git://github.com/Tinkerforge/master-brick.git cd master-brick/software/src git clone git://github.com/Tinkerforge/bricklib.git cd ../ ./generate_makefile -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /home/clfs/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-gcc -- Check for working C compiler: /home/clfs/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-gcc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /home/clfs/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-g++ -- Check for working CXX compiler: /home/clfs/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-g++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Found following source files: /home/pascal/master-brick/software/src/communication.c;/home/pascal/master-brick/software/src/bricklib/logging/logging.c;/home/pascal/master-brick/software/src/bricklib/drivers/crc/crc.c;/home/pascal/master-brick/software/src/bricklib/drivers/dacc/dacc.c;/home/pascal/master-brick/software/src/bricklib/drivers/pwmc/pwmc.c;/home/pascal/master-brick/software/src/bricklib/drivers/usart/uart_console.c;/home/pascal/master-brick/software/src/bricklib/drivers/usart/usart.c;/home/pascal/master-brick/software/src/bricklib/drivers/twi/twid.c;/home/pascal/master-brick/software/src/bricklib/drivers/twi/twi.c;/home/pascal/master-brick/software/src/bricklib/drivers/adc/adc.c;/home/pascal/master-brick/software/src/bricklib/drivers/pio/pio.c;/home/pascal/master-brick/software/src/bricklib/drivers/pio/pio_it.c;/home/pascal/master-brick/software/src/bricklib/drivers/efc/efc.c;/home/pascal/master-brick/software/src/bricklib/drivers/wdt/wdt.c;/home/pascal/master-brick/software/src/bricklib/drivers/flash/flashd.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/board_cstartup_gnu.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/board_lowlevel.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/exceptions.c;/home/pascal/master-brick/software/src/bricklib/drivers/tc/tc.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBD.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDescriptors.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBRequests.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDCallbacks.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBD_HAL.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDDriver.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDDriverCallbacks.c;/home/pascal/master-brick/software/src/bricklib/drivers/pmc/pmc.c;/home/pascal/master-brick/software/src/bricklib/drivers/spi/spi.c;/home/pascal/master-brick/software/src/bricklib/drivers/uid/uid.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/croutine.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/tasks.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/portable/MemMang/heap_3.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/portable/GCC/ARM_CM3/port.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/queue.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/list.c;/home/pascal/master-brick/software/src/bricklib/utility/pearson_hash.c;/home/pascal/master-brick/software/src/bricklib/utility/rand.c;/home/pascal/master-brick/software/src/bricklib/utility/init.c;/home/pascal/master-brick/software/src/bricklib/utility/led.c;/home/pascal/master-brick/software/src/bricklib/utility/syscalls.c;/home/pascal/master-brick/software/src/bricklib/utility/profiling.c;/home/pascal/master-brick/software/src/bricklib/utility/trace.c;/home/pascal/master-brick/software/src/bricklib/utility/sqrt.c;/home/pascal/master-brick/software/src/bricklib/utility/mutex.c;/home/pascal/master-brick/software/src/bricklib/com/com_messages.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_common.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_slave.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_master.c;/home/pascal/master-brick/software/src/bricklib/com/none/none.c;/home/pascal/master-brick/software/src/bricklib/com/com.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb_descriptors.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb_callbacks.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb.c;/home/pascal/master-brick/software/src/bricklib/com/com_common.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_clear_bus.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_common.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_slave.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_master.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_select.c;/home/pascal/master-brick/software/src/bricklib/bricklet/bricklet_communication.c;/home/pascal/master-brick/software/src/bricklib/bricklet/bricklet_init.c;/home/pascal/master-brick/software/src/extensions/extension_init.c;/home/pascal/master-brick/software/src/extensions/extension_i2c.c;/home/pascal/master-brick/software/src/extensions/brickd.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_low_level.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_master.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_slave.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_init.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_low_level.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_slave.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_master.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_low_level.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_command.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_data.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet_low_level.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet_dhcp.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet.c;/home/pascal/master-brick/software/src/main.c;/home/pascal/master-brick/software/src/master.c;/home/pascal/master-brick/software/src/routing.c -- Configuring done -- Generating done -- Build files have been written to: /home/pascal/master-brick/software/build cd build make --> leider wird das bin nicht erstellt also nochmal generate-makefile da wird am schluss eine Warnung angezeit. Sobald die erscheint sollte das bin file auch erstellt werden Found following source files: /home/pascal/master-brick/software/src/communication.c;/home/pascal/master-brick/software/src/bricklib/logging/logging.c;/home/pascal/master-brick/software/src/bricklib/drivers/crc/crc.c;/home/pascal/master-brick/software/src/bricklib/drivers/dacc/dacc.c;/home/pascal/master-brick/software/src/bricklib/drivers/pwmc/pwmc.c;/home/pascal/master-brick/software/src/bricklib/drivers/usart/uart_console.c;/home/pascal/master-brick/software/src/bricklib/drivers/usart/usart.c;/home/pascal/master-brick/software/src/bricklib/drivers/twi/twid.c;/home/pascal/master-brick/software/src/bricklib/drivers/twi/twi.c;/home/pascal/master-brick/software/src/bricklib/drivers/adc/adc.c;/home/pascal/master-brick/software/src/bricklib/drivers/pio/pio.c;/home/pascal/master-brick/software/src/bricklib/drivers/pio/pio_it.c;/home/pascal/master-brick/software/src/bricklib/drivers/efc/efc.c;/home/pascal/master-brick/software/src/bricklib/drivers/wdt/wdt.c;/home/pascal/master-brick/software/src/bricklib/drivers/flash/flashd.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/board_cstartup_gnu.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/board_lowlevel.c;/home/pascal/master-brick/software/src/bricklib/drivers/board/exceptions.c;/home/pascal/master-brick/software/src/bricklib/drivers/tc/tc.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBD.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDescriptors.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBRequests.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDCallbacks.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBD_HAL.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDDriver.c;/home/pascal/master-brick/software/src/bricklib/drivers/usb/USBDDriverCallbacks.c;/home/pascal/master-brick/software/src/bricklib/drivers/pmc/pmc.c;/home/pascal/master-brick/software/src/bricklib/drivers/spi/spi.c;/home/pascal/master-brick/software/src/bricklib/drivers/uid/uid.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/croutine.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/tasks.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/portable/MemMang/heap_3.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/portable/GCC/ARM_CM3/port.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/queue.c;/home/pascal/master-brick/software/src/bricklib/free_rtos/list.c;/home/pascal/master-brick/software/src/bricklib/utility/pearson_hash.c;/home/pascal/master-brick/software/src/bricklib/utility/rand.c;/home/pascal/master-brick/software/src/bricklib/utility/init.c;/home/pascal/master-brick/software/src/bricklib/utility/led.c;/home/pascal/master-brick/software/src/bricklib/utility/syscalls.c;/home/pascal/master-brick/software/src/bricklib/utility/profiling.c;/home/pascal/master-brick/software/src/bricklib/utility/trace.c;/home/pascal/master-brick/software/src/bricklib/utility/sqrt.c;/home/pascal/master-brick/software/src/bricklib/utility/mutex.c;/home/pascal/master-brick/software/src/bricklib/com/com_messages.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_common.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_slave.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_master.c;/home/pascal/master-brick/software/src/bricklib/com/none/none.c;/home/pascal/master-brick/software/src/bricklib/com/com.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb_descriptors.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb_callbacks.c;/home/pascal/master-brick/software/src/bricklib/com/usb/usb.c;/home/pascal/master-brick/software/src/bricklib/com/com_common.c;/home/pascal/master-brick/software/src/bricklib/com/i2c/i2c_clear_bus.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_common.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_slave.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_master.c;/home/pascal/master-brick/software/src/bricklib/com/spi/spi_stack/spi_stack_select.c;/home/pascal/master-brick/software/src/bricklib/bricklet/bricklet_communication.c;/home/pascal/master-brick/software/src/bricklib/bricklet/bricklet_init.c;/home/pascal/master-brick/software/src/extensions/extension_init.c;/home/pascal/master-brick/software/src/extensions/extension_i2c.c;/home/pascal/master-brick/software/src/extensions/brickd.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_low_level.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_master.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_slave.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi_init.c;/home/pascal/master-brick/software/src/extensions/chibi/chibi.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_low_level.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_slave.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485_master.c;/home/pascal/master-brick/software/src/extensions/rs485/rs485.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_low_level.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_command.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi_data.c;/home/pascal/master-brick/software/src/extensions/wifi/wifi.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet_low_level.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet_dhcp.c;/home/pascal/master-brick/software/src/extensions/ethernet/ethernet.c;/home/pascal/master-brick/software/src/main.c;/home/pascal/master-brick/software/src/master.c;/home/pascal/master-brick/software/src/routing.c -- Configuring done -- Generating done CMake Warning: Manually-specified variables were not used by the project: CMAKE_TOOLCHAIN_FILE -- Build files have been written to: /home/pascal/master-brick/software/build Die Firmware ist ca 107kb gross bei mir. Leider immer noch das selbe Ergebniss. Ich habe keiene Bricklets angeschlossen. Zitieren
Nic Geschrieben December 3, 2012 at 14:14 Geschrieben December 3, 2012 at 14:14 Wenn man das so liest, bewundere ich eure Ausdauer und das Geschick sich zwecks eigenem FW-Build durch diese Materie zu graben. Für den Normalsterblichen reicht nicht die Zeit oder das Expertenwissen, wäre schön wenn ein ausführliches Tutorial irgendwann mal den Weg ins Wiki schafft. Zitieren
photron Geschrieben December 3, 2012 at 14:35 Geschrieben December 3, 2012 at 14:35 Nic, eigentlich sind hier alle nötigen Schritte beschrieben, wenn auch etwas knapp. Wo ich dir recht geben muss, da fehlt noch eine Art FAQ über mögliche Probleme und deren Lösungen. HotPizzaBox, wie flashed du die Firmware? Genauer gefragt wie bringst du den Brick in den Bootloader Modus? Erase gedrückt halten und dann USB anstecken? In dem Fall schaft brickv es nach dem Flashen nicht den Brick richtig neuzustarten. Dann muss du einmal USB ab- und wieder anstecken, damit der Brick richtig neustartet. Warum das passiert ist nicht ganz klar, wenn du allerdings Reset drückst, während Erase gedrückt gehalten wird und USB angeschlossen ist, dann funktioniert das Neustarten durch bríckv nach dem Flashen. Ich dachte ich hätte das in der Dokumentation schon abgeändert, scheint nicht der Fall zu sein Zitieren
skippi Geschrieben December 3, 2012 at 15:14 Geschrieben December 3, 2012 at 15:14 ...eigentlich sind hier alle nötigen Schritte beschrieben, wenn auch etwas knapp. Ich muss vor dem generate_makefile noch ein paar Pfade setzen: export CMAKE_C_COMPILER=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-gcc export CMAKE_CXX_COMPILER=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-g++ export PATH=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/:${PATH} glaube aber nicht, das das HotPizzaBoxs Problem ist. Bei mir wird das bin beim ersten mal erzeugt und es gibt auch weder beim kompilieren noch nachträglich Fehlermeldungen. Vielleicht sind die Files beim download beschädigt worden. Hole doch das monierte pwmc nochmal. Sonst fällt mir nur noch eine neue Kompilerversion ein ? Meine ist: gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-69) Das Binary ist: 119996 2012-12-03 15:48 master-brick.bin Zitieren
Gast HotPizzaBox Geschrieben December 3, 2012 at 15:53 Geschrieben December 3, 2012 at 15:53 Vielen Dank für eure Antworten, ich werde es morgen noch einmal versuchen. Ich habe den master-brick im Geschäft vergessen -.- Zitieren
Gast HotPizzaBox Geschrieben December 4, 2012 at 08:27 Geschrieben December 4, 2012 at 08:27 Also, ich habe es heute noch einmal versucht, neues Linux, neue Sourcery CodeBench gcc 4.7.2 (?) (Release 13. November 2012) brickv / brickd ohne Probleme master-brick wird normal geflasht jedoch startet er nicht mehr. Ich habe nun auch versucht die Reset-Taste und die Erase-Taste zusammengedrückt zu halten und danach den Master-brick anzuschließen. Jedoch bleibt das Ergebnis dasselbe. Nach erneutem Verbinden leuchtet einfach die LED neben dem Reset-Knopf Zitieren
Gast HotPizzaBox Geschrieben December 4, 2012 at 08:50 Geschrieben December 4, 2012 at 08:50 also Problem mit dem Master-Brick gelöst... Version: Sourcery CodeBench Lite 2012.09-63 for ARM EABI ist nicht kompatibel (für mich jedenfalls) Version: Sourcery CodeBench Lite 2011.09-69 for ARM EABI ist kompatibel nun noch eine Frage: Wann werden die C Bindings fertig sein? Zitieren
photron Geschrieben December 4, 2012 at 13:04 Geschrieben December 4, 2012 at 13:04 HotPizzaBox, meinst du "Sourcery CodeBench Lite 2012.09-63 for ARM EABI" mit den "Sourcery CodeBench gcc 4.7.2 (?) (Release 13. November 2012)"? Ich frage, weil ich für eine "November 2012" Release eine andere Nummer als 2012.09-63 erwarten würde, denn 09 sieht so nach dem Monat aus. Ich füge gerade auf der Firmware und Plugins Seite eine Liste über verschiedene Compilerversionen ein mit Angaben darüber ob diese Version richtig funktioniert. Zitieren
photron Geschrieben December 4, 2012 at 13:06 Geschrieben December 4, 2012 at 13:06 ...eigentlich sind hier alle nötigen Schritte beschrieben, wenn auch etwas knapp. Ich muss vor dem generate_makefile noch ein paar Pfade setzen: export CMAKE_C_COMPILER=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-gcc export CMAKE_CXX_COMPILER=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/arm-none-eabi-g++ export PATH=/opt/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_EABI/bin/:${PATH} Es reicht eigentlich das bin Verzeichnis vor den PATH zu hängen, cmake findet dann die ARM Compiler selbst ohne, dass du CMAKE_C(XX)_COMPILER setzen musst. Zitieren
Gast HotPizzaBox Geschrieben December 4, 2012 at 13:08 Geschrieben December 4, 2012 at 13:08 HotPizzaBox, meinst du "Sourcery CodeBench Lite 2012.09-63 for ARM EABI" mit den "Sourcery CodeBench gcc 4.7.2 (?) (Release 13. November 2012)"? Ich frage, weil ich für eine "November 2012" Release eine andere Nummer als 2012.09-63 erwarten würde, denn 09 sieht so nach dem Monat aus. Ich füge gerade auf der Firmware und Plugins Seite eine Liste über verschiedene Compilerversionen ein mit Angaben darüber ob diese Version richtig funktioniert. hier mein Download-Link: http://go.mentor.com/2jxr4 Zitieren
photron Geschrieben December 4, 2012 at 13:17 Geschrieben December 4, 2012 at 13:17 Okay, deren Nummerschema ist anders als ich erwartet hatte. Zitieren
Gast HotPizzaBox Geschrieben December 4, 2012 at 14:25 Geschrieben December 4, 2012 at 14:25 Okay, ich konnte libusb-1.0 für arm builden. Jedoch habe ich Probleme mit der libudev, weiss jemand wo ich das finde und wie ich das kompiliere? Zitieren
Gast HotPizzaBox Geschrieben December 6, 2012 at 15:05 Geschrieben December 6, 2012 at 15:05 Für was braucht ihr die libudev im Brickd? Zitieren
photron Geschrieben December 6, 2012 at 15:24 Geschrieben December 6, 2012 at 15:24 Unter Linux benutzen wir libudev um uevents vom Kernel zu bekommen, die z.B. dann ausgelöst werden wenn USB Geräte ab- oder angesteckt werden. So bekommt brickd damit, dass ein Brick ab- oder angesteckt wurde. Unter Windows benutzten wir dafür die DeviceNotifcation Funktionalität der WinAPI. Unter Mac OS X benutzten wir dafür den IONotificationPort von IOKit. Essentiell ist das nicht und brickd könnte auch ohne, nur kennt brickd dann halt nur die USB Geräte die da waren als brickd gestartet wurde. Zitieren
Gast HotPizzaBox Geschrieben December 6, 2012 at 15:47 Geschrieben December 6, 2012 at 15:47 okay, das reicht mir, was muss ich da im source anpassen? Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.