This shows you the differences between two versions of the page.
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/ | ||
+ | |||
+ | |||