This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Last revision Both sides next revision | ||
manual:bootcommander [2018/02/22 23:32] voorburg [Building on Windows with MinGW] |
manual:bootcommander [2022/02/10 19:09] voorburg [Building on Windows with MinGW] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== BootCommander Utility ====== | ====== BootCommander Utility ====== | ||
- | BootCommander is a command line interface (CLI) program for performing firmware updates on a microcontroller that runs the OpenBLT bootloader. It provides a firmware update tool for those that prefer a command line interface program over one with a graphical user interface, such as [[manual:microboot|Microboot]]. | + | BootCommander is a command line interface (CLI) program for performing firmware updates on a microcontroller that runs the OpenBLT bootloader. It provides a firmware update tool for those that prefer a command line interface program over one with a graphical user interface, such as [[manual:microboot|MicroBoot]]. |
BootCommander 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. | BootCommander 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. | ||
Line 45: | Line 45: | ||
* **kvaser_leaflight** = Kvaser Leaf Light V2. | * **kvaser_leaflight** = Kvaser Leaf Light V2. | ||
* **lawicel_canusb** = Lawicel CANUSB. | * **lawicel_canusb** = Lawicel CANUSB. | ||
+ | * **vector_xldriver** = Vector XL Driver. | ||
+ | * **ixxat_vcidriver** = Ixxat VCI Driver. | ||
* **-c=[value]** sets the zero based index of the CAN channel if multiple CAN channels are supported for the CAN adapter, as a 32-bit value (default = 0). | * **-c=[value]** sets the zero based index of the CAN channel if multiple CAN channels are supported for the CAN adapter, as a 32-bit value (default = 0). | ||
* **-b=[value]** sets the communication speed, a.k.a baudrate in bits per second, as a 32-bit value (default = 500000). Supported values: 1000000, 800000, 500000, 250000, 125000, 100000, 50000, 20000, 10000. | * **-b=[value]** sets the communication speed, a.k.a baudrate in bits per second, as a 32-bit value (default = 500000). Supported values: 1000000, 800000, 500000, 250000, 125000, 100000, 50000, 20000, 10000. | ||
Line 71: | Line 73: | ||
<code>sudo apt-get install cmake</code> | <code>sudo apt-get install cmake</code> | ||
- | Note that BootCommander relies on the OpenBLT Host Library (LibOpenBLT) and links this one as a static library. Make sure you already [[manual:libopenblt#building_libopenblt_from_sources|built LibOpenBLT]], before you attempt to build BootCommander. | + | Note that BootCommander relies on the OpenBLT Host Library (LibOpenBLT) and some of the files that were generated when building LibOpenBLT. Therefore, make sure you already [[manual:libopenblt#building_libopenblt_from_sources|built LibOpenBLT]], before you attempt to build BootCommander. |
==== Building on Linux with GCC ==== | ==== Building on Linux with GCC ==== | ||
Line 90: | Line 92: | ||
==== Building on Windows with Microsoft Visual C++ ==== | ==== Building on Windows with Microsoft Visual C++ ==== | ||
- | This method assumes that Microsoft Visual C++ is installed. During the BootCommander development, Microsoft Visual Studio 2013 Express was used. The method outlined here should work just fine with both older and newer versions of Microsoft Visual Studio. | + | This method assumes that Microsoft Visual C++ is installed. During the BootCommander development, Microsoft Visual Studio 2019 was used. The method outlined here should work just fine with both older and newer versions of Microsoft Visual Studio. |
Using the Command Prompt in Windows, set the working directory to **.\Host\Source\BootCommander\build** and type the command: | Using the Command Prompt in Windows, set the working directory to **.\Host\Source\BootCommander\build** and type the command: | ||
Line 102: | Line 104: | ||
After a successful build, the **BootCommander.exe** executable is located in the **./Host** directory. | After a successful build, the **BootCommander.exe** executable is located in the **./Host** directory. | ||
+ | |||
+ | Note that this builds a 64-bit version of **BootCommander.exe**, which then also requires a 64-bit version of the LibOpenBLT shared library (**libopenblt.dll**). Starting with OpenBLT version 1.14, LibOpenBLT is built and distributed as a 64-bit library, so that works well together. | ||
+ | |||
+ | If you use the 32-bit LibOpenBLT shared library from before OpenBLT version 1.14, or if you rebuilt it yourself as 32-bit, then you should build BootCommander as 32-bit as well. To build a 32-bit version of BootCommander, generate the build environment with command "**cmake -A Win32..**". | ||
==== Building on Windows with MinGW ==== | ==== Building on Windows with MinGW ==== | ||
- | This method assumes that the MinGW compiler toolchain is installed on your PC. The installer can be downloaded from https://sourceforge.net/projects/mingw-w64/. | + | This method assumes that the MinGW compiler toolchain is installed on your PC. A convenient way to install it, is by downloading the installer that bundles the Code::Blocks IDE together with MinGW. When using OpenBLT version 1.14 or newer, it is recommended to download the [[https://sourceforge.net/projects/codeblocks/files/Binaries/20.03/Windows/codeblocks-20.03mingw-setup.exe/download|64-bit installer version]], because the included **libopenblt.dll** file is 64-bit as well. Otherwise you can download the [[https://sourceforge.net/projects/codeblocks/files/Binaries/20.03/Windows/32bit/codeblocks-20.03-32bit-mingw-32bit-setup.exe/download|32-bit installer version]]. |
Make sure the **.\bin** directory of the MinGW installation directory is added to your path in Windows. A quick way to verify that this is the case, run the following command from the Command Prompt in Windows and make sure the program could be found: | Make sure the **.\bin** directory of the MinGW installation directory is added to your path in Windows. A quick way to verify that this is the case, run the following command from the Command Prompt in Windows and make sure the program could be found: | ||
Line 115: | Line 121: | ||
<code> | <code> | ||
- | cmake -G "MinGW Makefiles" .. | + | cmake -G "CodeBlocks - MinGW Makefiles" .. |
mingw32-make | mingw32-make | ||
</code> | </code> |