WICED 开发 Redbear Duo
2017-01-01 20:14
956 查看
使用 WICED SDK 开发 Redbear Duo
花了三天时间琢磨这个WICED,终于理清了头绪,网上资料太少,还得要从 SDK 文档入手。原来2016年4月博通将 IOT 业务卖给了 Cypress (赛普拉斯),这个WICED以前是博通的,感觉用的人还是很少,而且用的 RTOS 居然是 ThreadX ,好像很小众的样子,不过居然美国宇航局的太空撞击器就是跑到这个系统,好吧你牛X!编译程序
参考 RedBear 官方文档FW_Make ,示例如下:./make redbear.rgb-RB_DUO
下载编译的固件(firmware)
由上图得到到Duo 下载使用如下指令:
dfu-util -d 2b04:d058 -a 0 -s 0x80C0000 -D rgb-RB_DUO.bin
在
WICED_SDK/apps中有很多实例,具体可以查看里面的 Readme.txt 文档,里面有说
apps/snip文件夹中多是各种 WICED API 实例。首先从 scan 开始入手,用于扫描可用的路由,代码如下:
make snip.scan-RB_DUO
可能这个 make 工具是定制的??? 编译的信息很详细了,总之,很高大上。显示如下:
MAKEFILE MAKECMDGOALS=snip.scan-RB_DUO OTA2_SUPPORT is disabled Making config file for first time +-----------------------------------------------------------------------------------------------------+ | IMPORTANT NOTES | +-----------------------------------------------------------------------------------------------------+ | Wi-Fi MAC Address | | The target Wi-Fi MAC address is defined in <WICED-SDK>/generated_mac_address.txt | | Ensure each target device has a unique address. | +-----------------------------------------------------------------------------------------------------+ | MCU & Wi-Fi Power Save | | It is *critical* that applications using WICED Powersave API functions connect an accurate 32kHz | | reference clock to the sleep clock input pin of the WLAN chip. Please read the WICED Powersave | | Application Note located in the documentation directory if you plan to use powersave features. | +-----------------------------------------------------------------------------------------------------+ +-----------------------------------------------------------------------------------------------------+ | IMPORTANT NOTES | +-----------------------------------------------------------------------------------------------------+ | Wi-Fi MAC Address | | The target Wi-Fi MAC address is defined in <WICED-SDK>/generated_mac_address.txt | | Ensure each target device has a unique address. | +-----------------------------------------------------------------------------------------------------+ | MCU & Wi-Fi Power Save | | It is *critical* that applications using WICED Powersave API functions connect an accurate 32kHz | | reference clock to the sleep clock input pin of the WLAN chip. Please read the WICED Powersave | | Application Note located in the documentation directory if you plan to use powersave features. | +-----------------------------------------------------------------------------------------------------+ MAKEFILE MAKECMDGOALS=snip.scan-RB_DUO OTA2_SUPPORT is disabled Building Bootloader Finished Building Bootloader Creating security credentials Processing resources Making DCT image Compiling App_Scan Compiling Platform_RB_DUO Compiling WICED Compiling Lib_SPI_Flash_Library_RB_DUO Compiling Lib_GPIO_button Compiling WWD_ThreadX_Interface Compiling WICED_ThreadX_Interface Compiling WWD_for_SDIO_ThreadX Compiling Supplicant_BESL Compiling Lib_DNS Compiling NetX_Duo Compiling Lib_Wiced_RO_FS Compiling STM32F2xx Compiling Lib_TLV Compiling Lib_base64 Compiling Lib_Linked_List Compiling Lib_crypto_open Compiling Lib_micro_ecc Compiling WWD_NetX_Duo_Interface Compiling WICED_NetX_Duo_Interface Compiling common_GCC Compiling STM32F2xx_Peripheral_Drivers Compiling Lib_Ring_Buffer Compiling Lib_crc Compiling Lib_DHCP_Server Compiling STM32F2xx_Peripheral_Libraries Making build/snip.scan-RB_DUO/libraries/App_Scan.a Making build/snip.scan-RB_DUO/libraries/Platform_RB_DUO.a Making build/snip.scan-RB_DUO/libraries/WICED.a Making build/snip.scan-RB_DUO/libraries/Lib_SPI_Flash_Library_RB_DUO.a Making build/snip.scan-RB_DUO/libraries/Lib_GPIO_button.a Making build/snip.scan-RB_DUO/libraries/WWD_ThreadX_Interface.a Making build/snip.scan-RB_DUO/libraries/WICED_ThreadX_Interface.a Making build/snip.scan-RB_DUO/libraries/WWD_for_SDIO_ThreadX.a Making build/snip.scan-RB_DUO/libraries/Supplicant_BESL.a Making build/snip.scan-RB_DUO/libraries/Lib_DNS.a Making build/snip.scan-RB_DUO/libraries/NetX_Duo.a Making build/snip.scan-RB_DUO/libraries/Lib_Wiced_RO_FS.a Making build/snip.scan-RB_DUO/libraries/STM32F2xx.a Making build/snip.scan-RB_DUO/libraries/Lib_TLV.a Making build/snip.scan-RB_DUO/libraries/Lib_base64.a Making build/snip.scan-RB_DUO/libraries/Lib_Linked_List.a Making build/snip.scan-RB_DUO/libraries/Lib_crypto_open.a Making build/snip.scan-RB_DUO/libraries/Lib_micro_ecc.a Making build/snip.scan-RB_DUO/libraries/WWD_NetX_Duo_Interface.a Making build/snip.scan-RB_DUO/libraries/WICED_NetX_Duo_Interface.a Making build/snip.scan-RB_DUO/libraries/common_GCC.a Making build/snip.scan-RB_DUO/libraries/STM32F2xx_Peripheral_Drivers.a Making build/snip.scan-RB_DUO/libraries/Lib_Ring_Buffer.a Making build/snip.scan-RB_DUO/libraries/Lib_crc.a Making build/snip.scan-RB_DUO/libraries/Lib_DHCP_Server.a Making build/snip.scan-RB_DUO/libraries/STM32F2xx_Peripheral_Libraries.a Making snip.scan-RB_DUO.elf Making snip.scan-RB_DUO.bin snip.scan-RB_DUO ----------------------------------|---------|---------| | | Static | Module | Flash | RAM | ----------------------------------+---------+---------| App | 404 | 0 | crc | 1060 | 0 | Host MCU-family library | 12987 | 2485 | Interrupt Vectors | 388 | 0 | libc | 23557 | 3064 | Networking | 989 | 8523 | NetX-Duo - Interfaces & Stacks | 0 | 16 | Other | 3678 | 92 | Packet Buffers | 0 | 23086 | platform | 1252 | 264 | RAM Initialisation | 2340 | 0 | resources | 16 | 0 | Ring_Buffer | 116 | 0 | Startup Stack & Link Script fill | 9 | 3 | ThreadX | 7872 | 396 | TLV | 28 | 0 | Wi-Fi Firmware | 382736 | 0 | WICED | 3857 | 976 | WWD | 15439 | 3071 | ----------------------------------+---------+---------| TOTAL (bytes) | 454388 | 41976 | ----------------------------------|---------|---------| Merge all bin files into a single bin for MSD upload build\waf.bootloader-NoOS-RB_DUO\binary\waf.bootloader-NoOS-RB_DUO_PAD.bin build\snip.scan-RB_DUO\DCT.bin_PAD.bin build\snip.scan-RB_DUO\binary\snip.scan-RB_DUO.bin 已复制 1 个文件。 Location: build/snip.scan-RB_DUO/binary/snip.scan-RB_DUO.bin_MSD.bin Build complete Making .gdbinit
接下来就是下载固件了,指令如下:
dfu-util -d 2b04:d058 -a 0 -s 0x800C000 -D build/snip.scan-RB_DUO/binary/snip.scan-RB_DUO.bin
DFU-util 下载程序的过程也是帅到没有朋友,在命令行的世界就是干净利落,如下:
dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Opening DFU capable USB device... ID 2b04:d058 Run-time device DFU version 011a Claiming USB DFU Interface... Setting Alternate Setting #0 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 011a Device returned transfer size 4096 DfuSe interface name: "Internal Flash " Downloading to address = 0x0800c000, size = 456740 Download [=========================] 100% 456740 bytes Download done. File downloaded successfully Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!!
相关文章推荐
- 在Windows平台下使用安装GCC(图)
- linux使用gcc编译c语言共享库步骤
- C/C++编译器GCC下的常用编译命令总结
- GCC 编译c程序的方法及过程解析
- Linux系统中安装gcc和kernel-devel的方法
- Linux中 CentOS 6.5 手动升级gcc到gcc-6.1.0
- Glusterfs的编译选项 #pragma GCC poison system popen
- 【笔记】CentOS上源码安装GCC 4.8.2
- 【笔记】CentOS
- Java调用动态链接库
- RHEL 4.7 (64bit) 环境安装 GCC 4.6 测试记录 (更新至gcc-4.6.1)
- GCC 5 即将发布
- [转载]Visual Studio, GCC, Clang, Intel 对 C++11 特性的支持一览表
- C++爱好者博客
- gcc工具的运用
- gdb的运用
- GCC内联汇编(1)Get started
- GCC内嵌汇编