我认为LZ的想法即使做到了也不具备太大的实际意义,一般做产品的工程师写的51程序肯定都有初始化部分(包括重定义堆栈,时钟设置,IO初始化,定时器初始化,开关中断等)以及相应的中断程序,那么编译出来的HEX肯定也有这些部分。即使你把三个HEX烧进去了,要么你原来的HEX1或HEX2不能正常运行,要么你的调度中断不能正常运行。举个例子,如果HEX1用到了定时器1中断做流水灯的节拍,其他定时器没用,那么HEX1应该会关掉其他定时器及其中断,假如你的调度任务用了定时器0,只要一进入HEX1任务,HEX1初始化把定时器0中断关了,那么你就应该回不去调度任务了吧?如果你调度任务也用了定时器1,那么你在不改HEX1的情况下如何处理两个定时器1中断程序?
其实如果程序可以在RAM中运行那么事情就简单多了。 |