在嵌入式开发中,系统软件设计特别是各种存储器的规划是必不可少的一个环节,它也直接体现在链接脚本的撰写上。
因链接脚本的语法相对复杂和篇幅较大,前期撰写和后期维护对工程师来讲难度都很大, 但对使用AndesCore做开发的工程师来讲,Andes SAG是一大福音,它提供简单直观的描述语言替代了复杂的链接脚本。我们收到的反馈也证明,越来越多的工程师开始采用Andes SAG替代linker,之前我们有一篇技术**对SAG的语法格式做了介绍并说明如何使用,本文将展示四个实际工程开发的例子,以帮助广大开发者更好的熟悉和理解Andes SAG,同时可以作为开发时的参考。
本文引用地址:http://www.**/article/266369.htm
1.将函数和变量指定到特定地址
第一个例子是如何将函数和变量的地址指定到一个特定的地址,例子中的地址指运行地址——VMA。有这样要求的原因有很多,诸如SOC的运行地址空间不连续,或者需要高效使用某一块效率很高的存储器等情况。解法分为两步:一,在SAG文件中添加自定义的section,将此section的VMA设定到指定地址;二,在C语言中,将需要改变的函数和变量用特定的语法放在自定义的section。
图表1是在SAG中自定义section 的例子。第1行关键词USER_SECTIONS表示后面接的这几个sections都是由使用者自定义的sections。
|