ghs 变量 函数指定地址

参考链接

指定bss数据

  1. 链接脚本添加bss代码段,不添加则由系统随机分配RAM地址

    SECTIONS
    {
    .sram								:>. SRAM
    …
    .mybss abs(0xffe04000) :>. /* locate the section to address 0xffe04000 */
    …
    }
    
  2. 源码指定bss数据存放区域
    注意:这里 section 为 bss段

    #pragma ghs section bss=.mybss”
    int svarInit;
    #pragma ghs section bss=default
    

指定data数据

  1. 链接脚本添加data代码段,不添加则由系统随机分配RAM地址

    SECTIONS
    {
    .sram								:>. SRAM
    …
    .mydata abs(0xffe04000) :>. /* locate the section to address 0xffe04000 */
    …
    }
    
  2. 源码指定data数据存放区域
    注意:这里 section 为 data段

    #pragma ghs section data=.mydata”
    int svarInit = 3;
    #pragma ghs section data=default
    

指定text

  1. 链接脚本添加text代码段,不添加则由系统随机分配RAM地址

    SECTIONS
    {
    .intvec								:>. CODE_FLASH
    …
    .mytextabs(0x101FE0000) :>. /* locate the section to address 0xffe04000 */
    …
    }
    
  2. 源码指定text数据存放区域
    注意:这里 section 为 text 段

    #pragma ghs section text=.mytext”
    void mey_func(void)
    {}
    #pragma ghs section text=default
    

链接脚本指定源文件存储位置

	SECTIONS
	{
		/********************************************/
		.text:
		{
			test.o(.text)	//指定test.o存储地址 运行地址
		}>ROM
		ROM.data	ROM(data)				:>.
		/********************************************/
		.data								:
		{
			main.o(.text)	//指定main.o的代码段的运行地址到data段
			main.o(.rodata) //指定main.o的只读段的运行地址到data段
		}
		> SRAM
		.bss								:
		{
			main.o(.bss) //指定main.o的bss段的运行地址到bss段
		}
		> .
	}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值