ARM中断返回时间过长的问题(.lds文件)

1.第一段.lds

   SECTIONS{

           first  0x00000000 : { head.o init.o nand.o}

           second 0x30000000 : AT(2048) { main.o delay.o  }

  }

返回时间过长的原因:

       Main代码放在2048, 运行在0x30000000(SDRAM)

       中断代码放在0x00000000(SRAM),运行也在SRAM,返回中断,需要在两个不同的硬件之间切换(SRAMSDRAM),所以中断返回很慢。

 

2.改成如下形式可以很快中断返回:

SECTIONS{

        first  0x30000000 : AT(0x00) { head.o nand.o init.o delay.o main.o }

}

即代码全部都在0x300000000运行,不要两个不同的地方切换(中断代码放在init.o

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值