ucos源代码从哪里入手看起

W_Controller 2012-06-10 02:39:45
各位大侠,本人想学ucos,但是打开看其代码发现有太多的.c文件了,而且这些文件都不像以前学的程序一样,没有main函数,真不知从何入手开始看,望高手们指点一下。。。
...全文
690 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
W_Controller 2012-06-13
  • 打赏
  • 举报
回复
嗯,好的,谢谢。。。
W_Controller 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]

引用 12 楼 的回复:

想问问有哪位高手有系统的看过ucos的全部代码,教教小弟我如何入手

看了一下11楼给出的几本书,发现你提的问题基本上在11楼说的几本书里面都能找到答案的,比如系统一开始是用OSInit()初始化系统,然后OSStart()运行系统。这两个函数都在OS_CORE.C里面。
但是你从这些函数开始读的话没有什么用的,因为这个操作系统源代码只是一个内核的代码,那……
[/Quote]
感谢14楼的帮忙,你的回答就是我想要的。如果能分析一下系统的运行原理,内核任务的调度那更好了。。。
guoke25 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 14 楼 的回复:

引用 12 楼 的回复:

想问问有哪位高手有系统的看过ucos的全部代码,教教小弟我如何入手

看了一下11楼给出的几本书,发现你提的问题基本上在11楼说的几本书里面都能找到答案的,比如系统一开始是用OSInit()初始化系统,然后OSStart()运行系统。这两个函数都在OS_CORE.C里面。
但是你从这些函数开始读的话没有什么用的,因为这个操……
[/Quote]
不客气,其实我在14楼里面说的东西和你想知道的系统运行原理在11楼那几本书里面都介绍到了。可以先看一下,看不懂的再提出来比较好。
guoke25 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

想问问有哪位高手有系统的看过ucos的全部代码,教教小弟我如何入手
[/Quote]
看了一下11楼给出的几本书,发现你提的问题基本上在11楼说的几本书里面都能找到答案的,比如系统一开始是用OSInit()初始化系统,然后OSStart()运行系统。这两个函数都在OS_CORE.C里面。
但是你从这些函数开始读的话没有什么用的,因为这个操作系统源代码只是一个内核的代码,那些代码都不是能直接运行的,在不同的芯片上要为它写不同的接口才能运行。而且你也看不到像普通应用程序那样一个函数显式调用另一个函数,全部函数都连成一个完整的树的情形,他们的调用大多数是用函数指针进行的,根据不同的配置和系统的运行状态来调用不同的函数。这个系统是可以裁剪定制的,根据你不同的配置来编译不同的函数。也就是说有些函数在代码里面有,但是经过配置以后不会被编译到内核里面。这时候想通过分析系统的运行流程来查看哪个函数对这个没编译到内核中的函数进行了调用显然是做无用功。
因此理解这个系统的运行原理才是最重要的。
系统也不是从main函数开始启动的,所以在源码中找不到main函数很正常。
guoke25 2012-06-13
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

2.周航慈《基于嵌入式实时操作系统的程序设计技术》,也讲一点UCOS2原理性的东西,但结合了工程实例,也有细致的代码,内容分的也很细致,也是偏重于对UCOS2的应用。也是很适合初学者的,结合了上一本书一起看,效果很好。
3.周立功的《uCOS微小内核分析与程序设计》,不过这本书好像在书市上见得少,不容易买到。也是一本不错的书,是周立功公司专门搞UCOS2的人一起写的,对于某些点分析的很不错,和……
[/Quote]
正好在学习这方面的东西,感谢!
lr2131 2012-06-12
  • 打赏
  • 举报
回复
2.周航慈《基于嵌入式实时操作系统的程序设计技术》,也讲一点UCOS2原理性的东西,但结合了工程实例,也有细致的代码,内容分的也很细致,也是偏重于对UCOS2的应用。也是很适合初学者的,结合了上一本书一起看,效果很好。
3.周立功的《uCOS微小内核分析与程序设计》,不过这本书好像在书市上见得少,不容易买到。也是一本不错的书,是周立功公司专门搞UCOS2的人一起写的,对于某些点分析的很不错,和上两本书的分析视角不太一样,有些总计性的内容很不错。对UCOS2理解到某个层次后再回来看这本书总计的部分会有一种共鸣的感觉。这本书也典型是一般工程实践加原理讲解的书,也适合初学者。
4.邵贝贝的《嵌入式操作系统 UC/OS- II》是由UCOS2原作者写的后经由邵贝贝翻译的,所以绝对是一本UCOS2的好书。几乎完全讲原理的,把UCOS2中所有原理性的东西都将的很细致,还有很多概念性的东西,有利于对操作系统共性的内容的理解。但这个并不适合初学者,除非初学者之前学过其他操作系统的原理,有一些基础和可以移植性的经验,可以直接上来看UCOS2纯原理的书籍。
lr2131 2012-06-12
  • 打赏
  • 举报
回复
列一下 UCOS2相关的基本好一点的书籍:
1.任哲的《嵌入式实时操作系统 UCOS-II原理及应用》,记得去年还是前年像就出了第二版,和第一版差不太多。
UCOS2原理性的东西大致讲了下,没有结合太多的工程实例,但代码很清晰,主要偏重于对UCOS2的应用。
很适合初学者,毕竟对于初学者,直接上来玩原理性的东西,有些吃力不说,而且会有一种浮的感觉。
W_Controller 2012-06-12
  • 打赏
  • 举报
回复
想问问有哪位高手有系统的看过ucos的全部代码,教教小弟我如何入手
dsoyy 2012-06-11
  • 打赏
  • 举报
回复
邵贝贝那本书只能当手册翻阅。

强力推荐周航慈老师的《基于嵌入式实时操作系统的程序设计技术》,书很薄,但是越看越有味道,当当价格只有10元钱左右。

例子详实,我就是看着这本书入门的,爱不释手。
afei8856 2012-06-11
  • 打赏
  • 举报
回复
建议看看邵贝贝那本书,写的很好的 ,开始以例子入手,后来慢慢讲各个细节
wolfdong7 2012-06-11
  • 打赏
  • 举报
回复
我觉得看任哲的《嵌入式实时操作系统 UCOS-II原理及应用》

我就是看这本书入门的。

据我的观察和亲身体会,毫不夸张的说看这本书10天差不多能入门了UCOS-II了。
W_Controller 2012-06-11
  • 打赏
  • 举报
回复
我想根据系统的运行流程来看程序,就是说系统最核心的部分(该部分来调用其他的函数)开始看,这样逐个去分析系统源代码,但真的不知这个核心的部分在哪里。。。
W_Controller 2012-06-11
  • 打赏
  • 举报
回复
首先感谢各位的帮忙了。
但我想知道是从哪个文件开始看,这个文件的什么地方开始看,要是毫无目的的从第一个文件开始看,真的晕了。。。
lr6410 2012-06-10
  • 打赏
  • 举报
回复
UCOS2的核心代码差不多是7000行,主要是任务调度,信号、信号量、消息队列、消息邮箱这些消息、信号类的东西。并没有内存管理和文件系统,网络驱动,所以它没有什么内核空间和用户空间之分,对驱动程序也没有接口的规范。整个程序可以认为是内核和应用程序混成一体的。但确实是学习操作系统原理的最最基础的入门级OS。
lr2131 2012-06-10
  • 打赏
  • 举报
回复
如果楼主比较关注ucos2的运行原理和流程,启动代码可以先放一边,要看汇编部分的话,大致看懂是在做什么就差不多了。熟悉流程和原理的话,建议楼主自己能在板子上动手写程序实际跑一下,结合<嵌入式操作系统 UC/OS- II>这本书,有多余的时间再上网多浏览一下ucos2相关的帖子,就差不多了
lr2131 2012-06-10
  • 打赏
  • 举报
回复
怎么老遇到“您的回复正文中有非法词或词组!”
lr2131 2012-06-10
  • 打赏
  • 举报
回复
怎么会没有main()呢,看一下的例程,里面是有的。
  一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时的补充硬件知识,会很快的成为高手。   还有,一定记住,学习嵌入式,“要想办法,不要找理由”。当年在dos下用tc编程时的条件,现在回想起来建筑就是奇迹。   我推荐一条发展道路吧,仅供参考,   1、C开发经验 条件:linux(这都有吧) 方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)   2、网络、操作系统、体系结构 条件:linux,各种书,算法、例程。 方法:通过C编程实现简单的网络等知识的算法和过程。   3、嵌入式系统概念 条件:各个嵌入式网站,讨论组,书籍 方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。   4、嵌入式开发实践 条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器,仿真器。可以找高手们要,也可以下载。   方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧