AVR-NET-IO: SD-Kartenleser in Ethersex einbinden
Das Ethersex-Projekt enthält bereits alle notwendigen Funktionen für den lesenden und schreibenden Zugriff auf SD-Karten. Damit der unter www.gtkdb.de/index_18_1041.html beziehungsweise unter www.gtkdb.de/index_18_1045.html vorgestellte SD-Kartenleser von Ethersex genutzt werden kann, müssen Sie die folgenden Änderungen an der Ethersex Konfiguration vornehmen.
Pinning anpassen
Da bei der hier verwendeten Schaltung der Chip Select Pin des SD-Slots beziehungsweise der SD-Karte mit dem Pin PB3 des Mikrocontrollers verbunden wurde, müssen Sie dies in der Datei pinning/hardware/netio.m4 für Ethersex bekannt geben.
georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ gedit pinning/hardware/netio.m4
Suchen Sie hier den folgenden Abschnitt.
ifdef(`conf_SD_READER', `dnl
/* port the sd-reader CS is attached to */
pin(SPI_CS_SD_READER, PB2, OUTPUT)
')dnl
/* port the sd-reader CS is attached to */
pin(SPI_CS_SD_READER, PB2, OUTPUT)
')dnl
Ändern Sie den Chip Select Pin wie folgt ab.
pin(SPI_CS_SD_READER, PB3, OUTPUT)
Ethersex konfigurieren
Dieser Abschnitt setzt voraus, dass Sie Ethersex bereits für das AVR-NET-IO Board mit einem ATmega644P konfiguriert haben (siehe AVR-NET-IO: Ethersex für das AVR-NET-IO Board kompilieren und AVR-NET-IO: Umbau vom ATmega32 zum ATmega644P).
Starten Sie im Ethersex Quellcodeverzeichnis das grafische Konfigurationsskript.
georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ make menuconfig
Öffnen Sie das Menü General Setup und anschließend das Untermenü VFS (Virtual File System) suppor. Wählen Sie jetzt den Eintrag SD/MMC-Card Access aus und drücken die Y-Taste.
General Setup --->
[*] VFS (Virtual File System) support --->
[*] SD/MMC-Card Access --->
[*] VFS (Virtual File System) support --->
[*] SD/MMC-Card Access --->
Beenden Sie das Konfigurationsskript über Exit und speichern die Einstellungen ab.
Ethersex kompilieren
Durch den Befehl make übersetzen Sie den Quellcode.
georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ make
Ethersex in den Flash-Speicher schreiben
Verbinden Sie den In-System Programmer (hier ein USBtinyISP) mit einem 10 poligen 1:1 Kabel mit dem ISP Connector auf dem AVR-NET-IO Board. Danach verbinden Sie den USBtinyISP mit einem USB-Port Ihres Rechners. Schließen Sie erst jetzt die Spannungsversorgung an das AVR-NET-IO Board an.
Mit dem folgenden Befehl übertragen Sie anschließend das Flash-Image in den Flash-Speicher des ATmega644P Mikrocontrollers.
georg@ubuntu1004:~/ethersex-ethersex-f29e0d7$ sudo avrdude -c usbtiny -p m644p -U flash:w:ethersex.hex
SD-Karte formatieren
Damit Ethersex die SD-Karte lesen und beschreiben kann, müssen Sie die SD-Karte mit FAT16 formatieren.
georg@ubuntu1004:~$ sudo mkfs.msdos /dev/mmcblk0p1
Für den Funktionstest sollten Sie noch eine einfache Textdatei auf der SD-Karte anlegen.
Funktionstest
Nachdem das Flash-Image erfolgreich in den Flash-Speicher des Mikrocontrollers geschrieben wurde, trennen Sie die Spannungsversorgung und den USBtiny In-System Programmer vom AVR-NET-IO Board. Anschließend verbinden Sie den SD-Kartenleser mit dem AVR-NET-IO Board, stecken die SD-Karte in den SD-Slot, verbinden das Board mit Ihrem Netzwerk und schließen die Stromversorgung wieder an.
Für einen ersten Funktionstest öffnen Sie Ihren Web-Browser, geben die IP-Adresse des AVR-NET-IO Boards und den Dateinamen Ihrer Textdatei ein (hier http://192.168.10.50/test.txt). Sie sollten jetzt den Inhalt der Textdatei angezeigt bekommen.
Alternativ können Sie eine Telnet-Verbindung zum AVR-NET-IO Board aufbauen und sich mit dem Befehl sd dir den Inhalt der SD-Karte anzeigen lassen.
georg@ubuntu1004:~$ telnet 192.168.10.50 2701
Trying 192.168.10.50...
Connected to 192.168.10.50.
Escape character is '^]'.
sd dir
test.txt 25
OK
Trying 192.168.10.50...
Connected to 192.168.10.50.
Escape character is '^]'.
sd dir
test.txt 25
OK
Dieser Eintrag wurde am 16.08.2010 erstellt und zuletzt am 24.01.2016 bearbeitet.
Direkter Link zu dieser Seite: http://www.gtkdb.de/index_18_1042.html
[ Zur Startseite ] [ Zur Kategorie ]
© 2004-2021 by Georg Kainzbauer