Jump to content

davidkoch

Members
  • Gesamte Inhalte

    22
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von davidkoch

  1. Ja. Die Interruptroutine habe ich auch nicht verändert das finde ich auch komisch.. naja erstmal funktioniert es eingeschränkt.

    Andere Frage, gleicher Topic:

    Ich habe wahrscheinlich den Bootloader ereased. Wie bekomme ich den nun wieder geflasht? :)

    Per JTAG komme ich auf den SAM3S allerdings per USB wird er nicht erkannt.

    Gibts den Bootloader zum download?

    Gruß

     

  2. Hallo,

    so. Also das Problem besteht weiterhin.

    Ich hab mal die Bilder vom LogicAnalyzer angefügt.

    Beim Wert SPI_DELAY_BETWEEN_TRANSFER = 0 funktioniert es nicht.

    Beim Wert 500 sieht man das der Slave das CRC Byte zu spät überträgt.

    Beim Wert 1000 funktioniert es. Und der Slave sendet auch die Ack.

     

    - Die Clock habe ich mittlerweile Überprüft.

    - Problem beim Nutzen eines GPIOs ist, das diese sehr langsam an aus geschaltet werden.

    - Des weiteren habe ich im Master Brick eine Funktion implementiert die mir die anzahl der Übertragungen anzeigt. dabei auch die fehlerhaften, leeren, und erfolgreichen. Dabei ist aufgefallen, das bei meinem (mit einstellung 1000 s.o.) sowie auch bei den anderen Bricks zu beginn 11 Fehl übertragungen passieren.?!

     

    Gruß

    David

    1440865163_bertragung_0.thumb.PNG.b4d6753b6140329f72d863aa5c71be48.PNG

    970148291_bertragung_500.thumb.PNG.0159ce6e2992c4a975cc98d098aceb63.PNG

    1292213680_bertragung_1000.thumb.PNG.c9ec07d0e4656276bb54de776b23b8e2.PNG

  3. ich verwende einen externen 16MHz quarz.

    Die lowlevel routine ist exakt die gleiche wie beim master brick.

    Das Problem besteht bisher weiterhin, konnte ich doch durch den Wert

    SPI_DELAY_BETWEEN_TRANSFER = 1000 im Master Brick

    beheben. Allerdings ist die einstellung nicht optimal. So braucht natürlich die Kommunikation deutlich länger als zuvor. :(

     

  4. Hallo zusammen,

    ich habe bin an der Entwicklung eines eigenen Bricks der CAN und LIN Bus anschluss hat. Die Hardware ist bereits fertig und das System implementiert. Habe einen ATSAM3S4C also genau den gleichen wie den Master drauf, welcher die SPI Slave routine laufen lässt. Momentan bin ich stehe ich bei dem Punkt das die SPI routine die Nachrichten vom Master nicht Richtig empfängt, welches am Timing liegt.

    Wenn ich die zeilen mit dem Pearson hash auskommentiere passt es. Daraus ziehe ich die vermutung, das bie berechnung der checksum an einigen stellen zu lange dauert.

    Da der gleiche Controller verwendet wird wie der Master denke ich, das es an den Clockeinstellungen liegt.

    Habt ihr eine Idee an welcher stelle ich dort drehen muss? :)

    Oder vll hat jemand schonmal das gleiche Problem gehabt?

     

    Gruß

    David

  5. Hallo zusammen,

     

    ich möchte für mein Projekt zunächst die Firmware des Masterbricks auf den ATSAM3X8C portieren, um dann weiter zuarbeiten. Da dieser auch vom FREERTOS unterstützt wird sollte das eigl. kein Problem darstellen.

    Hat das jemand von euch schonmal probiert? Kann mir jemand sagen welche Dateien ich dafür austauschen muss?

     

    Vielen Dank & Viele Grüße

    David

  6. es gibt ggf. auch doch noch ein problem beim kompilieren:

    hier die ausgabe von eclipse: ( zum Teil gibt es Warnings )

     

    13:24:39 **** Build of configuration Debug for project dc-brick_v1-1-6 ****
    make -C C:/Users/dk23901/workspace/dc-brick_v1-1-6/build all 
    make: Entering directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    make[1]: Entering directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    make[2]: Entering directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    make[2]: Leaving directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    make[2]: Entering directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    [  1%] Building C object CMakeFiles/dc-brick.elf.dir/src/communication.obj
    [  3%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/logging/logging.obj
    [  4%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/crc/crc.obj
    [  6%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/dacc/dacc.obj
    [  8%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/pwmc/pwmc.obj
    [  9%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usart/uart_console.obj
    [ 11%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usart/usart.obj
    [ 13%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/twi/twid.obj
    [ 14%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/twi/twi.obj
    [ 16%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/adc/adc.obj
    [ 18%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/pio/pio.obj
    [ 19%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/pio/pio_it.obj
    [ 21%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/efc/efc.obj
    [ 22%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/wdt/wdt.obj
    [ 24%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/flash/flashd.obj
    [ 26%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/board/board_cstartup_gnu.obj
    [ 27%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/board/board_lowlevel.obj
    [ 29%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/board/exceptions.obj
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c: In function 'HardFault_HandlerC':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:108:12: warning: unused variable 'pc' [-Wunused-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:96:11: warning: variable 'stacked_psr' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:94:11: warning: variable 'stacked_lr' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:93:11: warning: variable 'stacked_r12' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:92:11: warning: variable 'stacked_r3' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:91:11: warning: variable 'stacked_r2' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:90:11: warning: variable 'stacked_r1' set but not used [-Wunused-but-set-variable]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\board\exceptions.c:89:11: warning: variable 'stacked_r0' set but not used [-Wunused-but-set-variable]
    [ 31%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/tc/tc.obj
    [ 32%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBD.obj
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c: In function 'USBD_SuspendHandler':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c:94:13: warning: the address of 'USBDCallbacks_Suspended' will always evaluate as 'true' [-Waddress]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c: In function 'USBD_ResumeHandler':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c:112:17: warning: the address of 'USBDCallbacks_Resumed' will always evaluate as 'true' [-Waddress]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c: In function 'USBD_ResetHandler':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c:133:9: warning: the address of 'USBDCallbacks_Reset' will always evaluate as 'true' [-Waddress]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c: In function 'USBD_RequestHandler':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c:150:14: warning: the address of 'USBDCallbacks_RequestReceived' will always evaluate as 'true' [-Waddress]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c: In function 'USBD_Init':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\drivers\usb\USBD.c:374:9: warning: the address of 'USBDCallbacks_Initialized' will always evaluate as 'true' [-Waddress]
    [ 34%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBDescriptors.obj
    [ 36%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBRequests.obj
    [ 37%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBDCallbacks.obj
    [ 39%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBD_HAL.obj
    [ 40%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBDDriver.obj
    [ 42%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/usb/USBDDriverCallbacks.obj
    [ 44%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/pmc/pmc.obj
    [ 45%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/spi/spi.obj
    [ 47%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/drivers/uid/uid.obj
    [ 49%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/croutine.obj
    [ 50%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/tasks.obj
    [ 52%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/portable/MemMang/heap_3.obj
    [ 54%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/portable/GCC/ARM_CM3/port.obj
    [ 55%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/queue.obj
    [ 57%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/free_rtos/list.obj
    [ 59%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/pearson_hash.obj
    [ 60%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/rand.obj
    [ 62%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/init.obj
    [ 63%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/led.obj
    [ 65%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/syscalls.obj
    [ 67%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/profiling.obj
    [ 68%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/trace.obj
    [ 70%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/utility/mutex.obj
    [ 72%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/com_messages.obj
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\com\com_messages.c: In function 'com_adc_calibrate':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\com\com_messages.c:129:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    [ 73%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/i2c/i2c_clear_bus.obj
    [ 75%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_common.obj
    [ 77%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_slave.obj
    [ 78%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/i2c/i2c_eeprom/i2c_eeprom_master.obj
    [ 80%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/none/none.obj
    [ 81%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/com.obj
    [ 83%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/usb/usb_descriptors.obj
    [ 85%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/usb/usb_callbacks.obj
    [ 86%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/usb/usb.obj
    [ 88%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/com_common.obj
    [ 90%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/spi/spi_common.obj
    [ 91%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_common.obj
    [ 93%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/com/spi/spi_stack/spi_stack_slave.obj
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\com\spi\spi_stack\spi_stack_slave.c: In function 'SPI_IrqHandler':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\com\spi\spi_stack\spi_stack_slave.c:71:19: warning: variable 'dummy' set but not used [-Wunused-but-set-variable]
    [ 95%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/bricklet/bricklet_communication.obj
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'write_bricklet_name':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:37:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'read_bricklet_name':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:52:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'write_bricklet_plugin':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:73:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'read_bricklet_plugin':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:97:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'write_bricklet_uid':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:129:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c: In function 'read_bricklet_uid':
    C:\Users\dk23901\workspace\dc-brick_v1-1-6\src\bricklib\bricklet\bricklet_communication.c:143:2: warning: array subscript has type 'char' [-Wchar-subscripts]
    [ 96%] Building C object CMakeFiles/dc-brick.elf.dir/src/bricklib/bricklet/bricklet_init.obj
    [ 98%] Building C object CMakeFiles/dc-brick.elf.dir/src/main.obj
    [100%] Building C object CMakeFiles/dc-brick.elf.dir/src/dc.obj
    Linking C executable dc-brick.elf
       text	   data	    bss	    dec	    hex	filename
      56196	      0	   1748	  57944	   e258	dc-brick.elf
    make[2]: Leaving directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    [100%] Built target dc-brick.elf
    make[1]: Leaving directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    make: Leaving directory `C:/Users/dk23901/workspace/dc-brick_v1-1-6/build'
    
    13:24:54 Build Finished (took 15s.148ms)

  7. Hallo zusammen,

    ich versuche gerade die Firmware des DC-Bricks selbst zu kompilieren. Dabei verwende ich eclipse, sowie den Sourcery ARM G++ Kompiler.

     

    Ich habe die bricklib sowie die src/* dateien in mein Projekt eingefügt(copy).

    Beim kompilieren gibt es nun diesen Fehler:

     

    15:26:02 **** Build of configuration Debug for project Firmware_DC_1.1.2 ****
    cs-make all 
    'Building file: ../bricklib/utility/init.c'
    'Invoking: ARM Sourcery Windows GCC C Compiler'
    arm-none-eabi-gcc - -Wall -Wa,-adhlns="bricklib/utility/init.o.lst" -c -fmessage-length=0 -MMD -MP -MF"bricklib/utility/init.d" -MT"bricklib/utility/init.d" -mcpu=cortex-m4 -mthumb -g3 -gdwarf-2 -o "bricklib/utility/init.o" "../bricklib/utility/init.c"
    ../bricklib/utility/init.c:24:24: fatal error: pio/pio_it.h: No such file or directory
    compilation terminated.
    cs-make: *** [bricklib/utility/init.o] Error 1
    

     

    Hat jemand eine Ahnung was ich falsch mache?

    vielen dank!

    David

×
×
  • Neu erstellen...