| #include <stdio.h><br />#include <string.h><br />#define fucmax    0x100//flash处理函数编译后的尺寸,可以利用编译器得出<br />typedef void(*FUC)(void);<br />void flash_fuc(void)//可以自己定义函数参数<br />{<br />//处理flash<br />    printf("handle flash ");<br />}<br />int main(void)<br />{<br />    FUC handle_flash;<br />    char  dest[fucmax];<br />    char *sour=(char *)flash_fuc;<br />//    dest=malloc(fucmax);//利用动态分配内存<br />    memcpy(dest,sour,fucmax);<br />    handle_flash = (FUC)dest;<br />    //禁用所有中断<br />    handle_flash();//运行ram中的flash处理函数<br />    printf("over
 ");<br />    //使能中断<br />//    free(dest);//释放<br />    return 0;<br />}<br />用上面这种方式将LED闪烁测试代码copy到ram中运行,发现ram中的运行速度至少是片外flash的10倍以上
 |