1. Introduction
The DSO138 oscilloscope utilizes a micro-controller (STM32F103C8T6) that includes a built-in bootloader. This bootloader is a small firmware component enabling communication with a PC via a serial port to write new firmware into the chip's flash ROM. This article provides a step-by-step guide on setting up the connection and performing the firmware upgrade.
2. Tools You Need
To complete the firmware upgrade, the following tools and files are required:
2.1. Serial Converter that Connects DSO138 to PC
The DSO138's serial port (J5) operates at a 3.3V LVTTL level. PCs typically use USB ports, which are electronically different and cannot be connected directly. A converter, commonly known as a TTL-USB or UART-USB converter, is necessary. Many such converters are available on the market. The JYE119 (sku# 11901) is one such product offered by JYE Tech. For more details, please visit www.jyetech.com.
Fig. 1: A diagram showing a JYE119 (sku# 11901) TTL-USB serial converter and the DSO138 oscilloscope board.2.2. PC Software that Can Work with the Bootloader
A PC-based software application is required to interact with the micro-controller's bootloader. This software is called the Flash Bootloader Demonstrator, provided by STMicroelectronics. It is free software and can be downloaded from ST's website at http://www.st.com/web/en/catalog/tools/PF257525#. Alternatively, it can be downloaded from the JYE Tech website via the following link: http://www.jyetech.com/Support/STM32_FlashLoaderDemonstrator_v2.7.zip. After downloading, install the software on your PC.
2.3. Firmware File (HEX File)
The firmware file, in HEX format, is required for writing to the DSO138. This file can be downloaded from http://www.jyetech.com/Products/LcdScope/Firmwares_138.php. Save this file to a known location on your PC for easy access.
3. Connection
Figures 2 and 3 illustrate the connection between the DSO138 and the PC.
Fig. 2: Diagram showing the physical connection between the DSO138's serial port (J5) and a PC's USB port using a TTL-USB converter. It details the TXD, RXD, and GND pin connections.Fig. 3: Diagram showing the physical connection between the DSO138's serial port (J5) and a PC's USB port using a TTL-USB converter. It details the TXD, RXD, and GND pin connections.The serial port of the DSO138 (J5) consists of three pins: TXD (transmit data, output from DSO138), RXD (receive data, input to DSO138), and GND (common reference). Ensure these pins are correctly connected if you are using a different UART-USB converter.
4. Upgrading Steps
Prepare the DSO138: Close the jumpers JP1 and JP2 on the bottom side of the DSO138 board by soldering them. This action ensures that the MCU enters bootloader mode instead of the main firmware upon the next power-up.
Fig. 4: A diagram of the DSO138 board highlighting the locations of jumpers JP1 and JP2, which must be soldered closed for firmware upgrading.Connect to PC: Connect the DSO138 to a USB port on your PC as described in Section 3. Then, power up the oscilloscope.
Launch Software: Launch the Flash Bootloader Demonstrator software. Proceed to the state shown in Figure 5. Here, you need to configure parameters for the serial connection. Set the parameters as illustrated in Figure 5. For 'Port Name', select the COM port corresponding to the DSO138. Note that many UART-USB converters require drivers to be installed on the PC before they can function correctly. For the JYE119 converter, you need to install the driver for the CP2102 chip. Download and install the driver from: http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx. After setting all parameters correctly, click 'Next' to continue.
Fig. 5: A screenshot of the ST Flash Bootloader Demonstrator software's initial connection setup screen, showing fields for Port Name, Baud Rate, Data Bits, Parity, Echo, and Timeout with example settings.Verify Connection: If there are no errors, you should see the screen shown in Figure 6. This temporary state confirms that the PC has successfully detected the bootloader and that the flash memory is readable. If you encounter issues reaching this state, try resetting the MCU by pressing the reset button on the PCB and attempt again. If problems persist, double-check the connections and the status of JP1/JP2. Otherwise, click 'Next' to proceed to the next step, as shown in Figure 7.
Fig. 6: A screenshot of the ST Flash Bootloader Demonstrator software indicating successful detection of the target device and readable flash memory.Configure MCU Settings: Figure 7 displays information about the MCU type and its flash memory. Ensure the selection in the 'Target' dropdown menu matches the information shown in Figure 7 (e.g., STM32F1_Med-density_64K). Then, click 'Next' to proceed.
Fig. 7: A screenshot of the ST Flash Bootloader Demonstrator software showing MCU information and flash memory details, with a dropdown for selecting the target device.Download Firmware: In Figure 8, select the 'Download to device' option. Click the '...' button to open the firmware file (HEX file) that you saved on your PC. Ensure all other settings are the same as shown in Figure 8. Then, click 'Next' to begin the writing process.
Fig. 8: A screenshot of the ST Flash Bootloader Demonstrator software configured for downloading firmware, showing options for erase, download, verify, and upload, with the firmware file path specified.Monitor Progress: You will see a progress bar similar to the one shown in Figure 9. When the writing process is complete, the screen will resemble Figure 10.
Fig. 9: A screenshot of the ST Flash Bootloader Demonstrator software displaying the firmware download progress with a progress bar.Fig. 10: A screenshot of the ST Flash Bootloader Demonstrator software indicating that the download operation has finished successfully.Finalize: Power off the DSO138 and disconnect the connection. Remove the solder from jumpers JP1 and JP2. Then, apply power to the oscilloscope again. Check if the oscilloscope boots up correctly and verify the firmware versions. If all checks pass, the firmware upgrade is complete.
Revision History
Version | Date | Summary |
---|---|---|
v01 | 2016.01.09 | First draft |