首先:在LDROM上写入函数并确定函数的入口地址。 例如,在程序APROM read LDROM_LD中将函数: int32_tcount(int32_t x,int32_t y) { int32_t sum; sum= x+y; return sum; } 写入LDRLOM并读出起始地址是:0x001007a8。 第二,在APROM上将LDROM上的函数调出到SRAM上。 for(i=0;i<256;i++) { DrvFMC_Read(0x001007a8+4*i,&u32Data); Data=u32Data; } 从count函数的起始地址开始读出。 第三,调用函数指针,指向SRAM中count函数的入口地址。 addr=(int32_t)&Data[0]; addr=addr+1; sum=(pointersum)addr; z=0; z=sum(3,4); 最后,判断sum(3,4)是否执行了count函数(即z是否等于7),正确表示调用成功。
|