====== 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. {{: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: * 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 that prefer a commandline download utility over one with a graphical user interface such as [[manual:microboot|Microboot]]. ===== 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. 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. * **-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. Example: **SerialBoot -d/dev/ttyUSB0 -b57600 firmware.s19** {{:manual:serialboot_example.png?nolink&700|}} ===== 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/. ==== 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 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|}} ==== Building on MS Windows ==== 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. {{:manual:serialboot_windows_build.png?nolink&550|}}