contiki:snmp_zigbit
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
contiki:snmp_zigbit [2012/07/13 14:05] – angelegt sven_zehl | contiki:snmp_zigbit [2017/01/24 18:49] (aktuell) – Externe Bearbeitung 127.0.0.1 | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Um Contiki SNMP auf dem Zigbit Modul verwenden zu können, sind einige Anpassungen nötig.\\ | Um Contiki SNMP auf dem Zigbit Modul verwenden zu können, sind einige Anpassungen nötig.\\ | ||
- | Natürlich müssen zuvor die Anpassungen in [[contiki:snmp|SNMP auf Contiki 2.5]] 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 | + | 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/ | + | <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 // | ||
+ | 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 // | Um die serielle Schnittstelle zu Nutzen, muss diese unter Contiki noch eingerichtet werden. Dazu muss die Datei // | ||
Zeile 16: | Zeile 40: | ||
</ | </ | ||
- | Um im Anschluß den neuen Quellcode für das AVR Zigbit Modul zu kompilieren, | + | Um im Anschluß den neuen Quellcode für das AVR Zigbit Modul zu kompilieren, |
+ | <code c> | ||
+ | TARGET=avr-raven | ||
+ | </ | ||
+ | durch | ||
+ | <code c> | ||
+ | TARGET=avr-zigbit | ||
+ | </ | ||
+ | ersetzt werden. |
contiki/snmp_zigbit.1342188311.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)