Changes for page ARM_sblib_Verwendung_LPC11xx
Last modified by Olli S. on 2017/04/28 21:52
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -26,7 +26,7 @@ 26 26 27 27 ))) 28 28 29 -Die Datei „M-0083_A-007-12-AADB.xml“ lässt sich gut mit z.B. dem Notepad++ öffnen. 29 +Die Datei „M-0083_A-0047-12-AADB.xml“ lässt sich gut mit z.B. dem Notepad++ öffnen. 30 30 31 31 Nun sollte man sich klar machen, welche Daten überhaupt für ein KNX Gerät zur Identifizierung benötigt werden: 32 32 Hersteller Code (manufacturer) ... ... @@ -35,7 +35,7 @@ 35 35 Hardware Version 36 36 Typ des Busankopplers 37 37 38 -Für den Start kann man sich am besten ein bestehendes Programm aus dem Repository von selfbus laden und dieses verändern. Um eine lauffähige Umgebung zu bekommen sollte dieses Tutorial durch gearbeitet werden: [[Eclipse_ARM (Link konnte nicht erstellt werden...)>>doc:Selfbus.WebHome]]38 +Für den Start kann man sich am besten ein bestehendes Programm aus dem Repository von selfbus laden und dieses verändern. Um eine lauffähige Umgebung zu bekommen sollte dieses Tutorial durch gearbeitet werden: [[Eclipse_ARM>>doc:Eclipse_ARM]] 39 39 Anschließend kopiert man sich ein Projekt in LPCXpresso und kann loslegen: 40 40 In der Datei „app_main.cpp“ findet sich die Routine „void setup()“ in der sich wiederrum der Aufruf der Routine „bcu.begin“ befindet. 41 41 ... ... @@ -55,7 +55,7 @@ 55 55 Diese hat die Übergabeparameter 56 56 void BcuBase::begin(int manufacturer, int deviceType, int version) 57 57 58 -Der Hersteller Code (manufacturer), der Gerätetyp (deviceType) und die Version ist aus dem Dateinamen der bereits erwähnten Datei „M-0083_A-007-12-AADB.xml“ zu entnehmen. 58 +Der Hersteller Code (manufacturer), der Gerätetyp (deviceType) und die Version ist aus dem Dateinamen der bereits erwähnten Datei „M-0083_A-0047-12-AADB.xml“ zu entnehmen. 59 59 In diesem Fall ist 60 60 0x0083 der Hersteller Code (manufacturer), 61 61 0x0047 der Gerätetyp (deviceType) und ... ... @@ -63,12 +63,12 @@ 63 63 64 64 Analog dazu sind die entsprechenden Stellen für andere Geräte auszuwerten. 65 65 66 -Die Hardware Version, die wie in Abbildung 3 abgebildet ist, in einem Array abgelegt und anschließend in das userEeprom kopiert wird, lässt sich aus der Datei „M-0083_A-007-12-AADB.xml“ entnehmen. Sie ist unter dem Parameter „LdCtrlCompareProp“ zu finden. In der Datei ist in diesem Fall der Eintrag 66 +Die Hardware Version, die wie in Abbildung 3 abgebildet ist, in einem Array abgelegt und anschließend in das userEeprom kopiert wird, lässt sich aus der Datei „M-0083_A-0047-12-AADB.xml“ entnehmen. Sie ist unter dem Parameter „LdCtrlCompareProp“ zu finden. In der Datei ist in diesem Fall der Eintrag 67 67 <LdCtrlCompareProp ObjIdx="0" PropId="78" InlineData="00000000004800000000" /> 68 68 zu erkennen. Dieser wird folgerndermaßen ausgewertet: 69 69 Die Angabe ist Hexadezimal und 6 Byte lang. Angefangen wird hier bei der linken Stelle (MSB) und dann entsprechend 6 Bytes hinunter. Diese Daten werden dann in das Array übertragen. 70 70 71 -Für die Wahl des korrekten Busankopplers, für die die sblib kompiliert werden muss und an den auch die Parameter des Projektes in LPCXpresso angepasst werden müssen, ist der Parameter „MaskVersion“ wichtig. In der Datei „M-0083_A-007-12-AADB.xml“ ist der Eintrag MaskVersion="MV-0701" zu finden. 71 +Für die Wahl des korrekten Busankopplers, für die die sblib kompiliert werden muss und an den auch die Parameter des Projektes in LPCXpresso angepasst werden müssen, ist der Parameter „MaskVersion“ wichtig. In der Datei „M-0083_A-0047-12-AADB.xml“ ist der Eintrag MaskVersion="MV-0701" zu finden. 72 72 Ist dort *70*, so wie hier zu finden, handelt es sich um ein BIM112 Busankoppler. 73 73 *01* steht für eine BCU1, *02* für eine BCU2. 74 74 Die Parameter in LPCXpresso für das neu erzeugte Projekt müssen an folgenden Stellen angepasst werden: ... ... @@ -80,7 +80,7 @@ 80 80 81 81 ((( 82 82 ((( 83 -(% style="font- size:11.0pt;line-height:115%;font-family:~"Calibri~",~"sans-serif~";mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;nsi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA" %)Abbildung 4: Projekteinstellungen C++ Compiler für den Busankoppler83 +(% style="font-family:~"Calibri~",~"sans-serif~"; font-size:11.0pt; line-height:115%; mso-ansi-language:DE; mso-ascii-theme-font:minor-latin; mso-bidi-font-family:~"Times New Roman~"; mso-bidi-language:AR-SA; mso-bidi-theme-font:minor-bidi; mso-fareast-font-family:Calibri; mso-fareast-language:EN-US; mso-fareast-theme-font:minor-latin; mso-hansi-theme-font:minor-latin" %)Abbildung 4: Projekteinstellungen C++ Compiler für den Busankoppler 84 84 ))) 85 85 86 86 ((( ... ... @@ -110,13 +110,13 @@ 110 110 111 111 Nun sollte auch das Programm im Gerät auf die entsprechenden Daten zugreifen können, die mittels ETS in das Gerät geschrieben wurden. Diese Daten werden im sogenannten userEeprom abgelegt und können dort ausgelesen werden. Nun muss man für das Auslesen eine bestimmte Adresse angeben, an der sich die gewünschten Daten verbergen. Wie kommt man also an die Informationen, an welcher Adresse sich welche Daten befinden? 112 112 113 -Dafür nimmt man sich wieder die Datei „M-0083_A-007-12-AADB.xml“ vor und hält nach einer Sektion Ausschau, die die Anfangsparameter <Parameter… und in der nächsten Zeile <Memory… hat. In diesem Fall ist das ab Zeile 1309: 113 +Dafür nimmt man sich wieder die Datei „M-0083_A-0047-12-AADB.xml“ vor und hält nach einer Sektion Ausschau, die die Anfangsparameter <Parameter… und in der nächsten Zeile <Memory… hat. In diesem Fall ist das ab Zeile 1309: 114 114 115 115 ((( 116 116 [[image:knxprod_xml_memory.png||height="322" width="1639"]] 117 117 ))) 118 118 119 -(% style="font- size:11.0pt;line-height:115%;font-family:~"Calibri~",~"sans-serif~";mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;nsi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA" %)Abbildung 6:Ausschnitt der Applikationsprogramm-Parameter119 +(% style="font-family:~"Calibri~",~"sans-serif~"; font-size:11.0pt; line-height:115%; mso-ansi-language:DE; mso-ascii-theme-font:minor-latin; mso-bidi-font-family:~"Times New Roman~"; mso-bidi-language:AR-SA; mso-bidi-theme-font:minor-bidi; mso-fareast-font-family:Calibri; mso-fareast-language:EN-US; mso-fareast-theme-font:minor-latin; mso-hansi-theme-font:minor-latin" %)Abbildung 6:Ausschnitt der Applikationsprogramm-Parameter 120 120 121 121 122 122 ((( ... ... @@ -137,7 +137,7 @@ 137 137 Nun gilt es die Adresse dieses Parameters in dem userEeprom zu finden. Dazu wird der Parameter aus Zeile 1325 „CodeSegment=“M-0083_A-0047-12-AADB_AS-4400“ herangezogen. Die 0x4400 in diesem Parameter sind die Grundadresse aller Parameter. Dazu kommt jeweils der Offset, in diesem Fall Offset=“361“. Dieser Parameter ist allerdings in dezimaler Schreibweise angegeben! Somit sind 361 dez = 0x169, welche sich für die Gesamtadresse zu den 0x4400 hinzuaddieren. 138 138 139 139 Für das Auslesen benötigt man allerdings noch die Information, wie viele Bytes man ab dieser Startadresse lesen möchte. 140 -Dazu sucht man in der Datei „M-0083_A-007-12-AADB.xml“ die Sektion 140 +Dazu sucht man in der Datei „M-0083_A-0047-12-AADB.xml“ die Sektion 141 141 <ParameterType Id="M-0083_A-0047-12-AADB_PT-TempCycle" Name="TempCycle"> 142 142 Die Id wird aus der Zeile 1324 unter „ParameterType“ herausgenommen und entsprechend danach gesucht. 143 143 ... ... @@ -145,7 +145,7 @@ 145 145 [[image:knxprod_xml_size.png||height="303" width="1041"]] 146 146 ))) 147 147 148 -(% style="font- size:11.0pt;line-height:115%;font-family:~"Calibri~",~"sans-serif~";mso-ascii-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;nsi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA" %)Abbildung 8: Datentypgröße eines Applikationsprogramm-Parameters148 +(% style="font-family:~"Calibri~",~"sans-serif~"; font-size:11.0pt; line-height:115%; mso-ansi-language:DE; mso-ascii-theme-font:minor-latin; mso-bidi-font-family:~"Times New Roman~"; mso-bidi-language:AR-SA; mso-bidi-theme-font:minor-bidi; mso-fareast-font-family:Calibri; mso-fareast-language:EN-US; mso-fareast-theme-font:minor-latin; mso-hansi-theme-font:minor-latin" %)Abbildung 8: Datentypgröße eines Applikationsprogramm-Parameters 149 149 150 150 151 151 In dieser Sektion ist der Parameter „SizeInBit=8“ (Zeile 222) zu finden.