From 135ec47a6a5e3c2ce3811c5982067096528d8fd6 Mon Sep 17 00:00:00 2001 From: tyx <462747508@qq.com> Date: Thu, 25 Oct 2018 16:36:46 +0800 Subject: [PATCH] =?UTF-8?q?[bsp][amebaz]=E6=94=AF=E6=8C=81IAR=E5=B7=A5?= =?UTF-8?q?=E7=A8=8B=E5=8F=8Asmartconfig=E9=85=8D=E7=BD=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bsp/amebaz/.config | 12 +- bsp/amebaz/Kconfig | 1 + bsp/amebaz/README.md | 177 +- bsp/amebaz/applications/smartconfig_app.c | 146 + bsp/amebaz/drivers/board.c | 6 +- bsp/amebaz/drivers/board.h | 12 +- bsp/amebaz/drivers/drv_uart.c | 10 +- bsp/amebaz/drivers/drv_uart.h | 3 - bsp/amebaz/drivers/wlan/drv_wifi.c | 18 +- bsp/amebaz/drivers/wlan/drv_wlan.c | 13 +- bsp/amebaz/drivers/wlan/drv_wlan.h | 26 +- bsp/amebaz/figures/iar_build.png | Bin 0 -> 17065 bytes bsp/amebaz/figures/iar_download.png | Bin 0 -> 25977 bytes bsp/amebaz/figures/image-tool_v2.2.0.png | Bin 0 -> 138251 bytes bsp/amebaz/libraries/Kconfig | 7 + bsp/amebaz/libraries/SConscript | 12 + bsp/amebaz/libraries/smartconfig/SConscript | 18 + .../libraries/smartconfig/inc/smartconfig.h | 62 + .../libs/libsmartconfig_armcm4_gcc.a | Bin 0 -> 60214 bytes .../libs/libsmartconfig_armcm4_iar.a | Bin 0 -> 120632 bytes bsp/amebaz/project.ewd | 2697 ++++++++++++++++ bsp/amebaz/project.ewp | 2434 +++++++++++++++ bsp/amebaz/project.eww | 10 + bsp/amebaz/rtconfig.h | 9 +- bsp/amebaz/rtconfig.py | 45 +- bsp/amebaz/template.ewd | 2733 +++++++++++++++++ bsp/amebaz/template.ewp | 1898 ++++++++++++ bsp/amebaz/template.ewt | 2098 +++++++++++++ bsp/amebaz/template.eww | 10 + bsp/amebaz/tmp.board | 21 + 30 files changed, 12344 insertions(+), 134 deletions(-) create mode 100644 bsp/amebaz/applications/smartconfig_app.c create mode 100644 bsp/amebaz/figures/iar_build.png create mode 100644 bsp/amebaz/figures/iar_download.png create mode 100644 bsp/amebaz/figures/image-tool_v2.2.0.png create mode 100644 bsp/amebaz/libraries/Kconfig create mode 100644 bsp/amebaz/libraries/SConscript create mode 100644 bsp/amebaz/libraries/smartconfig/SConscript create mode 100644 bsp/amebaz/libraries/smartconfig/inc/smartconfig.h create mode 100644 bsp/amebaz/libraries/smartconfig/libs/libsmartconfig_armcm4_gcc.a create mode 100644 bsp/amebaz/libraries/smartconfig/libs/libsmartconfig_armcm4_iar.a create mode 100644 bsp/amebaz/project.ewd create mode 100644 bsp/amebaz/project.ewp create mode 100644 bsp/amebaz/project.eww create mode 100644 bsp/amebaz/template.ewd create mode 100644 bsp/amebaz/template.ewp create mode 100644 bsp/amebaz/template.ewt create mode 100644 bsp/amebaz/template.eww create mode 100644 bsp/amebaz/tmp.board diff --git a/bsp/amebaz/.config b/bsp/amebaz/.config index 775f77a112..4a513007e7 100644 --- a/bsp/amebaz/.config +++ b/bsp/amebaz/.config @@ -19,7 +19,7 @@ CONFIG_RT_IDEL_HOOK_LIST_SIZE=4 CONFIG_IDLE_THREAD_STACK_SIZE=256 CONFIG_RT_USING_TIMER_SOFT=y CONFIG_RT_TIMER_THREAD_PRIO=4 -CONFIG_RT_TIMER_THREAD_STACK_SIZE=512 +CONFIG_RT_TIMER_THREAD_STACK_SIZE=1024 CONFIG_RT_DEBUG=y # CONFIG_RT_DEBUG_INIT_CONFIG is not set # CONFIG_RT_DEBUG_THREAD_CONFIG is not set @@ -229,7 +229,10 @@ CONFIG_LWIP_NETIF_LOOPBACK=0 # AT commands # # CONFIG_RT_USING_AT is not set -# CONFIG_LWIP_USING_DHCPD is not set +CONFIG_LWIP_USING_DHCPD=y +CONFIG_DHCPD_SERVER_IP="192.168.169.1" +CONFIG_DHCPD_USING_ROUTER=y +# CONFIG_LWIP_USING_CUSTOMER_DNS_SERVER is not set # # VBUS(Virtual Software BUS) @@ -408,5 +411,10 @@ CONFIG_PKG_REALTEK_AMEBA_VER="latest" # CONFIG_SYS_AUTO_UPDATE_PKGS is not set # CONFIG_SYS_CREATE_MDK_IAR_PROJECT is not set # CONFIG_SYS_PKGS_DOWNLOAD_ACCELERATE is not set + +# +# External Libraries +# +CONFIG_RT_USING_SMARTCONFIG_LIB=y # CONFIG_BSP_USING_UART0 is not set CONFIG_BSP_USING_WIFI=y diff --git a/bsp/amebaz/Kconfig b/bsp/amebaz/Kconfig index f623dcf57f..5e639f4e5f 100644 --- a/bsp/amebaz/Kconfig +++ b/bsp/amebaz/Kconfig @@ -26,6 +26,7 @@ config $ENV_DIR source "$RTT_DIR/Kconfig" source "$PKGS_DIR/Kconfig" source "$ENV_DIR/tools/scripts/cmds/Kconfig" +source "$BSP_DIR/libraries/Kconfig" source "$BSP_DIR/drivers/Kconfig" select PKG_USING_REALTEK_AMEBA diff --git a/bsp/amebaz/README.md b/bsp/amebaz/README.md index 31f0559a3c..5bc1d60426 100644 --- a/bsp/amebaz/README.md +++ b/bsp/amebaz/README.md @@ -1,9 +1,8 @@ # amebaz on RT-Thread -## 1. 简介 +## 1 简介 -amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 -包括如下硬件特性: +amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片,属于rtl8710b系列。硬件特性如下: | 硬件 | 描述 | | -- | -- | @@ -11,8 +10,7 @@ amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 |CPU| Cortex-M4 | |主频| 125MHz | -## 2. 编译说明 - +## 2 编译说明 | 环境 | 说明 | | ------------ | ------------------------------------------------------------ | @@ -21,15 +19,33 @@ amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 | 构建工具 | scons | | 依赖软件环境 | Env工具/(IAR或arm-none-eabi-gcc)/git/调试器驱动 | -1) 下载源码 +## 3 下载源码 ```bash git clone https://github.com/RT-Thread/rt-thread.git ``` -2) 配置工程并准备env +## 4 环境准备 -(Linux/Mac) +### 4.1 Windows 环境准备 + +Windows环境下有两种开发环境,`GCC toolchain` 和 `IAR IDE`,根据不同的需求自行选择。 + +#### 4.1.1 IAR 发开环境 + +IAR 开发环境需要开发者自己安装软件,安装过程这里就不特别说明了。amebaz工程当前仅支持 `IAR 7.X` 的版本。 + +#### 4.4.2 GCC 开发环境 + +GCC开发使用 RT-Thread 官方提供的 env 工具,该工具集成 GCC 工具链,还具有编译构建环境、图形化系统配置及软件包管理功能。 + +下载地址:[点击下载env工具](https://www.rt-thread.org/page/download.html) + +第一次使用env工具的开发者可以去这里查看教程:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/)。 + +### 4.2 Linux/Mac 环境准备 + +Linux/Mac 仅支持 GCC 工具链。 ```bash cd rt-thread/bsp/amebaz @@ -38,11 +54,17 @@ amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 pkgs --upgrade ``` -(Windows) +## 5 配置工程(可选) ->在[RT-Thread官网][1]下载ENV工具包,并参考官网给出的env使用教程 +### 5.1 Windows 配置工程 -3) 配置工程(可选) +配置工程,需要在相应的工程目录下使用 `menuconfig` 命令打开图形界面,开发者根据自己的需求开关功能组件。 + +```bash + menuconfig +``` + +### 5.2 Linux/Mac 配置工程 (Linux/Mac) @@ -50,37 +72,44 @@ amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 scons --menuconfig ``` -(Windows(ENV环境中)) +## 6 更新软件包 -```bash - menuconfig -``` - -4) 下载package - -amebaz配套的驱动库以package形式提供,故需先下载对应的package(realtek-ameba),请使用env下载package +amebaz 配套的驱动库以 package 形式提供,故需先下载对应的 package(realtek-ameba),在工程目录下,使用下面命令下载软件包。 ```bash pkgs --update ``` -*该板级支持包不支持生成mdk的工程及iar工程,后续会支持iar工程 +## 7 编译 -5) 编译 +### 7.1 Windows 编译工程 -Windows可以使用env编译工程,无需设置GCC工具链路径,直接在bsp/amebaz工程目录下编译即可。 +#### 7.1.1 IAR 编译工程 -(Linux/Mac arm-none-eabi-gcc) -使用以下指令设置gcc路径 +先打开工程目录下的IAR工程(project.eww),然后单击 Project 选项卡,单击 Rebuild All 选项,进行编译 + +![ ](figures/iar_build.png) + +#### 7.1.2 GCC 编译工程 + +可以使用env编译工程,无需设置GCC工具链路径,直接在 rt-thread/bsp/amebaz 工程目录下输入 `scons` 编译即可。编译完成后,在工程目录下生成 `image2_all_ota1.bin` 文件。 + +```bash + scons +``` + +### 7.2 Linux/Mac 编译工程 + +如果没有配置GCC路径的环境变量,则需要使用以下指令设置gcc路径。 ```bash export RTT_EXEC_PATH=[GCC路径] ``` -编译(WindowsLinux/Mac arm-none-eabi-gcc) +设置 GCC 路径后,使用 `scons` 编译工程。 ```bash - scons -j4 + scons ``` 出现下列信息即为编译成功 @@ -109,35 +138,75 @@ Done... scons: done building targets. ``` -如果编译正确无误,会产生image2_all_ota1.bin文件。 +如果编译正确无误,会在工程目录下生成 image2_all_ota1.bin 文件。 -## 3. 烧写及执行 +## 8 烧写及执行 -烧写可以使用仿真器 串口等多种方式 此处不再赘述 +### 8.1 IAR下载 -### 3.1 运行结果 +下载程序分为两部分: -如果编译 & 烧写无误,会在专用日志串口*上看到RT-Thread的启动logo信息: +(a)先使用jlink工具正确连接A14(CLK),A15(TMS),GND,VCC引脚 + +(b)打开 IAR 工程并完成编译后,单击 Project 选项卡下 Download 选项,选择 Download active application 下载程序。 + +![IAR下载程序](figures/iar_download.png) + +(c)短按复位按钮,连接串口查看调试信息 + +### 8.2 串口下载 + +串口下载分为三个步骤 + +(a)板子进入下载模式 + +板子使用 `micros usb` 上电,然后按住 `FLASH` 键不放手,短按 `RST` 键,松开 `RST` 和 `FLASH` 键进入下载模式。 + +(b)配置下载工具 + +打开 Image Tool 下载工具配置使用,选择 `micros usb` 所对应的串口端口,选择波特率,默认波特率 1.5Mbps,然后打开串口端口,如下载工具图“①”所示 + +![串口下载程序](figures/image-tool_v2.2.0.png) + +boot选择工程提供的 `boot_all.bin`, OTA1 选择生成的 image2_all_ota1.bin 文件(通常在工程目录下),并且注意在这两个选项前面打勾确认,其他默认即可,如下载工具图“②”。 + +(c)下载程序 + +按下 Download(如下载工具图 “③”),即可开始下载程序,并且可以从日志窗口查看到下载信息。 + +## 9 运行 + +下载程序后,连接串口(默认使用板子上 `micro usb`),打开串口工具,配置串口波特率 115200,数据位 8 位,停止位 1 位,无校验,无流控;短按 `RST` 键复位,串口将输出调试信息,如下所示: ```bash \ | / - RT - Thread Operating System - / | \ 3.0.4 build May 15 2018 + / | \ 3.1.1 build Oct 25 2018 2006 - 2018 Copyright by rt-thread team -msh /> +lwIP-2.0.2 initialized! + +Initializing WIFI ... +LDO Mode, BD_Info: 0 + +LDO Mode, BD_Info: 0 + +WIFI initialized +[I/WIFI] amebaz_wifi_start success +build time: Oct 25 2018 10:52:02 +Hello RT-Thread! +[I/WLAN.dev] wlan init success +[I/WLAN.lwip] eth device init ok name:w0 +msh > ``` -*默认串口 +## 10 WIFI简单使用 -## 4. WIFI简单使用 - - -### 4.1 wifi扫描命令 +### wifi扫描命令 wifi 扫描命令格式如下 -```unknown - wifi scan +```bash + wifi scan ``` 命令说明 @@ -149,8 +218,7 @@ wifi 扫描命令格式如下 在调试工具中输入该命令,即可进行 wifi 命令扫描,调试信息如下 -```unknown - +```bash scan ap down SSID MAC security rssi chn Mbps ------------------------------- ----------------- -------------- ---- --- ---- @@ -159,19 +227,16 @@ WQ1 88:25:93:94:51:54 WPA2_AES_PSK -76 13 shyc1 a0:40:a0:a3:e8:c9 WPA2_AES_PSK -77 13 0 KVIP 70:65:82:3b:71:43 WPA2_AES_PSK -83 11 0 YST2016 88:25:93:c6:67:d1 WPA2_TKIP_PSK -84 4 0 - ``` -> 注: -> -> 测试命令有关 wifi,均以wifi开头。 +> 注:wifi 有关的命令,均以wifi开头。 -### 4.2 wifi 接入 +### wifi 接入 接入 wifi 之前,先介绍一下其接入的命令 ,如下 -```unknown - wifi join ssid 123456789 +```bash + wifi join ssid 123456789 ``` 命令说明 @@ -185,7 +250,7 @@ YST2016 88:25:93:c6:67:d1 WPA2_TKIP_PSK -84 4 了解上述命令,并且成功完成前面步骤,在串口中输入 `wifi w0 join realthread_VIP 123456789` ,如下日志表示连接成功 -```unknown +```bash WIFI wlan0 Setting: ============================== @@ -200,8 +265,7 @@ WIFI wlan0 Setting: 另外,提供一个简单的测试使用命令,查询设备IP地址命令:ifconfig。 -```unknown - +```bash network interface: w0 (Default) MTU: 1500 MAC: 00 e0 4c d5 ac 46 @@ -211,21 +275,16 @@ gw address: 172.16.200.1 net mask : 255.255.255.0 dns server #0: 172.16.200.1 dns server #1: 223.5.5.5 - ``` -## 5. 驱动支持情况及计划 +## 驱动支持情况及计划 | 驱动 | 支持情况 | 备注 | | ---------- | :------: | :--------------------------: | | UART | 支持 | UART0 | | WLAN | 部分支持 | 仅支持STA模式 | -## 6. 已知问题 - -wlan仅支持STA模式,连接WIFI输入错误密码时,会宕机。 - -## 7. 联系人信息 +## 联系人信息 维护人: [flyingcys][4] < [flyingcys@163.com][5] > diff --git a/bsp/amebaz/applications/smartconfig_app.c b/bsp/amebaz/applications/smartconfig_app.c new file mode 100644 index 0000000000..4302fe7937 --- /dev/null +++ b/bsp/amebaz/applications/smartconfig_app.c @@ -0,0 +1,146 @@ +/* + * File : smartconfig_demo.c + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2018-09-13 Bernard the first version + */ +#include +#include + +#ifdef RT_USING_SMARTCONFIG_LIB + +#include +#include "smartconfig.h" + +#define NET_READY_TIME_OUT (rt_tick_from_millisecond(30 * 1000)) + +static int rt_wlan_device_connetct(char *ssid, char *passwd) +{ + int result = RT_EOK; + rt_uint8_t time_cnt = 0; + + result = rt_wlan_connect(ssid, passwd); + if (result != RT_EOK) + { + rt_kprintf("\nconnect ssid %s error:%d!\n", ssid, result); + return result; + }; + + do + { + rt_thread_mdelay(1000); + time_cnt ++; + if (rt_wlan_is_ready()) + { + break; + } + } + while (time_cnt <= (NET_READY_TIME_OUT / 1000)); + + if (time_cnt <= (NET_READY_TIME_OUT / 1000)) + { + rt_kprintf("networking ready!\n"); + } + else + { + rt_kprintf("wait ip got timeout!\n"); + result = -RT_ETIMEOUT; + } + + return result; +} + +static void airkiss_send_notification(uint8_t random) +{ + int sock = -1; + int udpbufsize = 2; + struct sockaddr_in UDPBCAddr, UDPBCServerAddr; + + sock = socket(AF_INET, SOCK_DGRAM, 0); + if (sock < 0) + { + rt_kprintf("notify create socket error!\n"); + goto _exit; + } + + UDPBCAddr.sin_family = AF_INET; + UDPBCAddr.sin_port = htons(10000); + UDPBCAddr.sin_addr.s_addr = htonl(0xffffffff); + rt_memset(&(UDPBCAddr.sin_zero), 0, sizeof(UDPBCAddr.sin_zero)); + + UDPBCServerAddr.sin_family = AF_INET; + UDPBCServerAddr.sin_port = htons(10000); + UDPBCServerAddr.sin_addr.s_addr = htonl(INADDR_ANY); + rt_memset(&(UDPBCServerAddr.sin_zero), 0, sizeof(UDPBCServerAddr.sin_zero)); + + if (setsockopt(sock, SOL_SOCKET, SO_BROADCAST, &udpbufsize, sizeof(int)) != 0) + { + rt_kprintf("notify socket setsockopt error\n"); + goto _exit; + } + + if (bind(sock, (struct sockaddr *)&UDPBCServerAddr, sizeof(UDPBCServerAddr)) != 0) + { + rt_kprintf("notify socket bind error\n"); + goto _exit; + } + + for (int i = 0; i <= 20; i++) + { + int ret = sendto(sock, (char *)&random, 1, 0, (struct sockaddr *)&UDPBCAddr, sizeof(UDPBCAddr)); + rt_thread_delay(10); + } + + rt_kprintf("airkiss notification thread exit!\n"); + +_exit: + if (sock >= 0) + { + closesocket(sock); + } +} + +static int smartconfig_result(rt_smartconfig_type result_type, char *ssid, char *passwd, void *userdata, rt_uint8_t userdata_len) +{ + rt_uint8_t random = *(rt_uint8_t *)userdata; + + rt_kprintf("type:%d\n", result_type); + rt_kprintf("ssid:%s\n", ssid); + rt_kprintf("passwd:%s\n", passwd); + rt_kprintf("user_data:0x%02x\n", random); + if (rt_wlan_device_connetct(ssid, passwd) == RT_EOK) + { + airkiss_send_notification(random); + } + + return 0; +} + +void smartconfig_demo(void) +{ + rt_smartconfig_start(SMARTCONFIG_TYPE_AIRKISS, SMARTCONFIG_ENCRYPT_NONE, RT_NULL, smartconfig_result); +} + +#ifdef RT_USING_FINSH +#include "finsh.h" +MSH_CMD_EXPORT(smartconfig_demo, smartconfig demo); +#endif + +#endif diff --git a/bsp/amebaz/drivers/board.c b/bsp/amebaz/drivers/board.c index f343c31d5b..ffdc9fc680 100644 --- a/bsp/amebaz/drivers/board.c +++ b/bsp/amebaz/drivers/board.c @@ -12,10 +12,8 @@ * 2009-01-05 Bernard first implementation * 2018-03-15 flyingcys add amebaz */ +#include #include -#include -#include - #include "board.h" #include "drv_uart.h" @@ -87,7 +85,7 @@ void rt_hw_board_init(void) { extern uint32_t SystemCoreClock; SysTick_Config(SystemCoreClock/RT_TICK_PER_SECOND); - + #ifdef RT_USING_HEAP rt_system_heap_init((void*)HEAP_BEGIN, (void*)HEAP_END); #endif diff --git a/bsp/amebaz/drivers/board.h b/bsp/amebaz/drivers/board.h index aa915a67cf..3baf67a4d5 100644 --- a/bsp/amebaz/drivers/board.h +++ b/bsp/amebaz/drivers/board.h @@ -17,7 +17,17 @@ #ifndef __BOARD_H__ #define __BOARD_H__ -#include "rtl8710b.h" +#ifdef _LITTLE_ENDIAN +#undef _LITTLE_ENDIAN +#endif + +#ifdef SECTION +#undef SECTION +#endif + +#include +#include +#include void rt_hw_board_init(void); diff --git a/bsp/amebaz/drivers/drv_uart.c b/bsp/amebaz/drivers/drv_uart.c index a9b58694b1..1bf659e79f 100644 --- a/bsp/amebaz/drivers/drv_uart.c +++ b/bsp/amebaz/drivers/drv_uart.c @@ -22,11 +22,8 @@ * 2017-05-30 Bernard the first version * 2018-03-15 flyingcys add amebaz */ - -#include -#include -#include - +#include +#include #include "board.h" #include "drv_uart.h" @@ -37,6 +34,8 @@ struct device_uart rt_uint32_t irqno; }; +extern int LOGUART_SetBaud(u32 BaudRate); + #ifdef BSP_USING_UART0 static struct rt_serial_device serial0; static struct device_uart uart0; @@ -64,7 +63,6 @@ const struct rt_uart_ops _uart_ops = */ static rt_err_t ameba_uart_configure (struct rt_serial_device *serial, struct serial_configure *cfg) { - rt_uint32_t baud_div; struct device_uart * uart; RT_ASSERT(serial != RT_NULL); diff --git a/bsp/amebaz/drivers/drv_uart.h b/bsp/amebaz/drivers/drv_uart.h index 8d2f1b6db5..a4d326da58 100644 --- a/bsp/amebaz/drivers/drv_uart.h +++ b/bsp/amebaz/drivers/drv_uart.h @@ -26,9 +26,6 @@ #ifndef __DRV_UART_H__ #define __DRV_UART_H__ -#include "ameba_soc.h" -#include "serial_api.h" - #if defined(CONFIG_PLATFORM_8711B) // 8710B #define UART_TX PA_23 diff --git a/bsp/amebaz/drivers/wlan/drv_wifi.c b/bsp/amebaz/drivers/wlan/drv_wifi.c index d4ab7e9a96..67a870b034 100644 --- a/bsp/amebaz/drivers/wlan/drv_wifi.c +++ b/bsp/amebaz/drivers/wlan/drv_wifi.c @@ -25,8 +25,6 @@ #include #include "board.h" #include -#include -#include #include "drv_wlan.h" #include "drv_wifi.h" @@ -153,8 +151,11 @@ static void rtw_connect_callbackfn(char *buf, int len, int flags, void *user_dat struct ameba_wifi *wifi = user_data; LOG_D("L:%d wifi connect callback flags:%d user_data:%08x", __LINE__, flags, user_data); - wifi->connected = 1; - rt_wlan_dev_indicate_event_handle(wifi->wlan, RT_WLAN_DEV_EVT_CONNECT, RT_NULL); + if( wifi_is_connected_to_ap() == 0) + { + wifi->connected = 1; + rt_wlan_dev_indicate_event_handle(wifi->wlan, RT_WLAN_DEV_EVT_CONNECT, RT_NULL); + } } static void rtw_connect_fail_callbackfn(char *buf, int len, int flags, void *user_data) @@ -371,7 +372,7 @@ static rt_err_t rthw_wlan_join (struct rt_wlan_device *wlan, str ssid = &sta_info->ssid.val[0]; if (sta_info->key.len > 0) key = &sta_info->key.val[0]; - LOG_D("bssid connect bssid: %02x:%02x:%02x:%02x:%02x:%02x ssid:%s ssid_len:%d key:%s key_len%d", + LOG_D("bssid connect bssid: %02x:%02x:%02x:%02x:%02x:%02x ssid:%s ssid_len:%d key:%s key_len%d", sta_info->bssid[0],sta_info->bssid[1],sta_info->bssid[2],sta_info->bssid[3],sta_info->bssid[4],sta_info->bssid[5], ssid, sta_info->ssid.len, @@ -649,11 +650,8 @@ int rthw_wifi_low_init(void) LOG_I("amebaz_wifi_start success"); LOG_D("F:%s L:%d wifi_sta:0x%08x wifi_ap:0x%08x", __FUNCTION__, __LINE__, &wifi_sta, &wifi_ap); - wifi_reg_event_handler(0, rtw_connect_callbackfn, &wifi_sta); - wifi_reg_event_handler(1, rtw_disconnect_callbackfn, &wifi_sta); - - wifi_reg_event_handler(8, rtw_sta_assoc_callbackfn, &wifi_ap); - wifi_reg_event_handler(9, rtw_sta_disassoc_callbackfn, &wifi_ap); + wifi_reg_event_handler(RTHW_WIFI_EVENT_FOURWAY_HANDSHAKE_DONE, rtw_connect_callbackfn, &wifi_sta); + wifi_reg_event_handler(RTHW_WIFI_EVENT_DISCONNECT, rtw_disconnect_callbackfn, &wifi_sta); _init_flag = 1; diff --git a/bsp/amebaz/drivers/wlan/drv_wlan.c b/bsp/amebaz/drivers/wlan/drv_wlan.c index f6bb30de9a..c414470633 100644 --- a/bsp/amebaz/drivers/wlan/drv_wlan.c +++ b/bsp/amebaz/drivers/wlan/drv_wlan.c @@ -26,15 +26,7 @@ #include "wifi_constants.h" #include #include - -#ifdef _LITTLE_ENDIAN -#undef _LITTLE_ENDIAN -#endif - -#include -#include -#include -#include +#include "board.h" #include "drv_wlan.h" // #define SCAN_WAIT_TIME (10000) @@ -349,7 +341,7 @@ static void rthw_wifi_promisc_callback(unsigned char *buf, unsigned int len, voi { if (monitor_callback) { - monitor_callback(buf, len, RT_NULL); + monitor_callback(userdata, len, RT_NULL); } } @@ -372,4 +364,3 @@ void rthw_wifi_monitor_enable(int enable) rthw_wifi_stop(); } } - diff --git a/bsp/amebaz/drivers/wlan/drv_wlan.h b/bsp/amebaz/drivers/wlan/drv_wlan.h index ca9ae09798..03a8db01e8 100644 --- a/bsp/amebaz/drivers/wlan/drv_wlan.h +++ b/bsp/amebaz/drivers/wlan/drv_wlan.h @@ -25,8 +25,6 @@ #ifndef __DRV_WLAN_H__ #define __DRV_WLAN_H__ -#include - typedef enum { RTHW_MODE_NONE = 0, @@ -65,6 +63,26 @@ typedef enum { RTHW_SECURITY_FORCE_32_BIT = 0x7fffffff /**< Exists only to force rtw_security_t type to 32 bits */ } rthw_security_t; +typedef enum { + RTHW_WIFI_EVENT_CONNECT = 0, + RTHW_WIFI_EVENT_DISCONNECT = 1, + RTHW_WIFI_EVENT_FOURWAY_HANDSHAKE_DONE = 2, + RTHW_WIFI_EVENT_SCAN_RESULT_REPORT = 3, + RTHW_WIFI_EVENT_SCAN_DONE = 4, + RTHW_WIFI_EVENT_RECONNECTION_FAIL = 5, + RTHW_WIFI_EVENT_SEND_ACTION_DONE = 6, + RTHW_WIFI_EVENT_RX_MGNT = 7, + RTHW_WIFI_EVENT_STA_ASSOC = 8, + RTHW_WIFI_EVENT_STA_DISASSOC = 9, + RTHW_WIFI_EVENT_STA_WPS_START = 10, + RTHW_WIFI_EVENT_WPS_FINISH = 11, + RTHW_WIFI_EVENT_EAPOL_START = 12, + RTHW_WIFI_EVENT_EAPOL_RECVD = 13, + RTHW_WIFI_EVENT_NO_NETWORK = 14, + RTHW_WIFI_EVENT_BEACON_AFTER_DHCP = 15, + RTHW_WIFI_EVENT_MAX, +}rthw_event_indicate_t; + typedef enum { RTHW_802_11_BAND_5GHZ = 0, /**< Denotes 5GHz radio band */ RTHW_802_11_BAND_2_4GHZ = 1 /**< Denotes 2.4GHz radio band */ @@ -72,13 +90,13 @@ typedef enum { struct rthw_wlan_info { - char *ssid; + char *ssid; rt_uint8_t *bssid; rthw_802_11_band_t band; rt_uint32_t datarate; rt_uint16_t channel; rt_int16_t rssi; - rthw_security_t security; + rthw_security_t security; }; typedef void (*scan_callback_fn)(struct rthw_wlan_info *info, void *user_data); diff --git a/bsp/amebaz/figures/iar_build.png b/bsp/amebaz/figures/iar_build.png new file mode 100644 index 0000000000000000000000000000000000000000..ee373d785c56fc4618a90a14bb02838f09e877d3 GIT binary patch literal 17065 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%0D>#IeVK+ns*dp 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 HcZ~QyVt@cn literal 0 HcmV?d00001 diff --git a/bsp/amebaz/libraries/Kconfig b/bsp/amebaz/libraries/Kconfig new file mode 100644 index 0000000000..935bb1fef9 --- /dev/null +++ b/bsp/amebaz/libraries/Kconfig @@ -0,0 +1,7 @@ +menu "External Libraries" + + config RT_USING_SMARTCONFIG_LIB + bool "Using RT-Thrad SmartConfig Library" + default n + +endmenu diff --git a/bsp/amebaz/libraries/SConscript b/bsp/amebaz/libraries/SConscript new file mode 100644 index 0000000000..ca95be14e2 --- /dev/null +++ b/bsp/amebaz/libraries/SConscript @@ -0,0 +1,12 @@ +import os +from building import * + +objs = [] +cwd = GetCurrentDir() +list = os.listdir(cwd) + +for item in list: + if os.path.isfile(os.path.join(cwd, item, 'SConscript')): + objs = objs + SConscript(os.path.join(item, 'SConscript')) + +Return('objs') diff --git a/bsp/amebaz/libraries/smartconfig/SConscript b/bsp/amebaz/libraries/smartconfig/SConscript new file mode 100644 index 0000000000..4ae07e3815 --- /dev/null +++ b/bsp/amebaz/libraries/smartconfig/SConscript @@ -0,0 +1,18 @@ +Import('rtconfig') +from building import * + +cwd = GetCurrentDir() +src = [] +path = [cwd + '/inc'] +libs = [''] +libpath = [cwd + '/libs'] + +if rtconfig.CROSS_TOOL == 'gcc': + libs += ['libsmartconfig_armcm4_gcc'] +elif rtconfig.CROSS_TOOL == 'iar': + libs += ['libsmartconfig_armcm4_iar'] + +group = DefineGroup('smartconfig', src, depend = ['RT_USING_SMARTCONFIG_LIB'], CPPPATH = path, LIBS = libs, LIBPATH = libpath) + +Return('group') + diff --git a/bsp/amebaz/libraries/smartconfig/inc/smartconfig.h b/bsp/amebaz/libraries/smartconfig/inc/smartconfig.h new file mode 100644 index 0000000000..b215e983c4 --- /dev/null +++ b/bsp/amebaz/libraries/smartconfig/inc/smartconfig.h @@ -0,0 +1,62 @@ +/* + * File : smartconfig.h + * This file is part of RT-Thread RTOS + * COPYRIGHT (C) 2006 - 2018, RT-Thread Development Team + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Change Logs: + * Date Author Notes + * 2018-09-13 Bernard the first version + */ +#ifndef __SMARTCONFIG_H__ +#define __SMARTCONFIG_H__ + +#define SMARTCONFIG_EVENT_CHANGE_CHANNEL (1 << 0) +#define SMARTCONFIG_EVENT_LOCKED_CHANNEL (1 << 1) +#define SMARTCONFIG_EVENT_COMPLETE (1 << 2) +#define SMARTCONFIG_EVENT_RESTART (1 << 3) +#define SMARTCONFIG_EVENT_STOP (1 << 4) + +typedef enum +{ + SMARTCONFIG_TYPE_AIRKISS = 0, + SMARTCONFIG_TYPE_JDSMART = 1, + SMARTCONFIG_TYPE_ESPTOUCH, + SMARTCONFIG_TYPE_REALTOUCH, + SMARTCONFIG_TYPE_ALL, + SMARTCONFIG_TYPE_MAX, +} rt_smartconfig_type; + +typedef enum +{ + SMARTCONFIG_ENCRYPT_NONE, + SMARTCONFIG_ENCRYPT_AES, +} rt_smartconfig_encrypt_type; + +typedef int (*rt_smartconfig_result_cb)(rt_smartconfig_type result_type, char *ssid, char *passwd, \ + void *userdata, rt_uint8_t userdata_len); +typedef void (*rt_smartconfig_event_handle)(rt_uint32_t event, void *userdata); + +int rt_smartconfig_start(rt_smartconfig_type config_type, rt_smartconfig_encrypt_type encrypt_type, char *encrypt, \ + rt_smartconfig_result_cb result_cb); + +int rt_smartconfig_stop(void); + +void rt_smartconfig_set_event_handle(rt_smartconfig_event_handle handle, void *userdata); + +char *rt_smartconfig_version(void); + +#endif diff --git a/bsp/amebaz/libraries/smartconfig/libs/libsmartconfig_armcm4_gcc.a b/bsp/amebaz/libraries/smartconfig/libs/libsmartconfig_armcm4_gcc.a new file mode 100644 index 0000000000000000000000000000000000000000..b7e261aa08ab236e3accd510c465be3bef4644f6 GIT binary patch literal 60214 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 Z7vA3eeCP>}y}N;nLPmS{{MPs4LAS* literal 0 HcmV?d00001 diff --git a/bsp/amebaz/project.ewd b/bsp/amebaz/project.ewd new file mode 100644 index 0000000000..9d0f67c974 --- /dev/null +++ b/bsp/amebaz/project.ewd @@ -0,0 +1,2697 @@ + + + + 2 + + Debug + + ARM + + 1 + + C-SPY + 2 + + 26 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + + diff --git a/bsp/amebaz/project.ewp b/bsp/amebaz/project.ewp new file mode 100644 index 0000000000..aa4eec3342 --- /dev/null +++ b/bsp/amebaz/project.ewp @@ -0,0 +1,2434 @@ + + 2 + + Debug + + ARM + + 1 + + General + 3 + + 22 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + CSCRIPT "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\prebuild.vbs" "$PROJ_DIR$" "1" "0x08080000" + CSCRIPT "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\postbuild_img2.vbs" "$TARGET_DIR$" "$PROJ_DIR$" + + + + ILINK + 0 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + Applications + + $PROJ_DIR$\applications\main.c + + + $PROJ_DIR$\applications\smartconfig_app.c + + + + Drivers + + $PROJ_DIR$\drivers\board.c + + + $PROJ_DIR$\drivers\drv_uart.c + + + $PROJ_DIR$\drivers\wlan\drv_wifi.c + + + $PROJ_DIR$\drivers\wlan\drv_wlan.c + + + + smartconfig + + + amebaz_sdk + + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\os\rtthread_service.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\app_start.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\rtl8710b_startup.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\common\wifi\wifi_conf.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\wpa_supplicant\wifi_eap_config.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_ind.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_promisc.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\wifi_util.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\analogin_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\dma_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\efuse_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\flash_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\gpio_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\gpio_irq_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\i2c_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\i2s_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\nfc_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pinmap.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pinmap_common.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\port_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\pwmout_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\rtc_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\serial_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\sleep.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\spi_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\sys_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\timer_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\us_ticker.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\us_ticker_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\wait_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b\wdt_api.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\osdep_service.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\ram\monitor.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\ram\rtl_consol.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device\system_8195a.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\ram_lib\rtl8710b_intfcfg.c + + + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\ram_lib\rtl8710b_pinmapcfg.c + + + + Kernel + + $PROJ_DIR$\..\..\src\clock.c + + + $PROJ_DIR$\..\..\src\components.c + + + $PROJ_DIR$\..\..\src\device.c + + + $PROJ_DIR$\..\..\src\idle.c + + + $PROJ_DIR$\..\..\src\ipc.c + + + $PROJ_DIR$\..\..\src\irq.c + + + $PROJ_DIR$\..\..\src\kservice.c + + + $PROJ_DIR$\..\..\src\mem.c + + + $PROJ_DIR$\..\..\src\mempool.c + + + $PROJ_DIR$\..\..\src\object.c + + + $PROJ_DIR$\..\..\src\scheduler.c + + + $PROJ_DIR$\..\..\src\signal.c + + + $PROJ_DIR$\..\..\src\thread.c + + + $PROJ_DIR$\..\..\src\timer.c + + + + CORTEX-M4 + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m4\cpuport.c + + + $PROJ_DIR$\..\..\libcpu\arm\cortex-m4\context_iar.S + + + $PROJ_DIR$\..\..\libcpu\arm\common\backtrace.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\div0.c + + + $PROJ_DIR$\..\..\libcpu\arm\common\showmem.c + + + + DeviceDrivers + + $PROJ_DIR$\..\..\components\drivers\serial\serial.c + + + $PROJ_DIR$\..\..\components\drivers\src\completion.c + + + $PROJ_DIR$\..\..\components\drivers\src\dataqueue.c + + + $PROJ_DIR$\..\..\components\drivers\src\pipe.c + + + $PROJ_DIR$\..\..\components\drivers\src\ringblk_buf.c + + + $PROJ_DIR$\..\..\components\drivers\src\ringbuffer.c + + + $PROJ_DIR$\..\..\components\drivers\src\waitqueue.c + + + $PROJ_DIR$\..\..\components\drivers\src\workqueue.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_cfg.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_cmd.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_dev.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_lwip.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_mgnt.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_prot.c + + + $PROJ_DIR$\..\..\components\drivers\wlan\wlan_workqueue.c + + + + finsh + + $PROJ_DIR$\..\..\components\finsh\shell.c + + + $PROJ_DIR$\..\..\components\finsh\symbol.c + + + $PROJ_DIR$\..\..\components\finsh\cmd.c + + + $PROJ_DIR$\..\..\components\finsh\msh.c + + + $PROJ_DIR$\..\..\components\finsh\msh_cmd.c + + + $PROJ_DIR$\..\..\components\finsh\msh_file.c + + + + dlib + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\environ.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\libc.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\rmtx.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\stdio.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_close.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_lseek.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_mem.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_open.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_read.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_remove.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\syscall_write.c + + + $PROJ_DIR$\..\..\components\libc\compilers\dlib\time.c + + + + lwIP + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\arch\sys_arch.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_lib.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\api_msg.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\err.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netbuf.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netdb.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\netifapi.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\sockets.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\api\tcpip.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\def.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\dns.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\inet_chksum.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\init.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ip.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\memp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\netif.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\pbuf.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\raw.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\stats.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\sys.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_in.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\tcp_out.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\timeouts.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\udp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernet.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\ethernetif.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\netif\lowpan6.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\autoip.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\dhcp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\etharp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\icmp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\igmp.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_addr.c + + + $PROJ_DIR$\..\..\components\net\lwip-2.0.2\src\core\ipv4\ip4_frag.c + + + $PROJ_DIR$\..\..\components\net\lwip_dhcpd\dhcp_server_raw.c + + + diff --git a/bsp/amebaz/project.eww b/bsp/amebaz/project.eww new file mode 100644 index 0000000000..faa93f37cd --- /dev/null +++ b/bsp/amebaz/project.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\project.ewp + + + + + diff --git a/bsp/amebaz/rtconfig.h b/bsp/amebaz/rtconfig.h index c2517b4185..5d8ee1df02 100644 --- a/bsp/amebaz/rtconfig.h +++ b/bsp/amebaz/rtconfig.h @@ -17,7 +17,7 @@ #define IDLE_THREAD_STACK_SIZE 256 #define RT_USING_TIMER_SOFT #define RT_TIMER_THREAD_PRIO 4 -#define RT_TIMER_THREAD_STACK_SIZE 512 +#define RT_TIMER_THREAD_STACK_SIZE 1024 #define RT_DEBUG /* Inter-Thread communication */ @@ -151,6 +151,9 @@ /* AT commands */ +#define LWIP_USING_DHCPD +#define DHCPD_SERVER_IP "192.168.169.1" +#define DHCPD_USING_ROUTER /* VBUS(Virtual Software BUS) */ @@ -216,6 +219,10 @@ /* Env config */ + +/* External Libraries */ + +#define RT_USING_SMARTCONFIG_LIB #define BSP_USING_WIFI #endif diff --git a/bsp/amebaz/rtconfig.py b/bsp/amebaz/rtconfig.py index 2711ffa04f..86b5b955b4 100644 --- a/bsp/amebaz/rtconfig.py +++ b/bsp/amebaz/rtconfig.py @@ -66,32 +66,6 @@ if PLATFORM == 'gcc': M_CFLAGS = CFLAGS + ' -mlong-calls -Dsourcerygxx -O0 -fPIC ' M_LFLAGS = DEVICE + ' -Wl,-z,max-page-size=0x4 -shared -fPIC -e main -nostdlib' - -elif PLATFORM == 'armcc': - # toolchains - CC = 'armcc' - AS = 'armasm' - AR = 'armar' - LINK = 'armlink' - TARGET_EXT = 'axf' - - DEVICE = ' --cpu=cortex-m4.fp' - CFLAGS = DEVICE + ' --apcs=interwork -DSTM32F429_439xx' - AFLAGS = DEVICE - LFLAGS = DEVICE + ' --info sizes --info totals --info unused --info veneers --list rtthread-stm32.map --scatter stm32f429_flash.sct' - - CFLAGS += ' -I' + EXEC_PATH + '/ARM/RV31/INC' - LFLAGS += ' --libpath ' + EXEC_PATH + '/ARM/RV31/LIB' - - EXEC_PATH += '/arm/bin40/' - - if BUILD == 'debug': - CFLAGS += ' -g -O0' - AFLAGS += ' -g' - else: - CFLAGS += ' -O2' - - POST_ACTION = 'fromelf --bin $TARGET --output rtthread.bin \nfromelf -z $TARGET' elif PLATFORM == 'iar': # toolchains @@ -101,7 +75,7 @@ elif PLATFORM == 'iar': LINK = 'ilinkarm' TARGET_EXT = 'out' - DEVICE = ' -D USE_STDPERIPH_DRIVER' + ' -D STM32F10X_HD' + DEVICE = '-Dewarm' CFLAGS = DEVICE CFLAGS += ' --diag_suppress Pa050' @@ -112,26 +86,31 @@ elif PLATFORM == 'iar': CFLAGS += ' --no_tbaa' CFLAGS += ' --no_clustering' CFLAGS += ' --no_scheduling' - CFLAGS += ' --debug' CFLAGS += ' --endian=little' CFLAGS += ' --cpu=Cortex-M4' CFLAGS += ' -e' CFLAGS += ' --fpu=None' CFLAGS += ' --dlib_config "' + EXEC_PATH + '/arm/INC/c/DLib_Config_Normal.h"' - CFLAGS += ' -Ol' - CFLAGS += ' --use_c++_inline' + CFLAGS += ' --silent' - AFLAGS = '' + AFLAGS = DEVICE AFLAGS += ' -s+' AFLAGS += ' -w+' AFLAGS += ' -r' AFLAGS += ' --cpu Cortex-M4' AFLAGS += ' --fpu None' + AFLAGS += ' -S' - LFLAGS = ' --config stm32f429_flash.icf' + if BUILD == 'debug': + CFLAGS += ' --debug' + CFLAGS += ' -On' + else: + CFLAGS += ' -Oh' + + LFLAGS = ' --config rom_symbol_v01_iar.icf' LFLAGS += ' --redirect _Printf=_PrintfTiny' LFLAGS += ' --redirect _Scanf=_ScanfSmall' LFLAGS += ' --entry __iar_program_start' EXEC_PATH = EXEC_PATH + '/arm/bin/' - POST_ACTION = '' + POST_ACTION = 'ielftool --bin $TARGET rt-thread.bin' diff --git a/bsp/amebaz/template.ewd b/bsp/amebaz/template.ewd new file mode 100644 index 0000000000..e2b2b0f6f9 --- /dev/null +++ b/bsp/amebaz/template.ewd @@ -0,0 +1,2733 @@ + + + + 2 + + Debug + + ARM + + 1 + + C-SPY + 2 + + 26 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 1 + + + + + + + + + IJET_ID + 2 + + 5 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 26 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + ANGEL_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + + CMSISDAP_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IARROM_ID + 2 + + 1 + 1 + 0 + + + + + + + + + IJET_ID + 2 + + 5 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 15 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + MACRAIGOR_ID + 2 + + 3 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + PEMICRO_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + RDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + STLINK_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + XDS100_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\middleware\HCCWare\HCCWare.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\AVIX\AVIX.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\MQX\MQXRtosPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Quadros\Quadros_EWB7_Plugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\SymList\SymList.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + + diff --git a/bsp/amebaz/template.ewp b/bsp/amebaz/template.ewp new file mode 100644 index 0000000000..328a1ea8ff --- /dev/null +++ b/bsp/amebaz/template.ewp @@ -0,0 +1,1898 @@ + + + + 2 + + Debug + + ARM + + 1 + + General + 3 + + 22 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + CSCRIPT "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\prebuild.vbs" "$PROJ_DIR$" "1" "0x08080000" + CSCRIPT "$PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\postbuild_img2.vbs" "$TARGET_DIR$" "$PROJ_DIR$" + + + + ILINK + 0 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + ARM + + 0 + + General + 3 + + 22 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 31 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 9 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + + diff --git a/bsp/amebaz/template.ewt b/bsp/amebaz/template.ewt new file mode 100644 index 0000000000..86815bea09 --- /dev/null +++ b/bsp/amebaz/template.ewt @@ -0,0 +1,2098 @@ + + + + 2 + + Debug + + ARM + + 1 + + RuntimeChecking + 0 + + 2 + 1 + 1 + + + + + + + + + + + + + + + + + + + + C-STAT + 260 + + 1 + + 0 + + 600 + 0 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Release + + ARM + + 0 + + RuntimeChecking + 0 + + 2 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + C-STAT + 260 + + 1 + + 0 + + 600 + 0 + 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/bsp/amebaz/template.eww b/bsp/amebaz/template.eww new file mode 100644 index 0000000000..bd036bb4c9 --- /dev/null +++ b/bsp/amebaz/template.eww @@ -0,0 +1,10 @@ + + + + + $WS_DIR$\template.ewp + + + + + diff --git a/bsp/amebaz/tmp.board b/bsp/amebaz/tmp.board new file mode 100644 index 0000000000..1bf54bd90e --- /dev/null +++ b/bsp/amebaz/tmp.board @@ -0,0 +1,21 @@ + + + + + CODE 0x8000000 0x8004fff + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\flashloader\FlashRTL8195aMP.flash + 0x00000000 + + + CODE 0x800b020 0x807ffff + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\flashloader\FlashRTL8195aMP.flash + 0xb020 + + + CODE 0x10005000 0x10005A9B + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc\iar_utility\common\flashloader\FlashRTL8195aMP.flash + 0xb000 + --concat + + CODE 0x10005a9c 0x1003dfff +