目录
前言
在选择不同的芯片型号时,由于不同型号/规格的芯片的容量可能不一样,当(代码+资源)超过芯片空间的容量时则无法进行正常烧录。此时就可能需要对项目工程/程序进行资源优化,减少代码量或剔除/优化部分资源空间。
一、描述说明
1.错误提示
当代码和资源的总大小超过了储存的空间(flash)时,在编译烧录时便会提示错误,导致无法编译烧录成功,并在编译环境的编译log处显示资源不足。
错误提示如下:
2.芯片封装说明
通常在芯片上有印有丝印标注了芯片的封装规格,可通过命名规则初步的判定该芯片的空间大小,从而进行简单的选型。
芯片型号命名规则如下:
二、优化方式
当代码和资源的总大小超过芯片容量时,则需将代码中的不必要的部分剔除,并将资源进行优化整合。换言之就是将不要或不影响的容量空出来,用于存放我们所需的东西。
1.音频解码
音频在处理解码时需要占用不少资源,因此我们可将部分项目不需要的音频解码格式进行关闭,剔除该音频解码的处理,从而节省出空间进行使用。在配置文件board_ac695x_demo_cfg.h中进行音频解码格式开关使能配置:
2.提示音
由于提示音是存储与flash中的,提示音的大小也决定了资源使用的大小,因此减少提示音的存储空间等于能使用更多的资源空间。可用过两种方式减小提示音占用的空间:
- 方式一:通过音频工具将提示音的音源进行修改(降低采样率、缩短时间、单声道....),降低提示音的音源的存储大小,示图 :
- 方式二:将存储到flash中的提示音存储格式改低,在提供的SDK工具中的“ac695x配置入口.jlxproj工具”中选择“配置工具”中进行选择,从而减小存储大小。
3.虚拟存储VM
虚拟存储VM是一套虚拟的记忆系统,通常会分配一部分flash空间给予其进行部分数据的掉电存储之类的,因此我们可缩小分配给予的空间大小,从而节省出部分空间大小。修改方式是通过修改isd_config.ini文件中VM_LEN配置长度(大小),需注意设置的大小必须是4K的倍数(4K~32K)
4.串口调试信息输出
同样的,当空间不足时,我们也可将调试信息打印功能关闭,也可节省出部分空间进行使用。关闭串口调试打印需:(1)关闭串口打印模块使能TCFG_UART0_ENABLE; (2)将app_config.h文件中的系统打印总开关CONFIG_DEBUG_ENABLE进行关闭(屏蔽) .
总结:
以上就是项目工程/程序进行资源优化四种方式,当然可能不仅仅只有这四种方式,只是这几种方式是能使我们相对快速便捷地处理数据节省的方法。建议在调试项目时可先优先选择空间大的芯片,后期为了节约成本再考虑替换PIN对PIN但空间更小些的芯片型号。