微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 有没有人做过“在一个工程中将另一个工程boot起来?”

有没有人做过“在一个工程中将另一个工程boot起来?”

时间:10-02 整理:3721RD 点击:
我这里想在一个工程运行过程中,根据命令将另一个新的工程BOOT起来。
我所做的是:

旧工程收到命令后,将已烧写到FLASH中的新工程整个搬运到0x00000000位置,
并在搬运完成后将PC指针指到0x00000000位置,然后开始运行。(这里新工程将
旧工程覆盖)

其中旧工程的搬运函数放在不会被新工程覆盖的内存部分;

结果发现新工程搬运完成,但是PC指针跳转后就运行不对拉。

呜呜呜,拜托各位大侠帮俺看看,这个过程有没有什么问题?可能的问题在哪里?

在线等待,欢迎讨论!

还有我把旧工程的stack段也放在不会被新工程覆盖的内存。

总之指针跳转后,运行新程序就会有问题。

再调试发现:

仿真状态下,程序会跑飞,观察结果是:新工程搬运完成,指针也指向0x00000000地址,
但是运行新工程程序时跑飞;

但是如果选择CCS, Debug---> Reset CPU 复位一下CPU后,再选择 run,新工程程序就顺利跑起来了。

汗~~,Reset CPU都做了些什么?

欢迎各位探讨,指教! 呜呜呜,怎么没有人回列?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top