From 9539892a1c4922f18ed3d7538d187d1d8e8b6081 Mon Sep 17 00:00:00 2001 From: armink Date: Fri, 22 Jun 2018 10:03:03 +0800 Subject: [PATCH 1/9] [tools] Fix IAR get version failed on RT-Thread Env tools. --- tools/iar.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/iar.py b/tools/iar.py index 09271ba4eb..66864d1adf 100644 --- a/tools/iar.py +++ b/tools/iar.py @@ -164,7 +164,7 @@ def IARVersion(): def IARPath(): import rtconfig - # set environ + # backup environ old_environ = os.environ os.environ['RTT_CC'] = 'iar' reload(rtconfig) @@ -178,16 +178,25 @@ def IARVersion(): return path + # get the IAR path in 'RTT_EXEC_PATH' path = IARPath(); + # retry to get IAR path on 'rtconfig.py' + if not os.path.exists(path): + rtt_exec_path = os.environ['RTT_EXEC_PATH'] + if rtt_exec_path: + del os.environ['RTT_EXEC_PATH'] + path = IARPath(); + os.environ['RTT_EXEC_PATH'] = rtt_exec_path + if os.path.exists(path): cmd = os.path.join(path, 'iccarm.exe') else: - print('Get IAR version error. Please update IAR installation path in rtconfig.h!') + print('Get IAR version error. Please update IAR installation path in rtconfig.py!') return "0.0" child = subprocess.Popen([cmd, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) stdout, stderr = child.communicate() # example stdout: IAR ANSI C/C++ Compiler V8.20.1.14183/W32 for ARM - return re.search('[\d\.]+', stdout).group(0) \ No newline at end of file + return re.search('[\d\.]+', stdout).group(0) From b7f7d6e6b246d4f1460ecb87413dd5786cea7a74 Mon Sep 17 00:00:00 2001 From: armink Date: Fri, 22 Jun 2018 15:03:02 +0800 Subject: [PATCH 2/9] [tools] Fix the IDE project build error when using 'scons --target=cc'. --- tools/building.py | 76 ++++++++++++++++++++++++++++++++++++----------- tools/iar.py | 11 +------ 2 files changed, 60 insertions(+), 27 deletions(-) diff --git a/tools/building.py b/tools/building.py index 61743bf4a1..df21a31319 100644 --- a/tools/building.py +++ b/tools/building.py @@ -112,6 +112,35 @@ class Win32Spawn: return proc.wait() +# auto fix the 'RTT_CC' and 'RTT_EXEC_PATH' +# when using 'scons --target=cc' the 'RTT_CC' will set to 'cc' +# it will fix the the 'rtconfig.EXEC_PATH' when get it failed. +# NOTE: this function will changed your env. Please backup the env before used it. +def AutoFixRttCCAndExecPath(): + import rtconfig + target_option = None + + # get --target=cc option + if len(sys.argv) > 1: + option = sys.argv[1].split('=') + if len(option) > 1 and option[0] == '--target': + target_option = option[1] + + # force change the 'RTT_CC' when using 'scons --target=cc' + if target_option: + if target_option == 'mdk' or target_option == 'mdk4' or target_option == 'mdk5': + os.environ['RTT_CC'] = 'keil' + elif target_option == 'iar': + os.environ['RTT_CC'] = 'iar' + + # auto change the 'RTT_EXEC_PATH' when 'rtconfig.EXEC_PATH' get failed + reload(rtconfig) + if not os.path.exists(rtconfig.EXEC_PATH): + if os.environ['RTT_EXEC_PATH']: + # del the 'RTT_EXEC_PATH' and using the 'EXEC_PATH' setting on rtconfig.py + del os.environ['RTT_EXEC_PATH'] + reload(rtconfig) + def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = []): import SCons.cpp import rtconfig @@ -130,6 +159,9 @@ def PrepareBuilding(env, root_directory, has_libcpu=False, remove_components = [ sys.path = sys.path + [os.path.join(Rtt_Root, 'tools')] + # auto fix the 'RTT_CC' and 'RTT_EXEC_PATH' + AutoFixRttCCAndExecPath() + # add compability with Keil MDK 4.6 which changes the directory of armcc.exe if rtconfig.PLATFORM == 'armcc': if not os.path.isfile(os.path.join(rtconfig.EXEC_PATH, 'armcc.exe')): @@ -709,18 +741,8 @@ def DoBuilding(target, objects): program = Env.Program(target, objects) EndBuilding(target, program) - -def EndBuilding(target, program = None): - import rtconfig - - Env['target'] = program - Env['project'] = Projects - - Env.AddPostAction(target, rtconfig.POST_ACTION) - # Add addition clean files - Clean(target, 'cconfig.h') - Clean(target, 'rtua.py') - Clean(target, 'rtua.pyc') + +def GenTargetProject(program = None): if GetOption('target') == 'mdk': from keil import MDKProject @@ -777,27 +799,47 @@ def EndBuilding(target, program = None): from cdk import CDKProject CDKProject('project.cdkproj', Projects) +def EndBuilding(target, program = None): + import rtconfig + + need_exit = False + + Env['target'] = program + Env['project'] = Projects + + Env.AddPostAction(target, rtconfig.POST_ACTION) + # Add addition clean files + Clean(target, 'cconfig.h') + Clean(target, 'rtua.py') + Clean(target, 'rtua.pyc') + + if GetOption('target'): + GenTargetProject(program) + BSP_ROOT = Dir('#').abspath if GetOption('copy') and program != None: from mkdist import MakeCopy MakeCopy(program, BSP_ROOT, Rtt_Root, Env) - exit(0) + need_exit = True if GetOption('copy-header') and program != None: from mkdist import MakeCopyHeader MakeCopyHeader(program, BSP_ROOT, Rtt_Root, Env) - exit(0) + need_exit = True if GetOption('make-dist') and program != None: from mkdist import MkDist MkDist(program, BSP_ROOT, Rtt_Root, Env) - exit(0) + need_exit = True if GetOption('cscope'): from cscope import CscopeDatabase CscopeDatabase(Projects) if not GetOption('help') and not GetOption('target'): if not os.path.exists(rtconfig.EXEC_PATH): - print "Error: Toolchain path (%s) is not exist, please check 'EXEC_PATH' in path or rtconfig.py." % rtconfig.EXEC_PATH - sys.exit(1) + print "Error: the toolchain path (%s) is not exist, please check 'EXEC_PATH' in path or rtconfig.py." % rtconfig.EXEC_PATH + need_exit = True + + if need_exit: + exit(0) def SrcRemove(src, remove): if not src: diff --git a/tools/iar.py b/tools/iar.py index 66864d1adf..1ada157175 100644 --- a/tools/iar.py +++ b/tools/iar.py @@ -178,21 +178,12 @@ def IARVersion(): return path - # get the IAR path in 'RTT_EXEC_PATH' path = IARPath(); - # retry to get IAR path on 'rtconfig.py' - if not os.path.exists(path): - rtt_exec_path = os.environ['RTT_EXEC_PATH'] - if rtt_exec_path: - del os.environ['RTT_EXEC_PATH'] - path = IARPath(); - os.environ['RTT_EXEC_PATH'] = rtt_exec_path - if os.path.exists(path): cmd = os.path.join(path, 'iccarm.exe') else: - print('Get IAR version error. Please update IAR installation path in rtconfig.py!') + print('Error: get IAR version failed. Please update the IAR installation path in rtconfig.py!') return "0.0" child = subprocess.Popen([cmd, '--version'], stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) From 54a28abb4b0237f5f0e3f5c0cf33d5fa73b53faa Mon Sep 17 00:00:00 2001 From: flyingcys <294102238@qq.com> Date: Fri, 22 Jun 2018 23:05:38 +0800 Subject: [PATCH 3/9] update drv_wifi.c --- bsp/amebaz/README.md | 166 ++++++++++++++++++++ bsp/amebaz/drivers/drv_wifi.c | 11 +- bsp/amebaz/project.ewp | 281 ++++++++++++++++++---------------- bsp/amebaz/template.ewd | 6 +- bsp/amebaz/template.ewp | 6 +- bsp/amebaz/tmp.board | 10 +- 6 files changed, 330 insertions(+), 150 deletions(-) create mode 100644 bsp/amebaz/README.md diff --git a/bsp/amebaz/README.md b/bsp/amebaz/README.md new file mode 100644 index 0000000000..b376b8aeef --- /dev/null +++ b/bsp/amebaz/README.md @@ -0,0 +1,166 @@ +# STM32F4xx-HAL 板级支持包 + +## 1. 简介 + +amebaz 是由Realtek推出的Cortex-M4内核的WiFi SOC芯片rtl8710b系列 +包括如下硬件特性: + +| 硬件 | 描述 | +| -- | -- | +|芯片型号| amebaz | +|CPU| Cortex-M4 | +|主频| 125MHz | + +## 2. 编译说明 + + +| 环境 | 说明 | +| ------------ | ------------------------------------------------------------ | +| PC操作系统 | Linux/MacOS/Windows | +| 编译器 | arm-none-eabi-gcc version 6.3.1 20170620 (release)/iar | +| 构建工具 | scons/iar | +| 依赖软件环境 | Env工具/(IAR或arm-none-eabi-gcc)/git/调试器驱动 | + +1) 下载源码 + +```bash + git clone https://github.com/RT-Thread/rt-thread.git +``` + +2) 配置工程并准备env + +(Linux/Mac) + +```bash + cd rt-thread/bsp/amebaz + scons --menuconfig + source ~/.env/env.sh + pkgs --upgrade +``` + +(Windows) + +>在[RT-Thread官网][1]下载ENV工具包 + +3) 配置芯片型号 + +(Linux/Mac) + +```bash + scons --menuconfig +``` + +(Windows(ENV环境中)) + +```bash + menuconfig +``` + +在menuconfig页面配置并选择对应的芯片型号,若开发环境为IAR,则需要生成工程 + +4) 下载package + +amebaz配套的驱动库以package形式提供,故需先下载对应的package(realtek-ameba),请使用env下载package + +```bash + pkgs --update +``` + +5) 生成工程(Mac/Linux下请跳过此步骤) + +(Windows IAR) + +```bash + SET RTT_CC=iar + scons --target=iar -s +``` + +*该板级支持包不支持生成mdk的工程 + + +6) 编译 + +使用IAR请参见对应教程 + +(Windows arm-none-eabi-gcc) +使用以下指令设置gcc路径 + +```bash + SET RTT_EXEC_PATH=[GCC路径] +``` + +(Linux/Mac arm-none-eabi-gcc) +使用以下指令设置gcc路径 + +```bash + export RTT_EXEC_PATH=[GCC路径] +``` + +编译(WindowsLinux/Mac arm-none-eabi-gcc) + +```bash + scons -j4 +``` + +出现下列信息即为编译成功 + +```bash +LINK rtthread.axf +arm-none-eabi-objcopy -j .ram_image2.entry -j .ram_image2.data -j .ram_image2.bss -j .ram_image2.skb.bss -j .ram_heap.data -Obinary rtthread.axf ram_2.r.bin +arm-none-eabi-objcopy -j .xip_image2.text -Obinary rtthread.axf xip_image2.bin +arm-none-eabi-objcopy -j .ram_rdp.text -Obinary rtthread.axf rdp.bin +python gen_bin.py +is_law = 1 +start = 10005000, end = 0, base = 10000000 +Input file size: 65852 +copy size 45372 +start = 10005000, end = 0, base = 10000000 +Input file size: 45372 +copy size 24892 +start = 0, end = 0, base = 0 +Input file size: 336816 +copy size 336816 +size = 361772 +checksum 209b36c +'true' is not recognized as an internal or external command, +operable program or batch file. +Done... +scons: done building targets. +``` + +如果编译正确无误,会产生image2_all_ota1.bin文件。 + +## 3. 烧写及执行 + +烧写可以使用仿真器 串口等多种方式 此处不再赘述 + +### 3.1 运行结果 + +如果编译 & 烧写无误,会在专用日志串口*上看到RT-Thread的启动logo信息: + +```bash + \ | / +- RT - Thread Operating System + / | \ 3.0.4 build May 15 2018 + 2006 - 2018 Copyright by rt-thread team +msh /> +``` + +*默认串口 + + +## 4. 驱动支持情况及计划 + +| 驱动 | 支持情况 | 备注 | +| ---------- | :------: | :--------------------------: | +| UART | 支持 | UART0 | + + +## 6. 联系人信息 + +维护人: +[flyingcys][4] < [flyingcys@163.com][5] > + + [1]: https://www.rt-thread.org/page/download.html + [4]: https://github.com/flyingcys + [5]: mailto:flyingcys@163.com diff --git a/bsp/amebaz/drivers/drv_wifi.c b/bsp/amebaz/drivers/drv_wifi.c index 1da1644d7a..7c0366d6aa 100644 --- a/bsp/amebaz/drivers/drv_wifi.c +++ b/bsp/amebaz/drivers/drv_wifi.c @@ -33,6 +33,9 @@ //#define ETH_TX_DUMP //#define MINI_DUMP +struct sk_buff * rltk_wlan_get_recv_skb(int idx); +struct sk_buff * rltk_wlan_alloc_skb(unsigned int total_len); + #define MAX_ADDR_LEN 6 struct ameba_wifi @@ -217,9 +220,9 @@ struct netif *rltk_wlan_get_netif(int idx) struct netif *netif; if(idx == 0) - netif = &wifi_sta.parent.parent.netif; - else if(idx = 1) - netif = &wifi_ap.parent.parent.netif; + netif = wifi_sta.parent.parent.netif; + else if(idx == 1) + netif = wifi_ap.parent.parent.netif; return netif; } @@ -356,7 +359,7 @@ rt_err_t rt_ameba_wifi_control(rt_device_t dev, int cmd, void *args) { int *channel = (int *)args; - channel = amebaz_wifi_get_channel(); + *channel = amebaz_wifi_get_channel(); } break; diff --git a/bsp/amebaz/project.ewp b/bsp/amebaz/project.ewp index 2228f6cedf..adb68dc096 100644 --- a/bsp/amebaz/project.ewp +++ b/bsp/amebaz/project.ewp @@ -313,50 +313,51 @@ CCIncludePath2 $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\wlan_ram_map\rom $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\lwip $PROJ_DIR$\..\..\components\libc\compilers\dlib - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\ssl_ram_map\rom - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\wlan_ram_map\rom - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\platform - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi - $PROJ_DIR$\..\..\components\drivers\include - $PROJ_DIR$\..\..\libcpu\arm\common - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\polarssl-1.3.8\include - $PROJ_DIR$\drivers - $PROJ_DIR$\app_wifi - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc - $PROJ_DIR$\. - $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include - $PROJ_DIR$\..\..\libcpu\arm\cortex-m4 - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\libc\rom\string - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal_ext - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\api - $PROJ_DIR$\packages\realtek_ameba\RT-Thread - $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\netif - $PROJ_DIR$\packages\realtek_ameba\RT-Thread\realtek\8711b\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\src - $PROJ_DIR$\applications - $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\ipv4 - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\rtl_lib - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\portable\IAR\ARM_CM4F - $PROJ_DIR$\..\..\components\finsh + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\platform + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\realtek\8711b\include $PROJ_DIR$\..\..\include - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\src\osdep - $PROJ_DIR$\packages\realtek_ameba\RT-Thread\os - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\app\monitor\include + $PROJ_DIR$\..\..\libcpu\arm\common + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\os_dep\include + $PROJ_DIR$\..\..\components\drivers\include + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\include + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi\rtw_wpa_supplicant\src + $PROJ_DIR$\drivers + $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\netif + $PROJ_DIR$\..\..\libcpu\arm\cortex-m4 + $PROJ_DIR$\. + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\include + $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis\device + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\libc\rom\string + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\hal_ext + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos + $PROJ_DIR$\applications + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\polarssl-1.3.8\include + $PROJ_DIR$\drivers\wlan + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\os\freertos\freertos_v8.1.2\Source\portable\IAR\ARM_CM4F + $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\include\ipv4 + $PROJ_DIR$\..\..\components\finsh + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\cmsis + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\rtl_lib + $PROJ_DIR$\packages\realtek_ameba-latest\rtthread_patch\os + $PROJ_DIR$\..\..\components\drivers\wlan + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\fwlib\include + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\drivers\wlan\realtek\src\osdep + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\network\ssl\ssl_ram_map\rom + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\swlib\std_lib\include $PROJ_DIR$\..\..\components\net\lwip-1.4.1\src\arch\include + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\api\wifi + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\api + $PROJ_DIR$\packages\realtek_ameba-latest\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\common\mbed\targets\hal\rtl8711b