Download oWL Pico API sources and HDG820P/SPB820P firmware

The oWL Pico API package comes with a complete reference design which is ported to various platforms. For information on how to compile and run the oWL Pico API reference design, see the information for the particular host Platforms.

Make sure that the version number of the oWL Pico API matches the version of the SPB820P firmware. In general, the middle digit must be the same for the oWL Pico API and the SPB820P firmware to obtain compatability. E.g. oWL Pico API 2.3.8 will be compatiable with SPB820P firmware 2.3.26 but oWL Pico API 2.4.8 will not be compatible with SPB820P firmware 2.3.26.

See below for information on how to upgrade the firmware on the SPB820P devices. See Architecture for a description of the files included in the oWL Pico API reference design.

File Version Description
pico_client-r12295.zip 2.4.0 oWL Pico API and oWL-Pico Reference Design
linux_pico_client_2.4.0.elf 2.4.0 oWL-Pico Linux Client
pico_client-r11384.zip 2.3.0 oWL Pico API and oWL-Pico Reference Design
linux_pico_client_2.3.0.elf 2.3.0 oWL-Pico Linux Client
sp820p_2.2.0_to_2.3.0_fw.arx 2.2.0 to 2.3.0 spb820p FW patch upgrade 2.2.0 to 2.3.0.
pico_client-r10461.zip 2.2.0 oWL Pico API and oWL-Pico Reference Design
linux_pico_client_2.2.0.elf 2.2.0 oWL-Pico Linux Client

Upgrade SPB820P firmware

Upgrading from 2.2.0 to higher FW versions

Upgrading from 2.2.0 to higher FW version must be done through the "sp820p_2.2.0_to_2.3.0_fw.arx" using xmodem.
1. Connect the SPB820P using a UART -> USB converter to a PC.
2. Start e.g. Minicom on Linux and powercycle the SPB820P.
3. When A dot "." appears in the terminal, press ENTER.
4. "C"s should now be seen in the terminal.
5. Choose to send file in minicom and choose the file "sp820p_2.2.0_to_2.3.0_fw.arx".
6. The FW upload should now start, wait until it has finished uploading and wait an extra 10 seconds to make sure the FW has been started.
7. Powercycle the SPB820P.
8. Done.

Upgrading from 2.3.0 to higher FW versions

Upgrade of the SPB820P is done from the host after FW has been initialized (API function wlp_init() has been called). The actual firmware that the host needs to send to the SPB820P is contained in the file /trunk/wlp_api/hdg205/wlp_firmware.c. the API function wlp_program(int (*program_cb)(void *ctx, void *buf, int offset, int len), void *ctx) is used to initiate the FW transfer. The host registers a firmware read callback through the parameter int (*program_cb)(void *ctx, void *buf, int offset, int len) which will be called everytime the API needs to read a chunk from the firmware in wlp_firmware.c until the whole firmware has been sent to the SPB820P (the struct "const struct firmware firmware" in wlp_firmware.c is extern declared in wlp_hdg205.h and therefore can be reached by the host program_cb callback if wlp_hdg205.h is included).

An example how to implement the program_cb can be seen in the linux reference design for pico_client under /trunk/platform/linux/apps/pico_client/upgrade.c.

Code:

#include <hdg205/wlp_hdg205.h>
int
program_cb(void *ctx, void *buf, int offset, int len)
{
         const void *p = &firmware;

         if (len > 0) {
                 memcpy(buf, p + offset, len);
                 return len;
         } else {
                 return 0;
         }
}

and the FW program procedure is initiated by the API call: wlp_program(program_cb, NULL);

Upgrade SPB820 FW using Linux pico client

The Linux pico client reference design implements all the functionality needed for upgrading the SPB820 through a Linux host.
Either the pico client can be built from the "oWL Pico API and oWL-Pico Reference Design" or the executable can be downloaded directly: "oWL-Pico Linux Client".

After following the instructions on LinuxHost, executing the pico_client.elf file and sending the shell command "init" to the SPB820 its possible to execute the shell commands "get_version" to get the current FW version and "program host" for updating the FW on the SPB820. When the FW has been transfered to the SPB820 from the Linux host,
a "ok 0" will appear in the shell. The SPB820 needs to be powercycled for the new FW to be loaded. Wait 10 sec before attempting any connections with the SPB820 after reboot. Connecting the Linux pico client again and sending shell command "init" and "get_version" should result in the FW version number being updated.

History

List of added features and bug fixes for each release.

Topic attachments
I Attachment Action Size Date Who Comment
Unknown file formatelf linux_pico_client_2.2.0.elf manage 82.5 K 2016-04-13 - 08:43 AndersGrahn  
Unknown file formatelf linux_pico_client_2.3.0.elf manage 501.0 K 2016-04-12 - 11:36 AndersGrahn  
Unknown file formatelf linux_pico_client_2.4.0.elf manage 477.1 K 2016-04-12 - 11:34 AndersGrahn  
Compressed Zip archivezip pico_client-r10461.zip manage 1084.9 K 2016-04-13 - 08:40 AndersGrahn  
Compressed Zip archivezip pico_client-r11384.zip manage 1560.0 K 2016-03-15 - 14:25 AndersGrahn  
Compressed Zip archivezip pico_client-r12295.zip manage 1548.5 K 2016-04-12 - 11:40 AndersGrahn  
Unknown file formatarx sp820p_2.2.0_to_2.3.0_fw.arx manage 407.0 K 2016-04-13 - 08:54 AndersGrahn  
Topic revision: r8 - 2016-04-13 - 09:31:08 - AndersGrahn

Log In (Admin Only)

 
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback