;LOAD_ROM 0X10000000
;{
; RO 0X10000000
; {
; 91x_vect.o(Vect,+FIRST)
; *( +RO )
; }
; RW 0X20000a00
; {
; *( +RW )
; }
; ZI +0
; {
; *( +ZI )
; }
; EXEC_RAM 0X20000000 0XA00
; {
; abc.o(+RO)
; }
;}
这是我写的scatter文件,为什么我在启动代码中调用abc.c中的函数会跳到ram中运行,在启动代码中使用BL 不是不能长跳转吗?
另一种情况,不用scatter。当我设置ro为0x20000000的时候 ,在调用abc.c中的函数就不会跳到ram中,而是在flash中运行。
这两种情况有什么区别?