logo
Welcome, Guest. Please Login or Register.
29. December 2024, 15:36:20


Home Help Search Login RegisterWIKIUHSDR Download

Amateurfunk Sulingen
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: FW und Bootloader Programmierung unter Linux <- zurück vorwärts ->
Pages: [1] 2 Go Down Print
   Author  Topic: FW und Bootloader Programmierung unter Linux  (Read 3003 times)
dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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!

View Profile
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!

View Profile
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!

View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:FW und Bootloader Programmierung unter Linux
« Reply #4 on: 07. April 2016, 11:32:38 »

"Eigentlich" ist eine sehr rücksichtsvolle Benennung dieser Tatsache - das ist meine Meinung dazu...

Ich vergleiche die 0.5er Version der PCBs daher mit "Windows Vista". Keiner wollte es (außer dem Hersteller selbst) und die Akzeptanz war (vorsichtig ausgedrückt) sehr gering.

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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





View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:FW und Bootloader Programmierung unter Linux
« Reply #7 on: 07. April 2016, 20:26:09 »

Die Welt ist halt verrückt - und Humor ist, wenn man lacht und es nicht persönliche nimmt oder jemanden dafür verantwortlich macht

Jeder von uns sollte in der Lage sein, ein paar Drähte zu ziehen.

Übrigens lasse ich meine Platinen bei LeitOn in Berlin fertigen. Faire Preise, elektronisch geprüft, und liefern Standard in ca. 4 Wochen, wenn Du mehr löhnst, auch schneller.

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:FW und Bootloader Programmierung unter Linux
« Reply #9 on: 08. April 2016, 10:02:17 »

Ja, machen sie.

Und es gibt einen Online-Preiskalulator

http://www.leiton.de

vy 73
Andreas
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<
dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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
DF8OE
Administrator
*****

Offline

Posts: 6284



Stellvertr. OVV I40, Jugend / Nachwuchsreferent

View Profile WWW
Re:FW und Bootloader Programmierung unter Linux
« Reply #11 on: 08. April 2016, 14:08:55 »

?

vy73
Andreas
 leiton.png
Logged

Wenn der Wind des Wandels weht, nageln die einen Fenster und Türen zu und verbarrikadieren sich. Die anderen gehen nach draußen und bauen Windmühlen...
qrz.com-Seite von DF8OE
-----------------------------------------------------
>>>> Die Inhalte meiner Beiträge dürfen ohne meine explizite Erlaubnis in jedwedem Medium weiterverbreitet werden! <<<<

dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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
 liteon.png
Logged

dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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
 liteon2.png
Logged

dl8mby
alter Hase
****

Offline

Posts: 363



Ich liebe dieses Forum!

View Profile
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.

 LiteOn-4L-PCB.pdf
Logged
Pages: [1] 2 Go Up Print 
Diskussions- und Newsboard des DARC-Ortsverbandes I40  |  allgemeine Kategorie  |  mcHF Projekt Deutsch / English (here you can discuss everything related to mcHF) (Moderators: DF8OE, DL1PQ)  |  Topic: FW und Bootloader Programmierung unter Linux <- zurück vorwärts ->
Jump to: 


Login with username, password and session length

 Es wird die Verwendung von Browsern die auf der "Blink"-Engine basieren und mindestens
1024x768 Pixel Bildschirmauflösung für die beste Darstellung empfohlen
 
Amateurfunk Die Beiträge sind, sofern nicht anders vermerkt, unter der folgenden Lizenz veröffentlicht:
GNU Free Documentation License 1.3 GNU Free Documentation License 1.3
verbindet!
Powered by MySQL Powered by PHP Diskussions- und Newsboard des DARC-Ortsverbandes I40 | Powered by YaBB SE
© 2001-2004, YaBB SE Dev Team. All Rights Reserved.
- modified by Andreas Richter (DF8OE)
Impressum & Disclaimer
Valid XHTML 1.0! Valid CSS!