Skip to content

how to build flash and use examples on windows

Benjamin Vernoux edited this page Aug 28, 2022 · 28 revisions

How to build flash and use examples on Windows with MSY2/MINGW64 shell

Build the firmware source code for HydraUSB3(CH569W MCU) with MSY2/MINGW64 shell

How to build the firmware source code for HydraUSB3(CH569 MCU) with MSY2/MINGW64 shell

Prerequisites

  • Install MSYS2/MINGW64
    • Follow all the steps including "Now MSYS2 is ready for you. You will probably want to install some tools and the mingw-w64 GCC to start compiling:"
      • pacman -S --needed base-devel mingw-w64-x86_64-toolchain git

Clone the hydrausb3_fw repository with git

  • Start mingw64
cd ~
git clone --recursive https://github.com/hydrausb3/hydrausb3_fw.git

Windows 10 x64 + MounRiver Studio V181 / MounRiver Studio Community Win V120 with MSYS2/MINGW64

  • Start mingw64
  • Add the path to "RISC-V Embedded GCC" bin directory
    • For MounRiver Studio V181(or more)
      • PATH="/c/MounRiver/MounRiver_Studio/toolchain/RISC-V Embedded GCC/bin/":$PATH
    • For MounRiver Studio Community Win V120(or more)
      • PATH="/c/MounRiver/MRS_Community/toolchain/RISC-V Embedded GCC/bin/":$PATH
  • Change current directory to firmware example (here HydraUSB3_Blink_ULED)
    • cd ~/hydrausb3_fw/HydraUSB3_Blink_ULED
  • Clean and build the firmware example
    • make clean all
  • The flashable firmware with wch-isp (*.bin) is available in ~/hydrausb3_fw/HydraUSB3_Blink_ULED/build/HydraUSB3_Blink_ULED.bin

Flash and use hydrausb3_fw example(s)

Prerequisites

  • Start mingw64
  • Install pkg-config and libusb-1.0-0-dev
    • pacman -S mingw-w64-x86_64-pkgconf mingw-w64-x86_64-libusb

Clone & build wch-isp

  • Start mingw64
cd ~
git clone --recursive https://github.com/hydrausb3/wch-isp.git
cd wch-isp
make clean all

Flash and use hydrausb3_fw example

  1. On HydraUSB3 (disconnect any cable/power supply) and add a Jumper on Flash Mode P3
  2. Connect “USB A Male to USB A male cable” to HydraUSB3 then the other side to PC(USB2 or USB3 port)
  3. The PC shall detect the WCH CH569W Bootloader (enumeration with USB2 HS)
    • Download & Execute Zadig 2.7
      • Install driver "WinUSB" with Zadig for the USB ID 4348 55E0
        • Note after 10s of inactivity the bootloader exit and run the program
          • You can just reset the board to re-enter in bootloader by pressing(1s) & releasing 3V3 DISABLE button(at left of USB3 connector)
    • You can check it is well recognized with windows PowerShell with command Get-PnpDevice -PresentOnly | Where-Object { $_.InstanceId -match '^USB\\VID_4348' } | Format-List which shall find HardwareID : {USB\VID_4348&PID_55E0&REV_2700, USB\VID_4348&PID_55E0} Manufacturer : WinChipHead PNPClass : USBDevice Present : True Service : WinUSB
    • Note after 10s of inactivity the bootloader exit and run the program
      • You can just reset the board to re-enter in bootloader by pressing(1s) & releasing 3V3 DISABLE button(at left of USB3 connector)
  4. Launch(quickly to avoid 10s timeout) wch-isp to flash(and verify) the hydrausb3_fw example (here HydraUSB3_Blink_ULED)
    • ./wch-isp -v flash ~/hydrausb3_fw/HydraUSB3_Blink_ULED/obj/HydraUSB3_Blink_ULED.bin
  5. On HydraUSB3 Remove the Jumper on Flash Mode P3
  6. On HydraUSB3 Press(1s) & Release the 3V3 DISABLE button(at left of USB3 connector) to reset the board
  • The HydraUSB3 board shall execute the HydraUSB3_Blink_ULED firmware example by blinking the ULED
    • Note: If you press UBTN the ULED blink very fast