Benutzer-Werkzeuge

Webseiten-Werkzeuge


contiki:snmp_zigbit

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
contiki:snmp_zigbit [2012/07/13 14:32] sven_zehlcontiki:snmp_zigbit [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 4: Zeile 4:
 Natürlich müssen zuvor die Anpassungen in [[contiki:snmp_contiki_25_install|SNMP auf Contiki 2.5 Installation]] durchgeführt worden sein.\\ Natürlich müssen zuvor die Anpassungen in [[contiki:snmp_contiki_25_install|SNMP auf Contiki 2.5 Installation]] durchgeführt worden sein.\\
 Weil die Konstanten des AES Algorithmus und die BER kodierten OIDs um Speicherplatz zu sparen vom Daten Speicher in den Programmspeicher verschoben werden sollen, kommen innerhalb des Quellcodes //AVR-GCC// spezifische Funktionen zum Einsatz.  Weil die Konstanten des AES Algorithmus und die BER kodierten OIDs um Speicherplatz zu sparen vom Daten Speicher in den Programmspeicher verschoben werden sollen, kommen innerhalb des Quellcodes //AVR-GCC// spezifische Funktionen zum Einsatz. 
-Diese können natürlich nur verwendet werden, wenn auch ein AVR Microcontroller verwendet wird. Aus diesem Grund ist im Quellcode immer dann, wenn AVR spezifische Programm Speicher Funktionen verwendet werden, die Präprozessor Direktive //#if CONTIKI_TARGET_AVR_RAVEN/zu finden. Da aber bei der Kompilierung für das Zigibt Modul diese Bedingung nicht wahr ist, wird anstatt dem Programmspeicher der Datenspeicher verwendet. Dadurch erhält man eine Auslastung des Datenspeichers von 99,3%. Dies ist selbstverständlich nicht wünschenswert. Deshalb müssen die Präprozessor Direktiven angepasst werden. Dazu genügt es, die oben genannte Direktive durch //#if CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT/zu ersetzen. Dies ist in den Dateien //utils.c//, //aes_cfb.c// und //mib.c// notwendig.\\ +Diese können natürlich nur verwendet werden, wenn auch ein AVR Microcontroller verwendet wird. Aus diesem Grund ist im Quellcode immer dann, wenn AVR spezifische Programm Speicher Funktionen verwendet werden, die Präprozessor Direktive  
-Außerdem werden in der Datei //snmpd.c// weitere Präprozessor Direktiven verwendet. Hier muss //#if DEBUG &&- CONTIKI_TARGET_AVR_RAVEN/durch //#if DEBUG && (CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT)/ersetzt werden. Um Zeile 197 innerhalb des //snmpd process// für das Zigbit Modul kompilierbar zu machen, muss //#ifndef CONTIKI_TARGET_AVR_RAVEN/durch //#if !(CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT)/ersetzt werden, da //ifndef// den Ausdruck nicht auswertet und somit bei mehreren Bedingungen nicht verwendet werden kann muss die //if !// Anweisung verwendet werden.\\+<code c> 
 +#if CONTIKI_TARGET_AVR_RAVEN 
 +</code> 
 +zu finden. Da aber bei der Kompilierung für das Zigibt Modul diese Bedingung nicht wahr ist, wird anstatt dem Programmspeicher der Datenspeicher verwendet. Dadurch erhält man eine Auslastung des Datenspeichers von 99,3%. Dies ist selbstverständlich nicht wünschenswert. Deshalb müssen die Präprozessor Direktiven angepasst werden. Dazu genügt es, die oben genannte Direktive durch  
 +<code c> 
 +#if CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT 
 +</code> 
 +zu ersetzen. Dies ist in den Dateien //utils.c//, //aes_cfb.c// und //mib.c// notwendig.\\ 
 +Außerdem werden in der Datei //snmpd.c// weitere Präprozessor Direktiven verwendet. Hier muss  
 +<code c> 
 +#if DEBUG &&- CONTIKI_TARGET_AVR_RAVEN 
 +</code> 
 +durch  
 +<code c> 
 +#if DEBUG && (CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT) 
 +</code> 
 +ersetzt werden. Um Zeile 197 innerhalb des //snmpd process// für das Zigbit Modul kompilierbar zu machen, muss  
 +<code c> 
 +#ifndef CONTIKI_TARGET_AVR_RAVEN 
 +</code> 
 +durch  
 +<code c> 
 +#if !(CONTIKI_TARGET_AVR_RAVEN || CONTIKI_TARGET_AVR_ZIGBIT) 
 +</code> 
 +ersetzt werden, da //ifndef// den Ausdruck nicht auswertet und somit bei mehreren Bedingungen nicht verwendet werden kann muss die //if !// Anweisung verwendet werden.\\
  
-Durch diese Änderungen kann die Nutzung des Datenspeichers auf 58,7% reduziert werden.\\+Durch diese Änderungen kann die Nutzung des Datenspeichers auf 44% reduziert werden.\\
  
 Um die serielle Schnittstelle zu Nutzen, muss diese unter Contiki noch eingerichtet werden. Dazu muss die Datei //contiki-avr-zigbit-main.c// im Contiki Verzeichnis //\platform\avr-zigbit\// editiert werden. In Zeile 98 kann die serielle Schnittstelle konfiguriert werden. Die hier eingetragenen Parameter müssen danach beim verwendeten Terminalprogramm natürlich übereinstimmen. Empfohlen werden laut der Contiki Developers Mailing List die folgenden Einstellungen. Um die serielle Schnittstelle zu Nutzen, muss diese unter Contiki noch eingerichtet werden. Dazu muss die Datei //contiki-avr-zigbit-main.c// im Contiki Verzeichnis //\platform\avr-zigbit\// editiert werden. In Zeile 98 kann die serielle Schnittstelle konfiguriert werden. Die hier eingetragenen Parameter müssen danach beim verwendeten Terminalprogramm natürlich übereinstimmen. Empfohlen werden laut der Contiki Developers Mailing List die folgenden Einstellungen.
Zeile 16: Zeile 40:
 </code> </code>
  
-Um im Anschluß den neuen Quellcode für das AVR Zigbit Modul zu kompilieren, muss das Makefile angepasst werden, dieser Vorgang ist in [[contiki:snmp_contiki_25_install|SNMP auf Contiki 2.5 Installation]] allgemein beschrieben. Damit das AVR Zigbit Modul genutzt werden kann muss das Kompilierungsziel //TARGET=avr-raven/durch //TARGET=avr-zigbit/ersetzt werden.+Um im Anschluß den neuen Quellcode für das AVR Zigbit Modul zu kompilieren, muss das Makefile angepasst werden, dieser Vorgang ist in [[contiki:mib_contiki25_snmp|Erstellung einer eigenen MIB für den Contiki 2.5 SNMP Agent]] im Abschnitt **Kompilierung mit neuer MIB** allgemein beschrieben. Damit das AVR Zigbit Modul genutzt werden kann muss das Kompilierungsziel  
 +<code c> 
 +TARGET=avr-raven 
 +</code> 
 +durch  
 +<code c> 
 +TARGET=avr-zigbit 
 +</code> 
 +ersetzt werden.
contiki/snmp_zigbit.1342189926.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)