« Back to home

MISRA-C

“Hupsi. Da hab ich wohl den Call auskommentiert. So löst das ESP nicht aus. Hihi.” - “Oh Mist. Na dann lass uns doch statische Codeanalyse machen!”

MISRA-C

MISRA-C ist ein C-Programmierstandard aus der Automobilindustrie, der von der MISRA (Motor Industry Software Reliability Association) erarbeitet wurde. Der erste MISRA-Standard für die Programmiersprache C "MISRA C" wurde ursprünglich 1998 definiert.

Aus der Kategorie “Wikipediaartikel, die einen nach dem Lesen nicht mehr ruhig schlafen lassen”.

Read more »

Morsen mit AVRTelegraph

Ich fahre im Sommer als Betreuer auf ein Kinderzeltlager mit (Plätze sind übrigens noch frei - falls ihr Kinder im passenden Alter kennt schlagt das doch mal vor; es wird sicher großartig). Das Thema ist “Western” und einer der Gegenstände, an die ein Geek dabei denkt sind Telegrafen und der Morsecode. Wir wollen mit den Kindern selbst kleine Sender und Empfänger bauen. Auch in die Rahmenspielhandlung wurden Telegrafen integriert und es werden aus zwei “benachbarten Städten” gleichzeitig Telegramme ankommen, die von den Zeltgruppen entschlüsselt werden sollen. Das Problem ist jedoch, diese zu generieren. Dass zwei Betreuer gleichzeitig und wiederholt Telegramme senden scheint ziemlich aufwändig und ist außerdem fehleranfällig. Dabei ist das doch eine Aufgabe, für die sich Mikrocontroller geradezu aufdrängen. Daher habe ich eine kleine Bibliothek für 8bit Atmel-Controller geschrieben, die morsen kann.

Read more »

RAW- und BCM-Sockets

Kayak benötigt für Zugriff auf einen CAN-Bus auf der socketcand-Seite einen CAN-Socket. Das kann entweder ein RAW-Socket oder ein BCM-Socket sein, die sich grundlegend durch ihr Verhalten unterscheiden.

RAW-Socket

  • kein Abonnement von IDs

  • keine Komfortfunktionen zum zyklischen Senden von Nachrichten

  • die eintreffenden Frames werden einfach weitergeleitet

BCM-Socket

  • ausschließlich Übertragung von IDs, die auch vorher abonniert wurden. Daher ist es bei einem CAN 2.0B mit 2^29 IDs nicht möglich, diese alle in absehbarer Zeit zu abonnieren

    Read more »

Weihnachten! Endlich ein bisschen Zeit...

Nachdem dieses Semester nun endlich zu Ende gegangen ist habe ich in den nächsten Tagen hoffentlich Zeit, mich mit meinem Projekt für die Diplomarbeit zu beschäftigen. Ein Bericht muss noch abgegeben und eine Präsentation gehalten werden aber dann sollte etwas Luft sein. Ich möchte kurz vorstellen, was ich eigentlich gerade entwickle:

Das Projekt heißt Kayak und soll ein CAN-Diagnosetool für die Linux SocketCAN-Implementierung werden. Es dient dem Senden und Empfangen von Frames auf einem CAN-Bus und zur grafischen Darstellung und Auswertung selbiger. Im Gegensatz zu den meisten aktuellen Produkten, die diesen Zweck erfüllen, findet die Kommunikation jedoch über einen TCP/IP-Socket statt. Dies hat den Charme, dass man keine direkte Verbindung zum zu beobachtenden Bus mehr benötigt. Ein Laptop kann also die Busdaten in einem Raum aufnehmen, während mehrere Benutzer live von unterschiedlichen Orten die Daten auf dem Bus verfolgen (und verändern) können.

Read more »