Henjay724
发表于 2014-3-5 21:52:53
Jordan??
发表于 2014-3-5 22:03:53
gcc编译器的话加-fpic是试试看
ivvy
发表于 2014-3-5 22:18:41
参考了韦东山的SDRAM,链接时用arm-linux-ld -Ttext (代码段起始地址) (要链接的文件*.o) -o ***_elf,然后再去生成二进制文件。具体执行到哪一行他是自己数的,不知道管不管用。
Gorgon_Meducer
发表于 2014-3-5 22:49:03
将这个函数所要用到的寄存器地址作为函数形参传递进去。
比如
void function(uint32_t volatile *pwReg)
{
(*pwREG) |= 0x01;
...
}
Henjay724
发表于 2014-3-6 17:11:03
Henjay724
发表于 2014-3-6 17:12:20
Jordan??
发表于 2014-3-6 17:21:05
Henjay724 发表于 2014-3-6 17:12
嗯,这是一个办法,但完全依赖编译器,代码要是做到跨平台就行不通了
现在哪个操作系统还有不支持gcc的吗{:lol:}
tiger5
发表于 2014-3-6 17:24:28
PIC单片机。
KEIL里有分散加载文件,也可以定义。
huangxiaowei
发表于 2014-4-16 14:38:05
顶一下
ground
发表于 2014-4-16 14:46:07
既然你知道要拷贝的地址,那就把这个地址转化为函数运行就行了。
页:
[1]