Eine wachsende Zahl von J1939 Geräten benötigt heute Bootloader, um die Firmware im Feld auszutauschen. Die Verwendung eines kompletten J1939-Stacks ist für Bootloader wegen des großen Flash-Speicherbedarfs oft ungeeignet. Der J1939 Bootloader (CAM11/CAM21) von emotas wurde daher mit dem Fokus auf geringen Speicherbedarf, bei gleichzeitiger Berücksichtigung hoher Ausfallsicherheit, entwickelt.
Der Bootloader unterstützt nur die für einen Bootloader notwendigsten Dienste. Der emotas Bootloader kommt dadurch mit nur 16 KiB Flash aus und ist dennoch J1939 kompatibel. Verfügbar ist der Bootloader für verschiedene 16- und 32-Bit-Mikrocontroller und er kann einfach an andere Zielsysteme angepasst werden.
Herstellerspezifischer Programmcode kann problemlos integriert werden, da der Bootloader im C Source Code geliefert wird. Somit ist es für die Gerätehersteller z.B. möglich, Zugriffsschutzmechanismen, Verschlüsselung der Firmware oder eine Backdoor in den Bootloader zu integrieren.
Die Applikation, welche mit dem Bootloader übertragen werden soll, muss geringfügig angepasst werden. Dazu müssen die Linker-Einstellungen so geändert werden, dass der Resetvektor auf den Bootloader verweist und der Platz nicht von der Applikation beansprucht wird. Zudem muss ein persistenter RAM (4 Byte) zum Datenaustausch zwischen Bootloader und Applikation bereitgestellt werden, wobei auch alternative Möglichkeiten zur Kommunikation zwischen der Applikation und dem Bootloader unterstützt werden. Der Binärdatei der Applikation wird zudem ein Datenblock vorangestellt, welche die CRC und weitere Information beinhaltet. Hierfür ist ebenfalls der entsprechende Platz im Flash freizuhalten.
|||||
Durch die weitere Nutzung der Seite stimmen Sie der Verwendung von Cookies zu. Mehr Erfahren
Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.