最近,一段时间,想把44B0的FLASH中的程序,拷贝到SDRAM中去运行。一开始,我定义了一个函数TEST_RAM(),其中调用DELAY()我获得TEST_RAM的地址,将这个地址下数据拷贝到SDRAM的地址 addr,共40个字节,然后将拷贝到SDRAM的地址addr,转化成一个函数,通过这个函数指针调用TEST_RAM,但发现系统总是重启,后来分析的得知DELAY函数的地址为0,不是真的地址,所以重启。 typedef void (*test)(void);
VOID TEST_RAM() { DELAY(100); } test test1; test1 = (test)addr; 后来没有办法,将程序的-ro,-rw地址改为SDRAM的地址。用JTAG烧程序到SDRAM中去。让通过函数指针(test1();)调用SDRAM中的程序。 |
文章评论(0条评论)
登录后参与讨论