This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
manual:serialboot [2015/05/22 18:03] 127.0.0.1 external edit |
manual:serialboot [2017/07/04 11:34] voorburg |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Serialboot Utility ====== | ====== Serialboot Utility ====== | ||
+ | |||
+ | ^ The Serialboot utility is deprecated and replaced by [[manual:bootcommander|BootCommander]] starting OpenBLT version 1.4.0. Feel free to still use Serialboot, just keep in mind that it is no longer maintained. ^ | ||
+ | |||
Serialboot is a commandline download utility for the OpenBLT bootloader that supports firmware updates via the PC's serial port. It was written in C and supports both Linux and MS Windows. | Serialboot is a commandline download utility for the OpenBLT bootloader that supports firmware updates via the PC's serial port. It was written in C and supports both Linux and MS Windows. | ||
+ | |||
+ | |||
{{:manual:serialboot_info.png?nolink&550|}} | {{:manual:serialboot_info.png?nolink&550|}} | ||
+ | |||
+ | |||
Serialboot is fully functional and comes with full source code, yet it was developed primarily for demonstration and reference purposes. It is ideal: | Serialboot is fully functional and comes with full source code, yet it was developed primarily for demonstration and reference purposes. It is ideal: | ||
+ | |||
* As a foundation for developers that would like to create their own OpenBLT download utility program in C/C++. | * As a foundation for developers that would like to create their own OpenBLT download utility program in C/C++. | ||
+ | |||
* For users of the OpenBLT bootloader running Linux on their PC. | * For users of the OpenBLT bootloader running Linux on their PC. | ||
+ | |||
* For users that prefer a commandline download utility over one with a graphical user interface such as [[manual:microboot|Microboot]]. | * For users that prefer a commandline download utility over one with a graphical user interface such as [[manual:microboot|Microboot]]. | ||
+ | |||
+ | |||
+ | |||
===== Program usage ===== | ===== Program usage ===== | ||
+ | |||
The preconditions to using Serialboot are: (1) Your microcontroller system runs the OpenBLT bootloader configured for serial communication. This is typically the default configuration of the [[manual:demos|demo bootloaders]] (BOOT_COM_UART_ENABLE is set to 1 in file "blt_conf.h"). (2) Your microcontroller system is connected to your PC's serial port, or through a RS232-USB adapter that is more common nowadays. | The preconditions to using Serialboot are: (1) Your microcontroller system runs the OpenBLT bootloader configured for serial communication. This is typically the default configuration of the [[manual:demos|demo bootloaders]] (BOOT_COM_UART_ENABLE is set to 1 in file "blt_conf.h"). (2) Your microcontroller system is connected to your PC's serial port, or through a RS232-USB adapter that is more common nowadays. | ||
+ | |||
+ | |||
When you call the Serialboot utility from the command prompt, it expects 3 command line options: | When you call the Serialboot utility from the command prompt, it expects 3 command line options: | ||
+ | |||
+ | |||
* **-d[device]** Through this option the serial communication device is selected. On MS Windows platform this is typically something like COM4 and on Linux platforms /dev/ttyS3, depending on the PC's physical serial communication port that the microcontroller system is connected to. | * **-d[device]** Through this option the serial communication device is selected. On MS Windows platform this is typically something like COM4 and on Linux platforms /dev/ttyS3, depending on the PC's physical serial communication port that the microcontroller system is connected to. | ||
+ | |||
+ | |||
* **-b[baudrate]** This option is for specifying the serial communication speed in bits/sec. It should be set to the same value as the configuration of the OpenBLT bootloader (BOOT_COM_UART_BAUDRATE in file "blt_conf.h"). | * **-b[baudrate]** This option is for specifying the serial communication speed in bits/sec. It should be set to the same value as the configuration of the OpenBLT bootloader (BOOT_COM_UART_BAUDRATE in file "blt_conf.h"). | ||
+ | |||
+ | |||
* **[s-record file]** As a last option the name of the firmware file is specified. Serialboot supports firmware files in the Motorola S-record format. | * **[s-record file]** As a last option the name of the firmware file is specified. Serialboot supports firmware files in the Motorola S-record format. | ||
+ | |||
+ | |||
Example: **SerialBoot -d/dev/ttyUSB0 -b57600 firmware.s19** | Example: **SerialBoot -d/dev/ttyUSB0 -b57600 firmware.s19** | ||
+ | |||
+ | |||
{{:manual:serialboot_example.png?nolink&700|}} | {{:manual:serialboot_example.png?nolink&700|}} | ||
+ | |||
+ | |||
===== Building Serialboot from sources ===== | ===== Building Serialboot from sources ===== | ||
+ | |||
A pre-built binary for MS Windows can be found in the **.\Host\** directory of the OpenBLT package. It is quite easy to build to Serialboot program from source code, thanks to the CMake cross-platform and open-source build system. It is assumed that CMake is installed on your system. It can be downloaded for free from http://www.cmake.org/. | A pre-built binary for MS Windows can be found in the **.\Host\** directory of the OpenBLT package. It is quite easy to build to Serialboot program from source code, thanks to the CMake cross-platform and open-source build system. It is assumed that CMake is installed on your system. It can be downloaded for free from http://www.cmake.org/. | ||
+ | |||
+ | |||
==== Building on Linux ==== | ==== Building on Linux ==== | ||
+ | |||
Using the terminal, set the working directory to **./Host/Source/SerialBoot/build**. Next type the command "**cmake ..**". This generates a GCC Makefile. To build | Using the terminal, set the working directory to **./Host/Source/SerialBoot/build**. Next type the command "**cmake ..**". This generates a GCC Makefile. To build | ||
+ | |||
the Serialboot, type "**make**". Afterwards, the binary file called SerialBoot is available in the **./Host/Source/SerialBoot/build** directory. | the Serialboot, type "**make**". Afterwards, the binary file called SerialBoot is available in the **./Host/Source/SerialBoot/build** directory. | ||
+ | |||
+ | |||
{{:manual:serialboot_linux_build.png?nolink&475|}} | {{:manual:serialboot_linux_build.png?nolink&475|}} | ||
+ | |||
+ | |||
+ | |||
==== Building on MS Windows ==== | ==== Building on MS Windows ==== | ||
+ | |||
To build the SerialBoot program on Windows a compiler supported by CMake should be installed. For example Microsoft Visual | To build the SerialBoot program on Windows a compiler supported by CMake should be installed. For example Microsoft Visual | ||
+ | |||
C++. Using the Command Prompt in Windows, set the working directory to **./Host/Source/SerialBoot/build**. Next type "**cmake ..**". A solution file for Microsoft Visual C++ is then automatically generated, called **SerialBoot.sln**. Open the solution in Microsoft Visual C++ and build the program from there, by selecting //Build->Rebuild Solution// from the menu. | C++. Using the Command Prompt in Windows, set the working directory to **./Host/Source/SerialBoot/build**. Next type "**cmake ..**". A solution file for Microsoft Visual C++ is then automatically generated, called **SerialBoot.sln**. Open the solution in Microsoft Visual C++ and build the program from there, by selecting //Build->Rebuild Solution// from the menu. | ||
+ | |||
+ | |||
{{:manual:serialboot_windows_build.png?nolink&550|}} | {{:manual:serialboot_windows_build.png?nolink&550|}} | ||
+ | |||
+ | |||
+ | |||