Changes for page LPC11xx ARM Entwicklung
Last modified by Florian Völzke on 2020/09/27 10:55
From version 18.3
edited by Christian B.
on 2018/01/07 00:46
on 2018/01/07 00:46
Change comment:
Link zum IDE Download angepasst
To version 9.1
edited by Stefan Taferner
on 2016/02/28 19:56
on 2016/02/28 19:56
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -xwiki:XWiki. Doumanix1 +xwiki:XWiki.StefanT - Content
-
... ... @@ -1,4 +1,4 @@ 1 -[[[[image:arm_proto.jpg||style="float:right" width="200"]]>>attach:arm_proto.jpg||rel="__blank"]]Die Selfbus ARM Plattform ist gerade in Entwicklung. Der LPC1115 soll unsere Produktpalette dort ergänzen wo der bisherige LPC922 nicht genug Resourcen bietet. 1 +[[[[image:arm_proto.jpg||style="float: right;" width="200"]]>>attach:arm_proto.jpg||rel="__blank"]]Die Selfbus ARM Plattform ist gerade in Entwicklung. Der LPC1115 soll unsere Produktpalette dort ergänzen wo der bisherige LPC922 nicht genug Resourcen bietet. 2 2 3 3 Für Interessierte gibt es hier eine Sammlung des bisherigen Wissens. 4 4 ... ... @@ -16,61 +16,19 @@ 16 16 17 17 Entwickelt wird mit LPCxpresso. Um ca. 20 EUR bekommt man bei Embedded Artists ein Prototyping Board mit Programmer, mit dem auch debuggt werden kann: [[Link zu LPCxpresso 1115 bei Embedded Artists>>url:http://www.embeddedartists.com/products/lpcxpresso/lpc1115_xpr.php||rel="__blank"]]. 18 18 19 -Zum LPCxpresso gibt es ein fertiges Eclipse mit passendem Compiler und Debugger. Die Entwicklungsumgebung ist kostenlos (bis 256k Flash) und kann [[auf dieser Seite>>http:// nxp.com/lpcxpresso||rel="__blank"]] heruntergeladen werden.19 +Zum LPCxpresso gibt es ein fertiges Eclipse mit passendem Compiler und Debugger. Die Entwicklungsumgebung ist kostenlos (bis 256k Flash) und kann [[auf dieser Seite>>url:http://www.lpcware.com/lpcxpresso/download||rel="__blank"]] heruntergeladen werden. 20 20 21 -Nach einem reboot legt man einen Workspace an. In diesen werden dann die SBLIB und die Sourcen für die Projekte aus dem Repository importiert. Geht dabei so vor:21 +Nach einem reboot legt man einen Workspace an. In diesen werden dann die SBLIB und die Sourcen für die Projekte aus dem Repository importiert. 22 22 23 - **Geänderte VorgangsweisedieeserlaubteinfachÄnderungenausdemGIT RepositoriesindieProjektezubekommen bzw.auchÄnderungenwieder insGIT zurückzubekommen.**23 +Wichtig ist, dass man den CMSIS Core in den Workspace importiert. Der wird mit LPCxpresso mitgeliefert und kann über Quickstart / Import projects importiert werden. Der Pfad ist: Examples/Legacy/CMSIS_CORE/CMSIS_CORE_Latest.zip 24 24 25 - DieuntenbeschriebenMethode "kopiert"allenSourcen indasWorkspaceVerzeichnis.Das hatzur Folgedasman denBezugzuGIT verliert.DiehierbeschriebeneMethodverweistvon demWorkspacezudemausgechecktenRepositories. Daher reichtein**gitpull**umdie aktuellenÄnderungeninseinProjektzuübernehmen.25 +Für den normalen Benutzer wird der Programmer/Debugger, der beim LPCxpresso dabei ist, nicht nötig sein. Man kann den ARM auch mit einem einfachen seriellen Programmer programmieren. Ich kann aber nur jedem Entwickler die Anschaffung empfehlen. Der LPCxpresso ist nicht teuer, und der Hardware Debugger, den man dadurch bekommt, ist das Geld auf jeden Fall wert. 26 26 27 -1. Ist das Quickstart panel sichtbar? Wenn nicht, dann unter Window> Open Perspective> Other > C/C++ klicken. 28 -1. Es muss die CMIS Library für den LPC11xx importiert weren: 29 -1*. CMSIS Core in den Workspace importieren. Der wird mit LPCxpresso mitgeliefert.Nutzt das feld 'archive' 30 -Der Pfad ist: C:\NXP\LPCXpresso_7.9.2_493\lpcxpresso\Examples\Legacy\CMSIS_CORE\CMSIS_CORE_Latest.zip. <next>klicken. Man kann sich hier getrost nur die LPC11xx anhaken. 'finisch' klicken. 31 -1. Die **sblib **aus dem git checkout Verzeichns importieren: 32 -11. Unter "**File**" den Menüpunkt "**Import **" auswählen 33 -11. Im folgenden Fenster unter dem Ordner "**General**" "**Existing Projects into Workspace**" auswählen und "**Next**" klicken 34 -11. Im folgenden Fenster "**Select root directory**" anwählen und als Pfad das Verzeichnis in das ihr das "//software-arm-lib//" Repository ausgecheckt habt auswählen. 35 -11. Denn alle Projekte Abwählen und nur das **sblib **Projekt auswählen und "**Finish**" klicken 36 -11. Damit sollte nun das **sblib **Projekt im "Projekt Explorer" auftauchen. 37 -1. Nun das(die eigentlich(en) Applikationsprojekt in den Workspace importieren. Das geht ähnlich wie das Importieren der sblib, nur diesmal das software-arm-incubation Repository auswählen: 38 -11. Unter "**File**" den Menüpunkt "**Import **" auswählen 39 -11. Im folgenden Fenster unter dem Ordner "**General**" "**Existing Projects into Workspace**" auswählen und "**Next**" klicken 40 -11. Im folgenden Fenster "**Select root directory**" anwählen und als Pfad das Verzeichnis in das ihr das "//software-arm-incubation//" Repository ausgecheckt habt auswählen. 41 -11. Dann alle Projekte Abwählen und nur die Projekte der Applikationen die ihr kompilieren wollt auswählen und "**Finish**" klicken. 42 -1. Nun muss die **sblib **für das richtige Target kompiliert werden (//BCU1 //oder //BIM112//): 43 -11. Das **sblib **Projekt im "**Projekt Explorer**" markieren. 44 -11. Auf den Pfeil neben dem Hammer Symbol klicken und im Drop-Down Menü das richtige Build-Target auswählen (BCU1_Debug oder BIM112_Debug) 45 -1. Nun kann die Applikation gebaut werden. Dazu wieder das Projekt im "**Projekt Explorer"** selektieren und über das Hammer Symbol das entsprechende Target auswählen und bauen. 46 -1. Ihr solltet nun eine Debug fähige Applikation haben. 47 - 48 -Weiter Infos bzgl. der Einstellungen der Kompile Optionen findet ihr hier: [[Eigenes Projekt anlegen.>>url:http://selfbus.myxwiki.org/xwiki/bin/view/Selfbus/Eclipse_ARM_Projekt/]] 49 -\\Für den normalen Benutzer wird der Programmer/Debugger, der beim LPCxpresso dabei ist, nicht nötig sein. Man kann den ARM auch mit einem einfachen seriellen Programmer programmieren. Ich kann aber nur jedem Entwickler die Anschaffung empfehlen. Der LPCxpresso ist nicht teuer, und der Hardware Debugger, den man dadurch bekommt, ist das Geld auf jeden Fall wert. 50 - 51 -**Alte Beschreibung**: 52 - 53 ---1. Ist das Quickstart panel sichtbar? Wenn nicht, dann unter Window> Open Perspective> Other > C/C++ klicken.-- 54 - 55 ---2. Dann müssen 3 Sachen importiert werden. Hierzu jeweils im Quickstart panel rider 'start here' Menüpunkt 'import project(s)' klicken.-- 56 - 57 ---3. CMSIS Core in den Workspace importieren. Der wird mit LPCxpresso mitgeliefert.Nutzt das feld 'archive'-- 58 - 59 ---Der Pfad ist: C:\NXP\LPCXpresso_7.9.2_493\lpcxpresso\Examples\Legacy\CMSIS_CORE\CMSIS_CORE_Latest.zip. <next>klicken. Man kann sich hier getrost nur die LPC11xx anhaken. 'finisch' klicken.-- 60 - 61 ---4. Die SBLIB importieren. Wie unter 3 beschrieben, quickstart>start here>import project(s), dann das untere feld(root directory) 'browse' und das--[[-- GIT-->>url:http://selfbus.myxwiki.org/xwiki/bin/view/Selfbus/GIT_Anleitung]]-- Verzeichnis software-arm-lib auswählen, wo auch immer bei euch das liegt. <next> <finish>-- 62 - 63 ---5. Die Projekte importieren. Wie unter 3 beschrieben, quickstart>start here>import project(s), dann das untere feld(root directory) 'browse' und das --[[--GIT-->>url:http://selfbus.myxwiki.org/xwiki/bin/view/Selfbus/GIT_Anleitung]]-- Verzeichnis software-arm-incubation auswählen, wo auch immer bei euch das liegt. <next> Die gewünschten Projekte wählen, <finish>. Der Vorgang kann wiederholt werden, bereits importierte Projekte sind dann per default nicht angehakt.-- 64 - 65 ---6. Die Einstellungen wie folgt vornehmen: --[[--Eigenes Projekt anlegen.-->>url:http://selfbus.myxwiki.org/xwiki/bin/view/Selfbus/Eclipse_ARM_Projekt/]] 66 - 67 ---Für den normalen Benutzer wird der Programmer/Debugger, der beim LPCxpresso dabei ist, nicht nötig sein. Man kann den ARM auch mit einem einfachen seriellen Programmer programmieren. Ich kann aber nur jedem Entwickler die Anschaffung empfehlen. Der LPCxpresso ist nicht teuer, und der Hardware Debugger, den man dadurch bekommt, ist das Geld auf jeden Fall wert.-- 68 - 69 69 === Hardware Aufbau === 70 70 71 71 Wir verwenden ein LPCxpresso 1115 Board. 72 72 73 -Für die Verbindung zum Bus wird eine normale Controller Schaltung verwendet, wie zum Beispiel der [[4TE Controller>>doc: Selfbus.Controller_922_4TE]]. Es wird der Teil mit der Bus Anbindung benötigt. Der LPC922 wird nicht eingesetzt.31 +Für die Verbindung zum Bus wird eine normale Controller Schaltung verwendet, wie zum Beispiel der [[4TE Controller>>doc:Controller_922_4TE]]. Es wird der Teil mit der Bus Anbindung benötigt. Der LPC922 wird nicht eingesetzt. 74 74 75 75 Dann werden folgende Verbindungen zwischen dem LPCxpresso und dem** LPC922 Sockel **im Controller Board hergestellt: 76 76 ... ... @@ -85,7 +85,7 @@ 85 85 Im folgenden die Anschlußzuordnung von der LPCXpresso-Schnittstelle zur Programmierschnistelle der ARM Platine: 86 86 87 87 88 -(% style="height:222px;width:526px" %)46 +(% height="222" width="526" %) 89 89 |=LPC-Expresso (JP4)|=Selfbus ISP LPC111x 90 90 | 1|1 91 91 | 2|2 ... ... @@ -102,13 +102,13 @@ 102 102 Dort interessieren derzeit folgende Projekte: 103 103 104 104 * [[sblib-cpp>>url:https://github.com/selfbus/software-arm-incubation/tree/master/sblib-cpp||rel="__blank"]] enthält unsere Selfbus ARM Library, mit der die Geräte aufgebaut werden. Die Library ist zu 90% komplett. Details siehe unten. 105 - 63 +\\ 106 106 * [[sblib-examples>>url:https://github.com/selfbus/software-arm-incubation/tree/master/sblib-examples||rel="__blank"]] enthält Beispiele zur Verwendung der Selfbus ARM Library. 107 - 108 -* [[out8-bcu1>>url:https://github.com/selfbus/software-arm-incubation/tree/master/out8-bcu1||rel="__blank"]] ist eine Portierung der out8 Software für den [[8fach Binärausgang>>doc: Selfbus.Binärausgang_8x230_4TE]].109 - 110 -* [[in8-bcu1>>url:https://github.com/selfbus/software-arm-incubation/tree/master/in8-bcu1||rel="__blank"]] ist der Anfang einer Portierung der in8 Softwäre für den [[8fach Binäreingang>>doc: Selfbus.Binäreingang_8x230_4TE]].111 - 65 +\\ 66 +* [[out8-bcu1>>url:https://github.com/selfbus/software-arm-incubation/tree/master/out8-bcu1||rel="__blank"]] ist eine Portierung der out8 Software für den [[8fach Binärausgang>>doc:Binärausgang_8x230_4TE]]. 67 +\\ 68 +* [[in8-bcu1>>url:https://github.com/selfbus/software-arm-incubation/tree/master/in8-bcu1||rel="__blank"]] ist der Anfang einer Portierung der in8 Softwäre für den [[8fach Binäreingang>>doc:Binäreingang_8x230_4TE]]. 69 +\\ 112 112 * [[in4-bcu2>>url:https://github.com/selfbus/software-arm-incubation/tree/master/in4-bcu2||rel="__blank"]] ist der Anfang eines in4 im BCU2 Modus der Library. Es soll ein ABB TS/U4.2 emuliert werden. 113 113 114 114 === Die Selfbus ARM Library === ... ... @@ -124,3 +124,9 @@ 124 124 Die Library kann dazu auf zwei Arten übersetzt werden. Entweder im BCU1 Modus oder im BCU2 Modus. Im BCU1 Modus ist sie etwas kleiner. Da sich BCU1 und BCU2 unterschiedlich verhalten sollte der BCU2 Modus nur für BCU2 Geräte verwendet werden und entsprechend BCU1 Modus für BCU1 Geräte. 125 125 126 126 Es muss bei der Verwendung im Projekt der Applikation das richtige BCU_TYPE Define gesetzt werden, und die passende Library eingebunden werden. Sonst lässt sich der Code am Ende nicht linken. WIe es in beiden Fällen (BCU1 und BCU2) funktioniert kann man sich bei den Beispielen out8-bcu1 und in4-bcu2 ansehen. 85 + 86 +=== Work in Progress === 87 + 88 +Derzeit sind wir dabei die Selfbus ARM Library fertig zu schreiben und zu testen. Wer mitmachen möchte spricht bitte Stefan Taferner oder Martin Glück an. 89 + 90 +Es gibt passende Controller Platinen in 4TE Gehäusebreite. Die Entwicklung der Schaltung steckt noch in den Kinderschuhen. Auch hier ist jeder willkommen der mitmachen möchte. Ansprechpartner sind Andreas "oldcoolman" Krieger und Stefan Taferner.