No.79235 作者:dandan1 邮件:cat00635@qq.com ID:129931 登陆:8次 文章数:49篇 最后登陆IP:58.61.149.74 最后登陆:2013/1/11 16:32:15 注册:2010/12/10 9:34:30 财富:239 发帖时间:2012/3/26 16:49:04 发贴者IP:58.61.149.74 标题:dandan1:cogobuy分析 开发51单片机操作系统应注意的问题 摘要:No.79235cogobuy分析 开发51单片机操作系统应注意的问题 cogobuy分析 开发51单片机操作系统应注意的问题 1)操作系统软件的代码不能太长 因为51系列单片机的系统硬件资源相对匮乏,如果操作系统的代码比应用程序的代码还大,甚至使得用户的应用程序要考虑给操作系统让出资源,这样的操作系统即使功能再完善,也不实用。现在流行的嵌入式操作系统就不能应用于51系列单片机,原因是代码太大。开发一个5000行的基于裸机的应用程序也就是占用 7~8KB ROM空间,一个操作系统用掉了几十KB,占空间不算,实时性的优势恐怕也没了(执行这么多的指令要时间)。所以,μCOS的作者也不支持将他的代码移植到51系列单片机上,这也就不奇怪了。(2)操作系统不能占用太多的片内RAM空间 51系列单片机只有128个或者256个字节的片内RAM空间,稍微不注意就用完了。如果操作系统把片内的RAM使用得所剩无几,那用户的应用程序用什么? 如果说用户的程序可以把变量定义在片外RAM中的话,那么系统的硬件堆栈放在哪? 众所周知,51系列单片机的硬件堆栈不能放在片外,所以要在51系列单片机上开发操作系统的话就要少用它的片内RAM。但是不用片内RAM是办不到的,因为操作系统也要传递参数,也要使用堆栈。C51单片机的C函数传递参数是通过寄存器和存储器的,不能通过堆栈。但是可以通过一些措施使得操作系统代码少用片内RAM。 (3)解决好函数的重入问题 开发实时占先式的操作系统,可重入函数是非用不可的。可重入函数可以被一个以上的任务调 ......
>>返回讨论的主题
|