User Tools

Site Tools


manual:libopenblt

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
manual:libopenblt [2018/02/12 21:24]
voorburg [Run-time libraries]
manual:libopenblt [2018/07/10 17:27]
voorburg [Python]
Line 9: Line 9:
 LibOpenBLT was written in the C programming language (C99) and developed with cross-platform support in mind. It has been successfully tested on a Windows PC, Linux PC and even on embedded Linux systems such as a Raspberry Pi and a Beagle Board. It supports the XCP communication protocol using RS232, CAN, USB and TCP/IP communication as the transport layer. From a firmware file format perspective,​ it can handle firmware files in the Motorola S-record format (S19, S28 and S37). The library has a modular design, allowing effortless integration of additional communication protocols, transport layers, and firmware file formats. LibOpenBLT was written in the C programming language (C99) and developed with cross-platform support in mind. It has been successfully tested on a Windows PC, Linux PC and even on embedded Linux systems such as a Raspberry Pi and a Beagle Board. It supports the XCP communication protocol using RS232, CAN, USB and TCP/IP communication as the transport layer. From a firmware file format perspective,​ it can handle firmware files in the Motorola S-record format (S19, S28 and S37). The library has a modular design, allowing effortless integration of additional communication protocols, transport layers, and firmware file formats.
  
-The library is available with full source code and comes with a pre-configured build environment based on [[http://​www.cmake.org|CMake]],​ which allows easy building of LibOpenBLT into both a shared library and a static library. Because it is available in C source code format, as a shared library and as a static library, you are free to choose the programming language of your liking, when developing your custom firmware update tool. For example: C, C++, C#, Java, Python, Object Pascal, etc.+The library is available with full source code and comes with a pre-configured build environment based on [[http://​www.cmake.org|CMake]],​ which allows easy building of LibOpenBLT into a shared library ​(and optionally into a static library). Because it is available in C source code format, as a shared library and as a static library, you are free to choose the programming language of your liking, when developing your custom firmware update tool. For example: C, C++, C#, Java, Python, Object Pascal, etc.
  
 For details on the library’s API and its implementation,​ refer to the reference manual that is located at: **.\Doc\RM_LibOpenBLT.pdf**. For an example on how to actually use LibOpenBLT, have a look at the sources of the BootCommander program. For details on the library’s API and its implementation,​ refer to the reference manual that is located at: **.\Doc\RM_LibOpenBLT.pdf**. For an example on how to actually use LibOpenBLT, have a look at the sources of the BootCommander program.
Line 78: Line 78:
  
 After a successful build, the shared library **libopenblt.dll** is located in the **.\Host** directory. After a successful build, the shared library **libopenblt.dll** is located in the **.\Host** directory.
 +
 +===== Programming language bindings =====
 +
 +Bindings for the OpenBLT Host Library are basically glue code, that enable you to call the LibOpenBLT API from a different programming language.
 +
 +==== Python ====
 +
 +The Python bindings are formatted as a standard Python package that you can directly install in your (virtual) Python environment. Refer to the README file in the SVN trunk for getting started instructions:​
 +
 +https://​sourceforge.net/​p/​openblt/​code/​HEAD/​tree/​trunk/​Host/​Source/​LibOpenBLT/​bindings/​python/​
 +
 +A video tutorial about getting started with the Python bindings is available in [[https://​www.feaser.com/​en/​blog/?​p=208|this blog article]]. ​
 +
 +==== Pascal ====
 +
 +The Pascal bindings come as a Pascal unit that you can add to your Delphi or Lazarus project. Refer to the README file in the SVN trunk for getting started instructions:​
 +
 +https://​sourceforge.net/​p/​openblt/​code/​HEAD/​tree/​trunk/​Host/​Source/​LibOpenBLT/​bindings/​pascal/​
 +
 +
  
manual/libopenblt.txt · Last modified: 2022/03/02 13:11 by voorburg