Wählen Sie aus verschiedenen Englisch Lehrkräften für ...
Posts
UART UART ist ein IC, der send und empfangt Daten durch eine serielle Schnittstelle. UART steht für "Universal Asynchronous Receiver and Transmitter". "Universal" bedeutet, dass die UART-Schnittstelle generisch ist und mit vielen Kommunikation-Standarden funktionieren kann. Zum Beispiel: RS-232, RS-485, RS-422A. "Asynchronous" bedeutet, dass der IC keine Möglichkeit einer synchronen Datenübertragung hat. "Receiver und Transmitter" ist klar. Die UART-Schnittstelle ist leider nicht zu popular in neuen PC-Hauptplatinen, weil USB eine Substitution zurzeit ist. Aber Mikrocontroller haben sehr oft ein UART-Controller. Ich benutze ihn häufig als Output für meine CPU, um zu Informationen in einem PC-Bildschirm zu zeigen.
3. Juli 2011
4
0
Ethernet-Controller Viele Mikrocontroller bieten ein Ethernet-Controller. Das hilft das TCP/IP-Stack implementieren. Ein Programmierer kann ein fertig TCP/IP-Stack herunterladen und verwenden. Zum Beispiel µIP - http://www.sics.se/~adam/uip/uip-1.0-refman/. Der µIP-Stack enthalt: DNS-Resolver, SMTP E-mail Server, Web-Client und Web Server. Der Web-Server ist sehr interessant- wir können eine Website in unserem Mikrocontroller haben. Um das zu machen, muss ein Programmierer Low-Level-Funktionen schreiben (wie immer ;] ). Sie sind nicht liefern, weil µIP ein allgemeiner Stack ist- er kann mit OS, wie z.B Linux funktionieren, aber auch mit ein μC. So, die Drivers muss man allein erschaffen. Die Firmware besteht aus dem EMAC-Teil und dem PHY-Teil. PHY ist ein äußerilcher IC, der liefert elektrische Signale für EMAC. Der EMAC-Controller ist eine Schnittstelle für den Ethernet-Standard. Wenn der Gerätetreiber fertig ist, können wir die µIP-Website surfen.
28. Mai 2011
15
1
MCI Kontroller Ein MCI Kontroller ist eine Schnittstelle zwischen dem Kern und eine Card. MCI ist eine Abkürzung für "The Secure Digital und Multimedia Card Interface" (ich weiss nicht warum es keine SDMCI ist). Das bedeutet, dass der MCI Kontroller mit sowohl einer Multimedia Card als auch SD Memory Card funktionieren kann. Eine Sichere digitale Speicherkarte kann in einer 1-bit oder 4-bits Art (mode) arbeiten. Die 4-bits Methode erfordet ein Speicherdirektzugriff, weil der Kern zu langsam sein kann. Sogar wenn ein Programmierer die 4-bits Methode mit dem DMA benutzt, hat er nur 140 kB/s. Das ist eine identische, langsame Schnelligkeit wie für die 1-bit Methode ohne den Speicherdirektzugriff. Die Lösung ist eine Multiblock Kanalkapazität, die die SD Karte bietet. Wenn wir viele selbständige Blocken in eine Kontrollstruktur schicken, bekommen wir immer eine 140 kB/s Kanalkapazität. Mit der Multiblocken können wir eine 2.5 MB/s Kanalkapazität erreichen.
15. Mai 2011
10
0
Balkan Gebirge Wenn ich nicht programmiere, gehe ich in den Bergen. Während des langen Wochenende waren wir in Montenegro. Dort gingen wir zu dem Maglić, der ist der höchste Berg von Bosnien und Herzegowina. Maglić liegt in Dinarischen Gebirge und ist mit 2386 m. Leider konnten wir nicht die Spitze erreichen. Das Problem war die Zeit. Wir mussten zurück kommen, weil wir vor die Dämmerung unsere Zelte erzielen wollten. Später fuhren wir nach Kroatien, um Vrh Dinare zu bestürmen. Der Berg war einfach. Algemein, war die Reise toll, wir haben nur 1 Tag regnerisch. Schade, dass wir nicht an dem Maglić Berg gewinnen konnten. https://lh3.googleusercontent.com/_Vnn6nFLAkE0/TcT-6uJ8ggI/AAAAAAAAGdI/dMFi1uz5o_o/s288/SDC15963.JPG https://lh4.googleusercontent.com/_Vnn6nFLAkE0/TcORjTUbFDI/AAAAAAAAGak/3_wAA8bskY0/s288/IMG_2272.JPG
7. Mai 2011
3
0
C++ und Eingebettete Systeme Mikrocontroller haben immer mehr Speicher. Mehr RAM und Flash bedeutet neue möglichkeiten, z.B. die Verwendung der Programmierung Sprache C++. Die C++ ist ein höherere Sprache als C. Sie bietet Klasse, Templates, Vererbung oder Polymorphie. Besonders die Klasse haben Mechanismus, die Programmierfehlern zu vermeiden helfen. Wie funktioniert das in die Eingebette Systeme? Ganz gut, aber es gibt eine kleine Schwierigkeit. Die Templates erfordern circa 50kB von Speicher. Wenn jemand new() oder delete() benutzen möchte (statt C malloc() oder free()), braucht man noch 40kB. Durchschnittlich ARM7 hat etwa 64kB RAM. Die Hälfte des Arbeitspeichers für eine Funktion. Vielleicht müssen wir noch ein bißchen warten auf die C++ für die Eingebettete Systeme?
27. April 2011
2
0
ARM Compiler- die Fortsetzung Die ARM Compiler haben noch eine interessante Besonderheit; das Unternehmen ARM Limited liefert nur IP-Lösungen. Hier, der ARM Kern bedeuted nur ein Design, kein fertiges Gerät. Mikrocontrollers Hersteller, wie z.B. Atmel, STMicroelectronics, NXP kaufen das Kern-Desing und bilden ihre einige Mikrocontroller. Es gibt viele ARM Mikroprozessor aber nur der Kern ist gemeinsam. Der Speicherplan (memory map) oder Peripheriegeräte von Atmel sind verschieden von dem Speicherplan oder Peripheriegeräte von STM. Das bedeutet, dass GNU Programmierer nicht GCC für alle ARM Machinen schreiben können, denn es gibt zu viel arbeit. Sie können den Compiler nur für den ARM Kern vorbereiten (z.B. Timers in NXP haben andere Adresse als Timers in Atmel, so das ist keine gute Idee die alle Kode zu schreiben- es ist besser die Kode für einen Programmierer zu verlassen). Die Speicher definiert man in dem Linkerscript. Die Speicherdefinition verbindet man mit Startupdatei (statup files), weil das Speichergebiet man initieeren muss. Ein ARM-Softwareentwickler muss wirklich interessante Sachen vorbereiten und kann den Kompilationprozess lernen. Das ist die Besonderheit, die ich beschreiben möchten haben.
23. April 2011
3
0
Unsere compiler Zwei verschiedene Compiler werden verwendet. Der ersten ist ein Compiler eines bekannten Hersteller. Der zweiten ist der GCC Compiler. Wir haben fur GCC entschieden, weil er absolut frei ist und eine gute Unterstützung hat. Er hat die volle Unterstützung für den C89 Standard und nur teilweise für C99. Gibt es zwei GCC Klone für die ARM Architekture- Yagarto und Sourcery G++ (und vielleicht mehr, die als Hobby entwickelt werden). Weil die MCU Programmierung ein bisschen unterschiedlich von die typische OS Programmierung ist, ARM GCC hat ein paar Spracheerweiterungen (language extensions). Dadurch haben wir ganz oft Kompatibilitätprobleme, denn altere Programme (für den alten Compiler) werden nicht durch GCC verstanden.
20. April 2011
2
0
Quba's notebook entry: Apr 16, 2011 Hallo, ich heiße Kuba, bin 30 Jahre alt und lebe in Polen. Ich bin ein Elektroniker von Beruf. Meine Firma produziert Schutzgeräte für elektrische Energiesysteme. Die Schutz fordert sicherkeitskritischer Software. Ich bin verantwortlich für niedrigstufe Funktionen, die ich für ARM Mikrocontrolleren schreibe. Die C Programmiersprache wird benutzt, weil sie sehr bequem und geeigned für Elektronischegeräte ist. Andere Sache ist, dass ein Betriebssystem oder Echtzeitbetriebssystem (RTOS) man nicht benutzen kann. Die Ursache: sie können Verspätungen machen, die sehr gefärlich sind. Hier jede millisekunde ist viel. So, ohne OS kann ich viel Zeit sparen, andererseits habe ich keine Protektion, die OS liefert. Und das macht manchmal starke Emotionen.
16. April 2011
6
0
Ich kann nicht here fragen, weil dieser Folmular nur 111 chars kann haben. Die Frage ist in dem Kommentar:) Ich habe ein Passiv mit den Modalverben für Perfekt: "Der Professor HAT von mir begragt werden müssen". 1) Warum müssen wir "HAT" benutzen, als Partizip II für das Passiv "IST geworden" ist? 2) Ist das möglich das Passiv mit den Modalverben mit "SEIN" bilden (in Perfekt naturlich)? Ganz logisch für mich ist das Passiv ohne die Modalverben: "Er IST von mir gefragt worden". Aber die Modaverben ruinieren alles.
18. Januar 2011
4
0
How we can express in German continous forms? Something like "we spent holidays, SKIING/WORKING like a hell"
9. Januar 2011
12
0
Mehr anzeigen