Pages: [1] 2
|
|
|
|
Author
|
Topic: FW und Bootloader Programmierung unter Linux (Read 3003 times)
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
FW und Bootloader Programmierung unter Linux
« on: 30. March 2016, 14:07:46 »
|
|
Hallo OM's
nach dem ich mich nun einige Tage mit der Programmierung meiner UI-Platine (d.h. Flashen der Software - nicht Porgrammentwicklung) beschäftigt habe, wollte ich Euch meine Erfahrungen kund tun.
Mangels eines Windows Rechners habe ich die FW und den Bootloader unter Linux (OpenSuse 13.1) mit Hilfe eines ST-Link USB Programmier-Adapters draufgespielt.
Meine anfänglichen Probleme lagen daran, dass ich mit dem Kommandozeilen Programm st-flash aus dem Paket ( stlink ) den Bootloader im falschem Format (*.dfu) statt (*.bin) übertragen habe.
Leider ist es dem st-flash Programm egal, in welchem Format die Datei zum MC übertragen wird und es quittiert den Vorgang mit OK.
Erst nach einigem Suchen in den Sourcen habe ich gesehen, dass der Bootloader auch als bootloader.bin vorliegt, jedoch im Verlauf des Buildvorgangs zu einem bootloader.dfu umkonvertiert wird.
Das benötigte Packet ist z.B. bei Suse wie folgt zu installieren:
sudo zypper search stlink (Paket-Suche) sudo zypper install stlink (Packet-Installation)
Danach genügen zwei Kommandos auf der Konsole um die Firmware zum Controller zu übertragen.
st-flash write ./bootloader.bin 0x08000000 und st-flash write ./mcfh.bin 0x08010000
wobei sich beide Dateien in dem Verzeichnis befinden sollen, wo man steht, ansonsten muss der Pfad vollständig angegeben verden.
st-flash write <vollständiger pfad>/bootloader.bin 0x08000000 und st-flash write <vollständiger pfad>/mcfh.bin 0x08010000
Der Flashvorgang sollte mit der Zeile:
2016-03-25T20:21:01 INFO src/stlink-common.c: Successfully loaded flash loader in sram
enden, was den Erfolgreichen Flashvorgang abschließt.
Den ST-Link Programmieradapter bekommt man bei Ebay für ein Paar Euros. Ihr solltet die Version #2 verwenden, da es noch alte Versionen #1 zu kaufen gibt und diese nicht alle ST ARM Controller unterstützen.
Je nach Linux System muss noch vor Benützung des ST-Link Sticks im Verzeichnis /etc/udev/rules.d/ eine Regel als Administrator (root) in einer Datei hinterlegt werden, damit der Stick beim Einstöpseln erkannt wird.
Im meinem Fall steht dieRegel in der Datei '49-stlinkv2.rules' und lautet:
# stm32 discovery boards, with onboard st/linkv2 (Kommentar Zeile 1) # ie, STM32L, STM32F4. (Kommentar Zeile 2) # STM32VL has st/linkv1, which is quite different (Kommentar Zeile 3)
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="3748", \ MODE:="0666", \ SYMLINK+="stlinkv2_%n"
Ohne die '\' am Ende jeder Zeile, kann man die Regel zum Erkennen des ST-Link-Sticks auch in einer Zeile schreiben, was aber etwas un- übersichtlicher ist.
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483",ATTRS{idProduct}=="3748",MODE:="0666",SYMLINK+="stlinkv2_%n"
So ich hoffe der eine oder andere kann mit dieser Information auch unter Linux den mcfh mit der FW beschreiben.
vy73 Markus DL8MBY
|
« Last Edit: 30. March 2016, 14:12:24 by dl8mby » |
Logged
|
|
|
|
DC3AX
Interessent noch länger dabei
Offline
Posts: 186
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #1 on: 07. April 2016, 09:15:59 »
|
|
Hallo,
unter Ubuntu ist dieses Paket nicht bekannt. Allerdings gibt es ein ppa zu einem kleinen grafischen Tool, das die Aufgabe ebenfalls für jeden einfach macht. https://launchpad.net/~fpoussin/+archive/ubuntu/ppa
Installation: ~$ sudo add-apt-repository ppa:fpoussin/ppa ~$ sudo apt-get update ~$ sudo apt-get install qstlink2
Schön gelöst ist, dass auch die udev Regeln automatisch installiert werden. Damit sollten alle STLink-V1 und V2 Boards über eine kleinen grafische Oberfläche programmiert werden können: ~$ qstlink2
Die Oberfläche sollte selbsterklärend sein.
vy 73 de Ulrich
|
|
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:FW und Bootloader Programmierung unter Linux
« Reply #2 on: 07. April 2016, 11:22:21 »
|
|
Danke Uli für die Info.
Ich habe gerade gelesen, das die neuen UI Boards Version 0.5 geinen Debug/Prog Pin-Header mehr haben sollen.
Hat schon jemand die 0.5er PCBs und kann feststellen, wo man da eventuell ein Behelfs-Pin-Header für die Programmierung dranlöten könnte.
Ist ja eigentlich schade, dass dieser Weg nun erschwert wird.
vy73 Markus DL8MBY
|
|
Logged
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #3 on: 07. April 2016, 11:29:56 »
|
|
Hallo Uli, und OMs,
Nachtrag zum Post von Uli -> qstlink2.
Das genannte Packet qstlink2 gibt es auch zum bauen in github:
https://github.com/fpoussin/QStlink2
Habe es gerade gefunden.
vy73 Markus DL8MBY
|
|
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #5 on: 07. April 2016, 13:58:14 »
|
|
Hallo Andreas,
ich habe mir ja zwei Sätze der Version 0.4 vor Wochen geordert. Mangels Erfahrung, wie weit das Projekt vorangekommen ist und der ständigen Zunahme der Änderungen in Deiner Liste, wollte ich vorsichtig agieren ;-)
Nun habe ich aber doch Blut geleckt und wollte noch zwei weitere Geräte aufbauen und meinen befreundeten OM's zum Spielen vermachen.
Habe gestern zwei weitere Plaitiensätze bestellt und bin gespannt, welche Version im Päckchen aus UK enthalten sein wird.
Da ja die HW offen ist, kann man sich eigentlich gleich selber eine UI und RF Platine nach dem Vorbild machen, aber dann in vier Lagen, was die Layout-Situation etwas entspannt.
Ein Board mit 20x15cm² mit zwei Nutzen drauf und in 5facher Ausführung würde etwas über 170US$ kosten, so meine letzte Recherche auf mikrocontroller.net, Platinen. (den ganzen Link habe ich leider auf dem Rechner daheim.)
Der nächste Winter kommt bestimmt ;-)
Aber erst muss ich kleinere Brötchen backen und die RF-Platine bestücken. Danach kommt noch ein ansehnliches Gehäuse Marke Eigenbau.
vy73 Markus DL8MBY
|
|
Logged
|
|
|
|
DB4PLE
positron Urgestein
Offline
Posts: 1278
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #6 on: 07. April 2016, 16:06:33 »
|
|
Hallo,
Alles falsch was hier stand, siehe EDIT unten.
ich habe hier ein 0.5 PCB. Und da sind sehr wohl die Debug-Header drauf. Aber eben auch die Verbindung dieser Pins zum Touchpanel (über 0R).
D.h man muss nicht die Debug-Fähigkeiten verlieren, aber es gibt andererseits auch keine einheitliche Linie, auf die sich alle einigen können. Denn auf Developermaschinen mit ST-Link ginge dann kein Touch. Das ist natürlich sehr, sehr unschön. Kann man alles irgendwie lösen, wäre aber nicht notwendig gewesen. Fairerweise muss man sagen, das vermutlich zu dem Zeitpunkt als die 0.5 Revision gemacht wurde, den ST-Link aktiv benutzt hat.
Trotzdem keine gute Idee, den einzig vernünftigen Debugzugang zu kappen, insbesondere möglicherweise bei den vorbestückten Boards (das weiß ich aber nicht, da ich kein solches Board habe).
Um bei der Analogie von Andreas zu bleiben, jede 2. Version Microsoft ware eigentlich eine ordentliche Verbesserung (XP - [Vista] - 7 - [8.x] - 10). Verrückt, Microsoft als Vorbild :-)
73 Danilo
EDIT: Ich habe das Board noch nicht aufgebaut und hatte aus dem Vorhandensein des P8 auf dessen identische Funktion geschlossen. Aber weit gefehlt. Hätte mir die Schaltung mal genauer anschauen sollen. Nicht nur dass das Debug-Interface entfernt wurde, es wurden auch noch alle bisherigen Daten-Pins auf Masse gelegt (auch die vom Debug-Interface getriebenen Pins, d.h. u.U. zerstört man seine Debug HW (habe nicht vor das zu prüfen). Siehe https://uk.groups.yahoo.com/neo/groups/M0NKA-mcHF/conversations/messages/6046 und http://www.m0nka.co.uk/wp-content/uploads/2016/03/mcHF_ui.pdf Seite 2 links unten P8 Now I am officially disappointed.
|
« Last Edit: 08. April 2016, 06:00:22 by DB4PLE » |
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #8 on: 08. April 2016, 09:30:08 »
|
|
Hallo Andreas,
was kostet Dich eine vier-Lagen Europakarte bei kleiner Stückzahl.
Machen die auch Protoytping?
vy73 Markus DL8MBY
|
|
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #10 on: 08. April 2016, 12:03:59 »
|
|
Hallo Andreas,
im Preiscalculator konnte ich aber nur 2-Lagen Produkte finden. Unterschiedliche Materialien FR4, Roggers, Flex und Alu aber keine Einstellmöglichkeit für mehr als zwei Lagen.
Gruß Markus
|
|
Logged
|
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #12 on: 08. April 2016, 16:51:40 »
|
|
Sorry Andreas,
klappt nicht.
Muss man eventuell registriert sein?
Siehe meinen Output!
Markus
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #13 on: 08. April 2016, 16:54:32 »
|
|
Sorry #2,
übersehen - Javascript Abgeschaltet!
Wer lesen kann ....
Jetzt klappt es.
Markus DL8MBY
|
|
|
|
dl8mby
alter Hase
Offline
Posts: 363
Ich liebe dieses Forum!
|
|
Re:FW und Bootloader Programmierung unter Linux
« Reply #14 on: 08. April 2016, 17:04:31 »
|
|
Hallo Andreas,
zwei Platinen 190x75 mit vier Lagen liegen (mit BestückungsDruck, sonst 50€ günstiger) bei ca. 215€ Brutto.
Finde ich einen guten Preis für DE Fertigung.
Siehe Anhang.
|
|
|
|
Pages: [1] 2
|
|
|
|
|
|
|