请教各位老师,
如果把程序编译成ram运行的bin文件(中断向量表0X20000000,PC->0X2000000?)
然后把bin文件复制到ram的0X20000000->0X2000XXXX,也就是地址一一对应,(父进程的ram是从0X2000XXXX开始分配的,前一段留给bin
文件用)再在父进程的程序中把pc指向ram地址(bin文件开始执行地址)是不是就可以在不硬复位的情况下运行这个bin文件了,理论上是否可行,
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
回复【3楼】正点原子:
回复【楼主位】ye781205: --------------------------------- 那你怎么赋值到0X20000000去啊? 默认这个段就是给你自己运行的代码用的,你自己先自杀了,还能拷贝数据么?
---------------------------------
父进程的ram是从0X20000XXX开始分配的,前一段0X20000000--0X20000XXX留给bin
文件用,我测试了,能够复制数据到0X20000000--0X20000XXX,自己运行的代码是可以不用这段的(用汇编很容易实现,pc指针也能跳到ram的指定地址),
就是中断向量表和堆栈不知道怎么处理
或者换个思路,假如有64kb ram,父进程用掉前32kb,用后32kb载入bin并运行(bin运行需要的ram指定它在32kb+bin文件大小处开始)
---------------------------------
我们的战舰板,综合实验,运行器功能,不就是运行bin文件么?
回复【4楼】ye781205: --------------------------------- 我们的战舰板,综合实验,运行器功能,不就是运行bin文件么?
---------------------------------
两个概念,pc运行程序是否会重启,运行完(退出)之后是否又要重启?????
关键是bin程序退出之后要能返回来又任意加载别的bin文件
一周热门 更多>