Pages: 1 [2] 3 4 ... 6
|
|
|
|
Author
|
Topic: Hilfe beim Flashen via JLink (Read 5570 times)
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #15 on: 26. March 2016, 13:03:37 »
|
|
Nachtrag
zu meinen installierten Eclipse Plugins.
Siehe Bild.
Markus
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #16 on: 26. March 2016, 13:07:06 »
|
|
und noch was,
das makefile vom mchf habe ich wie folgt angepasst:
#CC=arm-none-eabi-gcc CC=arm-linux-gnueabi-gcc #OBJCOPY=arm-none-eabi-objcopy OBJCOPY=arm-linux-gnueabi-objcopy
Aber es scheint noch was zu fehlen.
Markus
|
|
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #18 on: 26. March 2016, 13:32:37 »
|
|
Hallo Andreas,
ich habe noch unter Eclipse include und gcc semantic errors.
Beides hat wohl noch mit einer fehlerhaften Einbindung der GNU-ARM-Toolchain in Eclipse zu tun.
Ein Index Rebuild über alle Files des mchf-Projekt- Verzeichnisses läuft hingegen ohne Probleme durch.
Da ich mich nun mit der XYL auf den Weg zu der Verwandtschaft mach, kann ich wieder erst nach Ostern weiter testen.
Danke für Deine Hilfe und Mühe.
Alles braucht seine Zeit.
Sollte ich weiterhin mit der Programmierumgebung Probleme haben, werde ich mich erst an den Aufbau der RF-Platine machen.
Man dar sich nicht zu sehr an einer Stelle verbeißen, sondern muss auch mal Abstand von der Sache nehmen um wieder etwas Durchblick zu bekommen ;-)
vy73
Markus DL8MBY
PS.: Ich arbeite hauptsächlich mit Suse und RedHat im QRL.
|
|
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #20 on: 29. March 2016, 14:42:17 »
|
|
Hallo Andreas, hallo OM's,
heute ist es mir gelungen meine ARM GCC Toolchain zum Laufen zu bringen.
Die neuste FW konnte ich sofort beim ersten Durchlauf compilieren.
Natürlich waren im Makefile Anpassungen am meine Programmier-Umgebung erforderlich.
PREFIX = ~/Programming/ARM/ToolChain/gcc-arm-none-eabi-4_8 GCC_LIB_VERSION = 4.8.4
Danach lief das make Kommand problemlos durch.
Dabei habe ich noch keine Anpassungen an die verbaute MCU vo Type 439 gemacht, d.h. Anpassung an den größeren Flash- und RAM-Speicher.
markus@HP8730W:~/Programming/eclipse/workspace/mchf-eclipse> make [CC] main.o [CC] usb/usbh/core/src/usbh_hcs.o [CC] usb/usbh/core/src/usbh_core.o [CC] usb/usbh/core/src/usbh_ioreq.o [CC] usb/usbh/core/src/usbh_stdreq.o [CC] usb/usbh/class/HID/src/usbh_hid_keybd.o [CC] usb/usbh/class/HID/src/usbh_hid_core.o [CC] usb/usbh/class/HID/src/usbh_hid_mouse.o [CC] usb/otg/src/usb_core.o [CC] usb/otg/src/usb_hcd_int.o [CC] usb/otg/src/usb_dcd.o [CC] usb/otg/src/usb_dcd_int.o [CC] usb/otg/src/usb_otg.o [CC] usb/otg/src/usb_hcd.o [CC] usb/usbd/core/src/usbd_core.o [CC] usb/usbd/core/src/usbd_ioreq.o [CC] usb/usbd/core/src/usbd_req.o [CC] usb/usbd/class/audio/src/usbd_audio_core.o [CC] usb/usbd/class/audio/src/usbd_audio_out_if.o [CC] usb/usbd/class/cdc/src/usbd_cdc_core.o [CC] cmsis_lib/source/stm32f4xx_usart.o [CC] cmsis_lib/source/misc.o [CC] cmsis_lib/source/stm32f4xx_pwr.o [CC] cmsis_lib/source/stm32f4xx_syscfg.o [CC] cmsis_lib/source/stm32f4xx_gpio.o [CC] cmsis_lib/source/stm32f4xx_wwdg.o [CC] cmsis_lib/source/stm32f4xx_adc.o [CC] cmsis_lib/source/stm32f4xx_exti.o [CC] cmsis_lib/source/stm32f4xx_i2c.o [CC] cmsis_lib/source/stm32f4xx_dac.o [CC] cmsis_lib/source/stm32f4xx_fsmc.o [CC] cmsis_lib/source/stm32f4xx_flash.o [CC] cmsis_lib/source/stm32f4xx_spi.o [CC] cmsis_lib/source/stm32f4xx_dma.o [CC] cmsis_lib/source/stm32f4xx_rtc.o [CC] cmsis_lib/source/stm32f4xx_tim.o [CC] cmsis_lib/source/stm32f4xx_rcc.o [CC] drivers/cat/cat_driver.o [CC] drivers/cat/usb/usbd_usr.o [CC] drivers/cat/usb/usbd_bsp.o [CC] drivers/cat/usb/usbd_desc.o [CC] drivers/cat/usb/usbd_cdc_vcp.o [CC] drivers/audio/cw/cw_gen.o [CC] drivers/audio/audio_driver.o [CC] drivers/audio/codec/codec.o [CC] drivers/audio/codec/i2s.o [CC] drivers/audio/softdds/softdds.o [CC] drivers/keyboard/usb/usbh_bsp.o [CC] drivers/keyboard/usb/usbh_usr.o [CC] drivers/keyboard/keyb_driver.o [CC] drivers/ui/oscillator/ui_si570.o [CC] drivers/ui/ui_menu.o [CC] drivers/ui/ui_driver.o [CC] drivers/ui/encoder/ui_rotary.o [CC] drivers/ui/lcd/ui_lcd_hy28.o [CC] drivers/ui/lcd/ui_lcd_hy28_fonts.o [CC] hardware/mchf_hw_i2c2.o [CC] hardware/mchf_hw_i2c.o [CC] hardware/mchf_board.o [CC] cmsis_boot/system_stm32f4xx.o [CC] cmsis_boot/startup/startup_stm32f4xx.o [CC] syscalls/syscalls.o [CC] misc/v_eprom/eeprom.o [CC] stdio/printf.o [LD] mchf.elf [OBJC] mchf.bin text data bss dec hex filename 239384 1708 94400 335492 51e84 mchf.elf copy from `mchf.elf' [elf32-littlearm] to `mchf.bin' [binary]
Andreas, kannst Du mir bitte sagen, was es zu bedeuten hat, wenn beim Powerdown die Konfiguration gesichert wird, aber das Programm die MCU nicht ausschaltet.
Liegt es daran, dass ich nicht über die RF-Platine, sondern direkt über ein NT die Versorgung bereitstelle?
Siehe Anhang.
Danke!
vy73 Markus DL8MBY
|
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #22 on: 30. March 2016, 19:48:18 »
|
|
Hallo!
Ich bin zwar noch primär in den Prüfungsvorbereitungen, aber ich habe hier auch schon lokal mal die letzten git HEAD Revisionen mit compiliert und geflasht. Bin soweit sehr zufrieden. Ich würde gerne ein paar Kleinigkeiten am Makefile ändern, benötige aber jemanden der nicht Linux als Basis verwendet, um etwas zu prüfen.
Zur Info: Der gcc 4.8 arbeitet noch nicht so 100% effizient mit dem M4F, der gcc 4.9 hat einige Bugs, die zu Linker- und Dateisystem-Problemen führen. Ich arbeite daher mit dem gcc 5.2. (https://launchpad.net/gcc-arm-embedded/+download) Da ich aber mit zig verschiedenen Systemen arbeite und privat und beruflich auch etliche unterschiedliche Stände dieser Systeme pflegen muss, habe ich nicht den üblichen arm-none-gnueabi-gcc irgendwo unter /usr/share/lib/.... installiert
Ich bevorzuge die u-boot oder Linux Kernel Methode export CROSS_COMPILE=/bla/blubb/arm-x-y- Damit kann man schnell und einfach zwischen beliebigen Compilern umschalten.
Im Makefile sind hart kodierte Links auf die Bibliotheken des Compilers gesetzt, das ist aber nicht nötig, denn der Compiler kennt die Position dieser Bibliotheken relativ zu seiner eigenen Position.
D.h. wenn man unter obigem Link das .tar.bz herunter lädt, es dann in ~/Download/gcc entpackt und dann das Verzeichnis gcc-arm-none-eabi-5_2-2015q4 als root (sudo) komplett nach /opt/ verschiebt, dann kann man sich darauf verlassen, dass der compiler seine Includes und Bibliotheken korrekt findet.
Dazu kann man den compiler mit der option -print-search-dirs aufrufen:
/opt/gcc-arm-none-eabi-5_2-2015q4/bin/arm-none-eabi-gcc -print-search-dirs install: /opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/ programs: =/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/ libraries: =/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../arm-none-eabi/lib/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../arm-none-eabi/lib/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../arm-none-eabi/usr/lib/arm-none-eabi/5.2.1/:/opt/gcc-arm-none-eabi-5_2-2015q4/bin/../arm-none-eabi/usr/lib/
Mich würde sehr interessieren, ob dies auch unter Windows so funktioniert. Also oben das Windows kompatible ZIP herunter laden, es entpacken und an einen genehmen Ort verschieben. Dann auf der DOS Eingabe mal aus einem beliebigen anderen Verzeichnis heraus den Pfad mit der EXE vom gcc aufrufen und -print-search-dirs anhängen.
Der Suchpfad sollte korrekt zuerst auf die mitgebrachten Libraries zeigen.
Ist das der Fall, kann das Makefile sehr vereinfacht werden. Dann würde ich CROSS_COMPILE mit gcc-arm-none- vorbelegen, aber das kann dann jeder leicht selber überschreiben.
vy 73 de Astralix
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
DB4PLE
positron Urgestein
Offline
Posts: 1278
|
|
Re:Hilfe beim Flashen via JLink
« Reply #23 on: 30. March 2016, 20:16:12 »
|
|
Hallo Astralix,
"c:\Program Files (x86)\GNU Tools ARM Embedded\5.2 2015q4\bin\arm-none-eabi-gcc.exe" -print-search-dirs liefert:
install: c:\program files (x86)\gnu tools arm embedded\5.2 2015q4\bin\../lib/gcc/arm-none-eabi/5.2.1/ programs: =c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/bin/ libraries: =c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../arm-none-eabi/lib/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../arm-none-eabi/lib/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../arm-none-eabi/usr/lib/arm-none-eabi/5.2.1/;c:/program files (x86)/gnu tools arm embedded/5.2 2015q4/bin/../arm-none-eabi/usr/lib/
73 Danilo
|
|
Logged
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #24 on: 30. March 2016, 20:35:02 »
|
|
Hallo Astralix,
danke für die nützlichen Erläuterungen zu der Toolchain Installation.
Kannst Du auch erläutern, falls bekannt, wie man Eclipse konfiguriert, dass es nur das make Kommando zur Compilierung verwendet, ohne dass man sich um die ganzen Einstellungen (Compiler/Include-Pfade/Libs) an den vielen verschiedenen Stellen kümmern muss, wie es z.B. beim QT-Creator der Fall ist.
Danke! Markus DL8MBY
|
|
Logged
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #25 on: 30. March 2016, 20:36:12 »
|
|
Hallo Markus,
danke für den schnellen Test, dann kann ich das Makefile ja sehr einfach überarbeiten, denn die relativen Pfade stimmen scheinbar.
vy73 de Astralix
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #26 on: 30. March 2016, 20:41:37 »
|
|
Hallo Astralix,
der Dank gebührt Danilo
Markus ;-)
|
|
Logged
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #27 on: 30. March 2016, 20:44:40 »
|
|
Hallo Astralix,
hättest Du für mich eventuell ein stm32_flash.ld Linker File für einen 439VI MC.
Markus DL8MBY
|
|
Logged
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #28 on: 30. March 2016, 21:38:04 »
|
|
Ups!
Also danke an Danilo und Markus
Linker File für den 439VI? Muss ich mal gerade das Datenblatt zupfen und mit dem 407 von mir vergleichen. Dauert ne Sekunde...
|
|
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:Hilfe beim Flashen via JLink
« Reply #29 on: 30. March 2016, 22:28:27 »
|
|
http://pastebin.com/1Gna2YWQ
Hier habe ich mal eine Rohfassung meines Makefiles gepostet. Alten Makefile sichern, meinen drüber pasten und probieren. 1. Unter Linux kann man vorher per export CROSS_COMPILE=/opt/mein-arm-compiler/bin/arm-none-eabi- einen anderen Compiler selektieren. Danach nutzt jeder Aufruf von Make eben diesen. Unter Windows geht das bestimmt auch mit set CROSS_COMPILE="Pfad/bla/arm-none-eabi-" oder so ähnlich (bin da zu lange raus)
2. Am Anfang vom Makefile kann man ggf. Änderungen machen, wenn man eine andere CPU verwendet. MCU = STM32F407VG FLASH = 448K SRAM = 128K dafür durch die passenden eigenen Daten ersetzen. Beachtet bitte, dass der Bootloader 64k FLASH benötigt, die Ihr hier abziehen müsst.
Windows-User bitte mal im Makefile die Sektion "ifdef SystemRoot" suchen und da mal vor die $(CROSS_COMPILE) ebenfalls das @ einfügen, wie in der Linux Abteilung darunter. Ich bin sicher, dass das @ eine Make Funktion ist und überflüssigen Output beim Compilieren verhindert. Aber ich möchte das nicht einfach so voraussetzen, weil ich beim Commit an Andreas nicht alle Windows User ausknipsen möchte
Markus, ich denke, wenn Du die Daten im Makefile auf MCU = STM32F439VI FLASH = 1984K SRAM = 256K änderst, kann es schon gehen. Möglicherweise mussst Du 64kB SRAM abziehen (SRAM=192K), weil dieses das CCM ist und anders adressiert wird.
Edit (Es ist schon spät...) http://pastebin.com/VM5Sq793 Hier das passende Linker-Script Ebenfalls arm-gcc-link.ld weg kopieren und durch obigen Text ersetzen
Grüße
|
« Last Edit: 30. March 2016, 22:38:24 by Astralix » |
Logged
|
Es gibt drei binäre Zustände: Ein, Aus und Vielleicht. Je höher die Frequenz, desto Vielleicht...
|
|
|
Pages: 1 [2] 3 4 ... 6
|
|
|
|
|
|
|