Ai-WB2系列 二次开发如何定位分析代码里面的静态内存和动态内存情况

[复制链接]
查看538 | 回复3 | 2024-1-10 17:30:59 | 显示全部楼层 |阅读模式
一、软硬件准备
eclipse软件,bl_iot_sdk,Ai-WB2系列模组或者开发板,静态内存分析软件bouffalo_parse_tool-win32,
下载链接:https://docs.ai-thinker.com/_media/bouffalo_parse_tool-win32.zip
分析软件下载

二、编译工程

首先打开eclipse工程,导入bl_iot_sdk,这次我们使用的工程aws_iot_core来读取下代码所使用的静态内存大小,选择好对应的工程后,点击Apply and close关闭该窗口,然后右键点击SDK,选中build project选项进行编译
1.png
编译完成后显示如下界面

2-.png
三、静态内存的获取

编译完成后打开SDK目录,找到编译工程的build_out文件夹,选择aws_iot_core.map文件,如下图
3.png
打开Bouffalo Lab Parse Tool软件,选择Menory Map(.a)选项,将刚刚的aws_iot_core.map文件拖放进去

4.png
文件放进去后会读取map文件的信息,可以看到该工程的使用静态内存为52376字节,通过计算器换算得出使用了51KB左右,如下图

5.png
四、动态内存的获取

在helloworld工程中,main.c文件下做修改,为了方便观察动态内存的使用,本次演示未开启任务和开启任务后的动态内存,具体的代码改动如下:
  1. void helloworld(void *pvParameters)
  2. {
  3.     for (;;)
  4.     {
  5.         log_step(ci_table_step_init);
  6.         log_step(ci_table_step_log);
  7.         log_step(ci_table_step_end);
  8.         vTaskDelay(1000 / portTICK_RATE_MS);
  9.     }
  10.     vTaskDelete(NULL);
  11. }

  12. void main(void)
  13. {
  14.     int remain_ram = 0, remain_min_heap = 0;
  15.     remain_ram = xPortGetFreeHeapSize();
  16.     remain_min_heap = xPortGetMinimumEverFreeHeapSize();
  17.     printf("remain_ram1:%d\r\n remain_in_heap:%d\r\n", remain_ram, remain_min_heap);
  18.     xTaskCreate(helloworld, (char *)"main_entry", 1024, NULL, 15, NULL);
  19.     remain_ram = xPortGetFreeHeapSize();
  20.     remain_min_heap = xPortGetMinimumEverFreeHeapSize();
  21.     printf("remain_ram1:%d\r\n remain_in_heap:%d\r\n", remain_ram, remain_min_heap);
  22. }
复制代码
按照如上改动后通过烧录软件进行烧录,读取到上电打印日志如下图:

6.png
(1) 创建任务之前内存剩余情况
(2) 创建任务之后内存剩余情况
五.、联系我们
以上就是本期分享的内容,目的在于让大家快速适应新品方案的开发,更多资料可从我们官网上获取。
官方官网:https://www.ai-thinker.com
开发资料:https://docs.ai-thinker.com/
技术支持:support@aithinker.com

本帖被以下淘专辑推荐:

用心做好保姆工作
回复

使用道具 举报

1084504793 | 2024-1-10 18:25:11 | 显示全部楼层
回复

使用道具 举报

干簧管 | 2024-1-10 18:37:52 | 显示全部楼层
给园长打call
回复 支持 反对

使用道具 举报

WT_0213 | 2024-1-11 09:00:51 | 显示全部楼层
园长越来越厉害了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则