| Skill Level | Area of Focus | Operating System | Platform/Hardware |
|---|---|---|---|
| Beginner | Bluetooth, IoT, Education, Embedded, Smart Home | RTOS | QCA 402x WiFi/BLE/ZigBee |
This project is intended to help you get familiar with the QCA4020 System-On-Chip (SoC) Product Development kit. The QCA4020 IoT solution offers Wi-Fi, Bluetooth low energy (BLE), and 802.15.4 capable radios in a single-chip package.The project uses the “Hello world” sample demo included in the SDK with the Eclipse IDE to get started.
Objective
The objective of this demo is to get familiar with the QCA4020 development kit and setup the development environment using the Eclipse IDE.
Materials Required / Parts List / Tools
Additional Resources
Build / Assembly Instructions
In the Box
The contents of the QCA4020 Development kit, as seen above, include:
- QCA4020 development board
- USB to Micro USB cables
- Power supply
- Jumpers
- Setup guide
For the time being, you can set the kit aside while you install the software components and set up the development environment on your computer. During the setup process, you will only briefly use the kit while installing the FTDI drivers for JTAG.
Setup the development environment
- Install Python version 2.7.X
Some of the support scripts are Python-based so be sure to install Python 2.7.X because the support scripts do not support Python 3. After installation, add the path to python.
Example: If python.exe is in the folder
C:\CRMApps\Apps\Python276-64%PATH%=%PATH%:C:\CRMApps\Apps\Python276-64Supported Version: Oxygen version - Release 4.7.2
After installation, add path to Java.
Example: If Java.exe is in
C:\ProgramData\Oracle\Java\javapath%PATH%=%PATH%: C:\Program Files\Java\jdk1.8.0_161\binOpenOCD plugin is required to establish the connection between Eclipse IDE and onboard FTDI JTAG debugger. After installation, add the path to OpenOCD.
Example: If openocd.exe is in
C:\Program Files\OpenOCD-20170609\binset %PATH%=%PATH%:C:\Program Files\OpenOCD-20170609\binInstall by running the “.exe” file and make sure you select the option to “Add path to environment variables” during the final step.
- Install GNU MCU plugin for Eclipse
Go to Help > Install new softwareLocation: “http://gnu-mcu-eclipse.netlify.com/v4-neonupdates” Enter details and click “OK” as seen below.
click “Next”.
Restart the Eclipse IDE and under
Window > preferencesThe SDK contains sample demo applications with source code to demonstrate different features and technologies that QCA402x supports. Demos are in the following folder:
target\quart\demo\<name_of_demo></name_of_demo><SDK_source>/target/quartz/demo/EclipseSupportFiles- Copy the jar file (QCA402x_plugin.jar) to the “dropin” folder under the Eclipse IDE installed folder.
- Restart the Eclipse IDE if running. To restart Eclipse, click on the File menu of Eclipse IDE and select the Restart menu item after the plug-in is installed.
- Download the zadig application from http://zadig.akeo.ie/.
- Connect the J85 connector on the development board to the host PC using the included Micro-USB cable.
- Once the QCA4020 Development board is connected to the host PC, the Device Manager shows two COM ports. The lower port number is for JTAG and the upper port number is for serial connection.
- Run zadig.exe file and go to
Options > List AllAfter installing the FTDI driver, the Device Manager will look as seen below.
Make sure that the paths are set correctly under the environment variables.
They should be set as seen below.
Congratulations, you have now successfully set up the development environment for the QCA4020 development kit. The next section shows you how to import the sample “Hello World” application.
Import sample “Hello World” application
- Install Eclipse project files for sample demo applications.
To install there is eclipseSupport.bat for Windows and eclipseSupport.sh for Linux in
<SDK_source>/target<SDK_source>/target“sh eclipseSupport.sh”“eclipseSupport.bat”After executing the script, the Eclipse project files .cproject, .project and .settings folder are updated in the respective folders of the demo applications.
File > Open ProjectsExample: <path>/target/quartz/demo/Hello WorldYou should be able to see the import source as an Eclipse project.
- Go to
Run >Debug Configurations > GDB OpenOCD DebuggingIf you have already built the image, select Disable auto build. If image is not built, select Use workspace settings.
-f ${project_loc}\build\gcc\qca402x_openocd.cfgNext, build the application.
Build the application
- Go to:
Project properties > Configure build- Click “Apply and Close”.
- Build the application and you will see the following messages in Console Window.
Flash the Application on the QCA4020 development board using JTAG and Eclipse.
Alright, time to start playing with the Developer Kit.
- Setup the QCA4020 development board as described in Appendix A, “CDB2x board setup” in QCA402x-CDB2x development kit users guide.
- Put the jumper on J31 1&2 on the QCA4020 development board.
Tip: There is a “Dot” next to each header that indicates the position of Pin Number 1.
After the flashing through JTAG is done, remove the jumper.
Jumpers on the developer board should be as seen below.- Jumper on J31 (Pins 1 and 2),
Jumper on J37 (Pins 2 and 3),
Jumper on J40 (Pins 2 and 3),
Cross connect pins 2 and 3 of J38 and J39
- Jumper on J31 (Pins 1 and 2),
Run > External Tools > External Tools ConfigurationRun > External Tools > OpenOCD JTAG FlashingThe flashing logs can be seen on the Eclipse console.
You will see the following lines at the end of the log:
<span style=""color:red;"">[2018-07-17 16:51:24,434] INFO: Script finished processing generated_fwd_table.xml File:flash_through_gdb.py:699 Function:main
Flash Operation Completed Successfully...
SUCCESS: The process "openocd.exe" with PID 17776 has been terminated.The application was flashed successfully on the development board.
Run the application in Autoboot mode
The Autoboot mode refers to the mode where the system boots up on a power cycle and no JTAG connectivity is required. Follow the below steps to run the application in Autoboot mode.
- Remove the jumper on J31.
This was connected to flash the image on the board. - Power cycle the system.
Once the board powers up, open a serial console on your host PC.
Connect it to the com port number assigned to the USB-serial connection with the following settings.
- Baud Rate: 115200
- Data Bits: 8
- Parity: None
- Stop bit: 1
- Flow Control: None
You will see the following stream of text in the terminal window every second.
Hello World demo - Welcome to QCA IoE
Hello World
Hello World
Hello World
Hello World
Sign up for the Developer Newsletter.
Get software and hardware tool resources to help optimize your development delivered to your inbox weekly.
