第1个问题:如何在程序运行过程中,由程序自己去把FLASH的程序区中某个单元写成0?
备注:匠人试过用下面这条指令去修改数据区的数据,成功。但是同样的指令去修改程序区的代码,失败!
FLASH_ProgramWord ((Address), 0); //写32位数据
第2个问题:如何把一个函数,或一组数据定义在我指定的FLASH地址中?
备注:匠人找过一些网上的方法,依葫芦画瓢,没有成功。俺用的是IAR6.20
第3个问题:如何在FLASH指定的位置预留几个字节(内容保持全1),并禁止编译器把程序和数据编译在那里?
第4个问题:如何把一段代码复制到RAM中去运行,并在运行结束后销毁RAM中的这段代码?
第5个问题:如何获取一个函数的尾地址,或者如何获取一个函数的代码长度。
备注:匠人知道如何获取函数的首地址,但是希望CPU能自动获得某个函数的尾地址。当然,如果能获得该函数的代码长度,那么也可以根据其首地址+长度,求得尾地址来。
----------------------------------
我想,大家应该能看出匠人想干什么。你懂的。 |