Advertisement

Quick Links

APPLICATION NOTE:
SX-ULPGN-BTZ
Development
Quick Start Guide
Silex Technology America
201 East Sandpointe, Suite 245
Santa Ana, CA 92707
Revision 1.5, February 2020

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the SX-ULPGN-BTZ and is the answer not in the manual?

Questions and answers

Summary of Contents for Silex technology SX-ULPGN-BTZ

  • Page 1 APPLICATION NOTE: SX-ULPGN-BTZ Development Quick Start Guide Silex Technology America 201 East Sandpointe, Suite 245 Santa Ana, CA 92707 Revision 1.5, February 2020...
  • Page 2 Revision History Rev. No. Date Revision by Description Mar 22, 2019 T.Nakase Initial draft Apr 1, 2019 T.Nakase Section 3 and Appendix B, EVB_V01 update Apr 23, 2019 T.Nakase Section 6, Jumper setting update/correction Aug 23, 2019 T.Nakase Section 4.2 OpenOCD availability note, Section 5 BDF update, Section 6.2 minor wording change Aug 29, 2019 T.Nakase...
  • Page 3: Table Of Contents

    Table of Contents Scope ..............................4 References ............................. 4 QDN Document ..........................4 Software Download Links ......................4 Equipment.............................. 5 Hardware ............................5 Host PC Configuration ........................5 Software Install ............................5 Toolchain............................5 Debugger............................5 Python ............................6 Oracle JDK ............................6 Eclipse IDE Package for C/C++ Developer ..................
  • Page 4 Create Debug Configuration ......................17 Build Demo Project ........................19 Flash Firmware ............................. 20 Run Firmware............................20 Debug Firmware ..........................21 Appendix A: Emergency Loader (EDL) ......................25 Appendix B: What’s different from Qualcomm CDB20/M20? ..............26 Jumper Header............................26 Debug Header ............................
  • Page 5: Scope

    1. Scope The purpose of this document is to provide instructions for setting up firmware development environment of SX-ULPGN-BTZ EVK on Windows 10 with Intel Architecture 64bit CPU. 2. References 2.1 QDN Document 2.1.1 QCA402x (CDB2x) Development Kit User Guide, 80-YA121-140 Rev.D, Section 3 https://developer.qualcomm.com/hardware/qca4020-qca4024/tools-qca4020...
  • Page 6: Equipment

    3. Equipment 3.1 Hardware • The EVK board, SX-ULPGN-BTZ EVK (WCBN3516A_EVB V02) • Host PC • USB 2.0 Cable (Type A male – Type A male) x2 • Jumper Cap x14 • Jumper Cable (female – female) x3 3.2 Host PC Configuration •...
  • Page 7: Python

    C:\Users\silex\qca4020-or-3.0_qca_oem_sdk-cdb.git This document refers this directory as <SDK_source> hereafter. Note: Current SDK OR-3.0 supports EVK V01 board only. EVK V02 and SX-ULPGN-BTZ mass production module needs OR-3.1 or newer because it has Winbond SPI flash onboard. If you need help, please contact Silex.
  • Page 8: Software Configuration

    5. Software Configuration 5.1 WiFi Board Data File 1. Copy updated Board Data File (BDF) wlan_fw_img.wcbm3516a_ctl_20190402.bin to: <SDK_source>\target\bin\wlan 2. Backup original BDF wlan_fw_img.bin as wlan_fw_img.cdb.bin. 3. Overwrite original BDF with updated BDF. 5.2 Bluetooth LE and IEEE 802.15.4 NVM Configuration File 1.
  • Page 9: Gnu Mcu Eclipse Plug-In

    5.3 GNU MCU Eclipse Plug-in 1. From Eclipse IDE top menu, click Help > Install New Software. 2. In Install dialog, set Work with to: http://gnu-mcu-eclipse.netlify.com/v4-neon-updates 3. Click Add. 4. In Add Repository dialog, set Name to: GNU MCU Eclipse plug-ins 5.
  • Page 10 7. Click Next and finish install by following the instruction of dialog. If you see Security Warning dialog during the installation, click Install Anyway. 8. Restart Eclipse. 9. From top menu, click Window > Preference. 10. At left pane of Preference dialog, select MCU > Global OpenOCD Path. 11.
  • Page 11: Create External Tools Configuration For Firmware Flashing

    12. Click Apply and Close. 5.4 Create External Tools Configuration for Firmware Flashing 1. From Eclipse IDE top menu, click Run > External Tools > External Tools Configuration. 2. Right click on Program of External Tools Configurations dialog and click on New. 3.
  • Page 12: Hardware Setup

    ${project_loc}\build\gcc\flash_openocd.bat 5. Set Working Directory to: ${project_loc}\build\gcc 6. Click Apply. 7. Click Close. 6. Hardware Setup 6.1 Jumper 6.1.1 3.3V Power Supply Connect following pins to enable 3.3V Power Supply. • J111 Pin 1-2 • J116 Pin 1-2 • J120 Pin 2-3 •...
  • Page 13 • J92 Pin 1-2 • J108 Pin 2-3 • J109 Pin 2-3 6.1.3 JTAG Connect following pins to enable JTAG. • J37 Pin 2-3 • J38 Pin 2 - J39 Pin 3 ** • J39 Pin 2 - J38 Pin 3 ** •...
  • Page 14: Host Pc Ftdi Driver For Jtag

    With this configuration, EVK board bootup in JTAG mode that you can flash and debug custom firmware. To run custom firmware, see Section 9 below. 6.2 Host PC FTDI Driver for JTAG 1. Download zadig-2.4.exe from the download link (Section 2.2.7 above.) 2.
  • Page 15 2. Select Projects from Folder or Archive import wizard. 3. Click Next. The system will show Import Projects from File System or Archive dialog window. 4. Set import source to: <SDK_source>\target\quartz\demo\QCLI_demo 5. Confirm QCLI_demo is selected and click Finish You will see two errors saying g++ and gcc is not found from the PATH. These will not pose adverse effect to the building process.
  • Page 16: Disable Deep Sleep Mode

    7.2 Disable Deep Sleep Mode QCA4020 power down JTAG controller to save power consumption in Deep Sleep mode. To keep JTAG debug session running, disable Deep Sleep mode as follows. 1. Open target\quartz\demo\QCLI_demo\src\export\DevCfg_master_devcfg_out_cdb.xml with editor. 2. Set 0 (zero) to the field shown below: 7.3 Update Project Property 1.
  • Page 17 3. Set Build command to: build.bat 4.Click on Behavior tab. 5. Set Build (incremental build) to: t 4020 cdb 6. Set Clean to: clobber Batch file clean operation of this SDK release doesn’t work due to Windows OS bug. 140-00217-100...
  • Page 18: Create Debug Configuration

    7. Click Apply and Close. 7.4 Create Debug Configuration 1. From Eclipse IDE top menu, click Run > Debug Configurations. 2. Right click on GDB OpenOCD Debugging of Debug Configurations dialog and click on New. 3. At the right pane, set Name to: QCLI_demo_Debug 4.
  • Page 19 9. Set Executable path in OpenOCD Setup to: C:\Program Files (x86)\openocd\bin\openocd.exe 10. Set Config options in OpenOCD Setup to: -f ${project_loc}\build\gcc\qca402x_openocd.cfg 11. Set Executable name in GDB Client Setup to: C:\Program Files (x86)\GNU Tools ARM Embedded\6.2 2016q4\bin\arm-none- eabi-gdb.exe 12. Select Startup tab. 140-00217-100...
  • Page 20: Build Demo Project

    13. Set text field in Initialization Commands to: cd build/gcc 14. Set text filed in Run/Restart Commands to: source v2/quartzcdb.gdbinit 15. Set Set breakpoint at to: app_init 16. Click Apply. 17. Click Close. 7.5 Build Demo Project 1. Start build process from top menu, Project > Build Project. 2.
  • Page 21: Flash Firmware

    8. Flash Firmware 1. Confirm 3.3V Power Supply and JTAG is enabled (See Section 6 above.) 2. Connect USB1 and USB2 port of EVK board to Host PC with USB cables (if you didn’t connect EVK board.) 3. From Eclipse IDE top menu, click Run > External Tools > 1 OpenOCD JTAG Flashing. 4.
  • Page 22: Debug Firmware

    Debug Firmware 1. Confirm 3.3V Power Supply and JTAG is enabled (See Section 6 above.) 2. Connect USB1 and USB2 port of EVK board to Host PC with USB cables (if you didn’t connect EVK board.) 3. From Eclipse IDE top menu, click Run > Debug Configurations. 4.
  • Page 23 5. Click Debug. 6. If you see C Local Application dialog, select Quartz.elf and click OK. 7. If you see Windows Security Alert dialog, click Allow access. 140-00217-100...
  • Page 24 8. Eclipse IDE prompt Confirm Perspective Switch dialog before switching perspective to Debug. Click Yes. 9. Execution will stop at default breakpoint at _main() and sbl1_main_ctl(). You can safely ignore error that the source code of these points is not available. 140-00217-100...
  • Page 25 10. From Eclipse IDE top menu, keep clicking Run > Resume to resume execution until it reach to app_init(). Note: You can ignore following error messages appeared on Console: Error: Failed to read memory at 0xfffff000 Error: address + size wrapped (0xfffffffe, 0x00000004) Error: JTAG-DP STICKY ERROR 140-00217-100...
  • Page 26: Appendix A: Emergency Loader (Edl)

    Appendix A: Emergency Loader (EDL) Emergency Loader (EDL) mode can program firmware with USB1 port. It needs Windows USB function driver from QDART installer package. 1. Unplug USB cables (if you connected EVK board.) 2. Confirm 3.3V Power Supply is enabled. 3.
  • Page 27: Appendix B: What's Different From Qualcomm Cdb20/M20

    Appendix B: What’s different from Qualcomm CDB20/M20? Jumper Header Category Description CDB20 SX-ULPGN-BTZ EVK Default Position Default Position Power J6 USB Power Source Connect pins 2 and 3 for J6 Power (Option 1) J85 USB Power Source Connect pins 1 and 2 for J85 Power...
  • Page 28: Debug Header

    Qualcomm CDB20 has Arduino compatible header. External PA Qualcomm M20 QCA4020 module has external PA to the RF path of Bluetooth LE, ZigBee/Thread/802.15.4. Measured gain is 10-15 dBm over SX-ULPGN-BTZ. Onboard Sensor In addition to LED, Humidity and Temperature sensor onboard, Qualcomm CDB20 has following extra set of sensors.

Table of Contents