1、修正了yosys不能加载的init.tcl的问题,同时更新yosys版本到0.52。
2、新增支持的boot_mode模式:flash_rodata
为充分利用内存的高带宽,传统的 flash 模式会在程序运行时将常量数据从 Flash 加载到 SRAM。这种方式虽然提升了运行时性能,但也带来了更高的内存占用。
引入的 flash_rodata 模式允许开发者选择将常量数据始终保留在 Flash 中,不再复制到 SRAM。这样可以节省 SRAM 空间,但相应地会带来一定的性能损耗,适用于对性能要求不高但内存资源紧张的场景。
设置示例: board_build.boot_mode = flash_rodata
3、支持多种模式的用户自定义 Linker 脚本
系统支持通过文件名后缀符号来控制自定义 Linker 脚本与默认系统脚本的合并方式。支持的后缀有:@、+、-,其中无后缀等同于 +。
后缀含义:
-
-
后缀 - :完全替换模式,不再调用系统提供的默认脚本,使用用户指定的脚本完全替代。
-
后缀 @ :优先覆盖模式,用户自定义脚本插入在系统 section 定义之前,可以替换已有定义。
-
后缀 + :追加模式(默认),用户脚本插入在系统 section 定义之后,不能覆盖系统已有定义,可用于新增的 section 定义。
-
无后缀:等同于 +,为追加模式。
-
设置示例:
-
-
多脚本指定示例: board_build.ldscript = first.ld@, second.ld@, last.ld+
-
特定数据示例:将特定源文件中的常量数据保留在 Flash 中
-
为了避免将部分常量数据从Flash加载入SRAM,可通过自定义linker脚本将其绑定至Flash区域。
设置方法:board_build.ldscript = user.ld@
user.ld 内容示例: 将audio_data.c中的常量数据保留在 Flash 中:
SECTIONS
{
.rodata.flash : ALIGN(4) {
*audio_data.o(.rodata*);
. = ALIGN(4);
} >FLASH
}
AG32 最新 SDK 下载链接:
https://pan.baidu.com/s/17bp-zAnsYRuVMRTSSVHN5A&pwd=12ej

手机号:15800607785
邮件:sales@agmcn.com
或直接扫码加工作人员微信咨询。