diff --git a/bsp/amebaz/README.md b/bsp/amebaz/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b376b8aeefd07b50706a939f05e4c7e96d589da3 --- /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 1da1644d7a60c8464102ed70bc80302bc4fdc63d..7c0366d6aa6c85e8efd6bf1e48ecb3259f30a2d8 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 2228f6cedfde18a0bd3a66c82ad30e20bcde4517..adb68dc096201d87d44c5bba362554edf1d5de8a 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$\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-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\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$\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$\app_wifi - $PROJ_DIR$\packages\realtek_ameba\sdk-ameba-v4.0b_without_NDA_GCC_V1.0.0\component\soc\realtek\8711b\misc + $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$\..\..\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$\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$\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$\..\..\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\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