Преглед на файлове

fix: nimble在内存调整和射频关闭后无法使用

Wendal Chen преди 4 години
родител
ревизия
931aa45e18
променени са 4 файла, в които са добавени 5 реда и са изтрити 3 реда
  1. 1 1
      app/main.c
  2. 2 0
      app/port/luat_nimble.c
  3. 0 2
      platform/drivers/cpu/wm_cpu.c
  4. 2 0
      platform/sys/wm_main.c

+ 1 - 1
app/main.c

@@ -28,7 +28,7 @@
 #define LUAT_HEAP_SIZE (128+48)*1024
 #else
 /*非LVGL项目并不需要太多的系统内存*/
-#define LUAT_HEAP_SIZE (128+80)*1024
+#define LUAT_HEAP_SIZE (128+48)*1024
 #endif
 #endif
 

+ 2 - 0
app/port/luat_nimble.c

@@ -8,6 +8,7 @@
 #include <assert.h>
 
 #include "wm_bt_config.h"
+#include "wm_regs.h"
 
 #include "wm_bt.h"
 #include "wm_bt_util.h"
@@ -172,6 +173,7 @@ luat_nimble_init(uint8_t uart_idx, char* name)
     {
         return BLE_HS_EALREADY;
     }
+    tls_reg_write32(HR_CLK_BBP_CLT_CTRL, 0x7F);
 
     memset(&ble_hs_cfg, 0, sizeof(ble_hs_cfg));
 

+ 0 - 2
platform/drivers/cpu/wm_cpu.c

@@ -36,8 +36,6 @@ void tls_sys_clk_set(u32 clk)
 		return;
 	}
 	
-	/* Close bbp clk */
-	tls_reg_write32(HR_CLK_BBP_CLT_CTRL, 0x0F);
 
 	RegValue = tls_reg_read32(HR_CLK_DIV_CTL);
 	wlanDiv = (RegValue>>8)&0xFF;

+ 2 - 0
platform/sys/wm_main.c

@@ -193,6 +193,8 @@ int main(void)
     value |= 0x1a02;
     tls_reg_write32(HR_CLK_BASE_ADDR, value);
 
+	/* Close bbp clk */
+	tls_reg_write32(HR_CLK_BBP_CLT_CTRL, 0x0F);
 
     tls_sys_clk_set(CPU_CLK_80M);
     tls_os_init(NULL);