[51单片机] 如何把两个hex烧入51机中并同时运行?

[复制链接]
13543|66
 楼主| 上大人孔乙己 发表于 2014-1-10 18:14 | 显示全部楼层
ljxh401 发表于 2014-1-10 16:58
不过楼主 想当年做os的人 估计开始就是你这个想法 然后慢慢去实现了
加油 ...

“也是你这个想法.”这句话怎么说?希望能详细说一说。多谢
chunyang 发表于 2014-1-10 18:18 | 显示全部楼层
“同时”是不可能的,即便是多任务操作系统也是用快速切换的办法来虚拟“同时”。楼主应该是指实现这两个功能吧,那可不是“同时”,注意概念。
要整合两个程序需要知道这两个程序的源代码,没有的话,反汇编后阅读理解是可以的,毕竟这两个程序非常简单,然后编制一个主程序,最后编译、链接生成一个整程序再烧录即可。当然,这完全是为了整合这两个程序的办法,如果不是必须指定这么做,那还是自己重新整体编写吧。
ocon 发表于 2014-1-10 18:44 | 显示全部楼层
你水平这么高当然可以,写个在51上运行的51模拟器,简单得很:lol
autopccopy 发表于 2014-1-10 18:59 | 显示全部楼层
上大人孔乙己 发表于 2014-1-10 18:13
这个是作业题目

的确这个是不能实现的,哪怕你老师也做不到,不信叫他来论坛侃侃~~~~

除非源码重写,或2个51或加入另外的控制器然后IAP分时导入运行! :)

(210)
 楼主| 上大人孔乙己 发表于 2014-1-10 19:32 | 显示全部楼层
chunyang 发表于 2014-1-10 18:18
“同时”是不可能的,即便是多任务操作系统也是用快速切换的办法来虚拟“同时”。楼主应该是指实现这两个功 ...

我估计老师的意思是要我模仿多道批处理操作系统的思想来做。不知道大神你有什么想法?能不能就像我说的,自己写第三个程序,用来管理流水灯和蜂鸣器?
 楼主| 上大人孔乙己 发表于 2014-1-10 19:42 | 显示全部楼层
autopccopy 发表于 2014-1-10 18:59
的确这个是不能实现的,哪怕你老师也做不到,不信叫他来论坛侃侃~~~~

除非源码重写,或2个51或加入另外 ...

什么事IAP分时导入运行?是将两个hex分别导入而不是整成一个烧入吗?愿详解。(我是一个大一的新手希望大家多多赐教)
ningling_21 发表于 2014-1-10 19:50 | 显示全部楼层
上大人孔乙己 发表于 2014-1-10 19:32
我估计老师的意思是要我模仿多道批处理操作系统的思想来做。不知道大神你有什么想法?能不能就像我说的, ...

老师给你出了个 哥德巴赫猜想的题目,解决了也到N年以后了...

评分

参与人数 1威望 +2 收起 理由
上大人孔乙己 + 2

查看全部评分

chunyang 发表于 2014-1-10 20:36 | 显示全部楼层
上大人孔乙己 发表于 2014-1-10 19:32
我估计老师的意思是要我模仿多道批处理操作系统的思想来做。不知道大神你有什么想法?能不能就像我说的, ...

不存在什么“多道批处理操作系统”,应该叫做“实时多任务操作系统”,但你老师的意图肯定不在于此,而且就这两个任务根本不必撤上什么操作系统,而且也不是初学者有那个能力的。
方法我前面已经讲了,这两个任务的负荷率都非常低,很容易管理,先去搞明白那两个程序的具体结构吧。

评分

参与人数 1威望 +2 收起 理由
上大人孔乙己 + 2 多谢

查看全部评分

dirtwillfly 发表于 2014-1-10 21:06 | 显示全部楼层
楼主的问题好难
dbayj 发表于 2014-1-10 21:30 | 显示全部楼层
感觉你应该把老师的原题贴出来,你的理解未必是老师要表达的意思,你的描述也未必是你要表达的意思。
shgqing 发表于 2014-1-10 21:48 | 显示全部楼层
难度系数蛮高的,目前还未实现。
 楼主| 上大人孔乙己 发表于 2014-1-10 21:49 | 显示全部楼层
autopccopy 发表于 2014-1-10 18:59
的确这个是不能实现的,哪怕你老师也做不到,不信叫他来论坛侃侃~~~~

除非源码重写,或2个51或加入另外 ...

“加入另外的控制器然后IAP分时导入运行!”这个怎么理解?又是怎么操作的?教一下吧谢谢
 楼主| 上大人孔乙己 发表于 2014-1-10 21:53 | 显示全部楼层
dbayj 发表于 2014-1-10 21:30
感觉你应该把老师的原题贴出来,你的理解未必是老师要表达的意思,你的描述也未必是你要表达的意思。 ...

嗯。是这样的:写一个蜂鸣器程序,一个流水灯程序。分别编译生成两个HEX文件。现在任务是:设法把这两个hex都装进51机让它们可以同时执行,流水灯流动的同时蜂鸣器在响。
 楼主| 上大人孔乙己 发表于 2014-1-10 22:17 | 显示全部楼层
另外问一下各位。在iar中可以指定一个entry symbol  :__iar_program_start 都说是程序入口。但是对于arm7来说,上电后从0地址取第一条指令。也就是说0地址处放置了什么指令(比如说一条跳转指令跳转到某个函数中),那么这个0地址处的指令才是整个程序的入口才对呀。也就是说,程序入口应该由我加载到0地址的指令决定的是吗?但是事实上,我根本不能在0地址上放置我自己的指令.这是怎么回事?
forrest11 发表于 2014-1-10 22:43 | 显示全部楼层
意思应该是任务调度,有两个程序,可以放在两个不同程序区。要做一个调度程序,此调度程序设置时间片。按照时间片依次运行程序1和程序2.
要涉及的问题就是现场保护和恢复,以及PC指针的处理。
学习操作系统中的题目。
 楼主| 上大人孔乙己 发表于 2014-1-10 23:22 | 显示全部楼层
forrest11 发表于 2014-1-10 22:43
意思应该是任务调度,有两个程序,可以放在两个不同程序区。要做一个调度程序,此调度程序设置时间片。按照 ...

“可以放在两个不同的程序区”是说把两个HEX文件放在不同的区域?还是说直接重新再把两个程序和调度程序写在同一个源文件里面然后编译连接形成一个HEX?
西门看雪 发表于 2014-1-10 23:28 | 显示全部楼层
各位大神,对一个大一的新生说这么高深的问题莫有意思啊。还是教他怎么理解老师的题目吧?!
gaoyiyiyi 发表于 2014-1-11 08:05 | 显示全部楼层
上大人孔乙己 发表于 2014-1-10 21:53
嗯。是这样的:写一个蜂鸣器程序,一个流水灯程序。分别编译生成两个HEX文件。现在任务是:设法把这两个h ...

如果你们老师的原题就是这个的话,只能说他太2了。。。
fly1974 发表于 2014-1-11 08:19 来自手机 | 显示全部楼层
这个题目难度还真不是一般的高啊,已经超出了普通电工的能力之外了,建议作为一个科研课题公关吧!
sdwys 发表于 2014-1-11 08:34 | 显示全部楼层
高手奇思妙想。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部