3.15. 动态加载WIFI+LWIP+SDRAM同时开关使用节省功耗

Overview

AC79支持在NOSDAM模式,使用带SDRAM的芯片,把wifi驱动和lwip的data/bss加载到SDRAM,实现开关SDRAM,又能最大化wifi性能

3.15.1. 配置说明

- (1)库的制作 这里需要把库的data/bss重新定义,使用sdk/tools/override-seg.exe工具重新定义段 override-seg.exe -h有提示怎么使用,例子使用如下 打开终端powershell cd tools/utils

.override-seg.exe –input ....cpuwl82libawl_wifi_sfc.a –output ....cpuwl82libawl_wifi_new.a –data_seg .wifi_data –bss_seg .wifi_bss –code_seg .wifi_text /tools/utils/llvm/bin/override-seg –input cpu/wl82/liba/lwip_2_2_0.a –output cpu/wl82/liba/lwip_2_2_0_new.a –data_seg .lwip_data –bss_seg .lwip_bss –code_seg .lwip_text

  • (2) 代码相关配置

配置参数如下:

  • 1)CONFIG_DYNAMIC_SDRAM_ONOFF_ENABLE定义全局宏,注意是codeblock里面定义,不是app_config.h

  • 2)wifi_conf.c配置CONFIG_WIFI_USE_TLSF_MEM =1和CONFIG_WIFI_MAX_MEM_SIZE (512 * 1024)

  • 3)lwip_2_2_0_sfc.a和wl_wifi_sfc.a替换成lwip_2_2_0_new.a和wl_wifi_new.a

  • 4)使用wifi_load_to_sdram加载wifi,使用wifi_unload_to_sdram卸载wifi

  • (3) 注意事项

网络应用程序,一定要注意顺序,wifi加载完等待wifi成功事件再调用程序 如果自己应用程序也想加入sdram,也可以override-seg.exe重新定义库的段