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...
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...
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 •...
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.
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.
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.
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.
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.
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...
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...
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.
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.
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...
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.
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...
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.
Need help?
Do you have a question about the SX-ULPGN-BTZ and is the answer not in the manual?
Questions and answers