我有个想法,不只是否行得通:
1,我把需要操作的Flash API 的代码都放置到FlashA 中,也就只占用其中一个Sector;上电运行后将FlashAPI Copy 到SARAM 中;
2,这部分代码指定BEGIN = 0x3F7FF6;
3,然后在其他Sector 运行User 自定义的函数,同时指定BEGIN 到其他位置,比如:0x3F5FF6;
4,当程序开始运行时,如果需要使用API 操作Flash,那就运行第一段放置在Sector A 的代码;
如果不需要操作Flash,那就在SectorA 放置asm(" LB 0x3F5FF6") 跳转到用户程序;
不知这种想法是否可行,即:
1,Flash 会同时存在两套代码,多占用SectorA;
2,堆栈会受一定的影响,因第一段代码也运行了;
3,但好处是,通过API 操作Flash 的代码可以完全独立于用户自己的程序;
Xiaohuang Li:
有可能不行吧,那岂不是两个Main 函数?