摘要:
时间管理uC/OS-II的时间管理是通过定时中断来实现的,该定时中断一般为10毫秒或100毫秒发生一次(这个时间片段是OS的作者推荐的,大家可以参考邵贝贝翻译的《嵌入式实时操作系统ucos-II》这本书),时间频率取决于用户对硬件系统的定时器编程来实现。中断发生的时间间隔是固定不变的,该中断也成为一个时钟节拍。这里隐含的意思就是你选择的芯片如果想使用UCOS系统,前提条件一定要有一个Timer。 uC/OS-II要求用户在定时中断的服务程序中,调用系统提供的与时钟节拍相关的系统函数,例如中断级的任务切换函数,系统时间函数。uCOS时间管理的相关函数1:任务延迟函数OSTimeDly()... 阅读全文
摘要:
uC/OS-II 中最多可以支持64 个任务,分别对应优先级0~63,其中0为最高优先级。63为最低级,系统保留了4个最高优先级的任务和4个最低优先级的任务,所有用户可以使用的任务数有56个。 uC/OS-II提供了任务管理的各种函数调用,包括创建任务,删除任务,改变任务的优先级,任务挂起和恢复等。 系统初始化时会自动产生两个任务:一个是空闲任务,它的优先级最低,该任务仅给一个整形变量做累加运算;另一个是系统任务,它的优先级为次低,该任务负责统计当前cpu的利用率。在系统初始化完毕后启动任务时必须创建一份用户任务,也就是说必须有一个应用程序(用户任务,使用应用程序对于我们经常使用... 阅读全文
摘要:
第一篇 UCOS介绍这个大家都知道。呵呵。考虑到咱们学习的完整性还是在这里唠叨一下。让大家再熟悉一下。高手们忍耐一下吧! uC/OSII(Micro Control Operation SystemTwo)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS)。为了提供最好的移植性能,uC/OSII最大程度上使用ANSI C语言进行开发,并且已经移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。 uC/OSII可以简单的视为一个多任务调度器,在这个任务调... 阅读全文
摘要:
“内容/调查报告来源:华清远见/2011-2012年中国嵌入式开发从业人员大调查”本次调查活动分别从嵌入式工程师个人基本情况、嵌入式行业研发公司的基本情况、嵌入式工程师职业生涯发展及获得技术提升、培训的方式等五个不同的角度进行问题设置,特别是考虑到近一年来嵌入式技术在物联网、云计算、移动互联网等领域的广泛应用和发展,在本次调查问卷中也专门调整增加了相关的题目和选项,并在此基础上进行反馈数据的汇总、统计和分析,以呈现出行业发展的专业性趋势和普遍的关注点,力争再次打造出2011-2012年度中国嵌入式专业领域最具广泛性、权威性和实用性的产业调查报告。行业调查总结报告一、嵌入式工程师个人基本情... 阅读全文
摘要:
我是在win7和VM中的ubuntu传输文件:使用一个客户端,可以正常的连接,但是当上传文件时,总是报553 Could not create file错误信息。主要原因是新建的文件夹没有更改权限!!我也是按照网上的做法,对/var/ftp目录进行权限设置,如果设置为chmod -R777 /var/ftp还会导致ftp服务器不能启动,经过摸索,终于找到了解决的方法。首先在ftp的目录中创建一个目录,然后设置权限为777$ sudo mkdir /var/ftp/write$sudo chmod -R 777 /var/ftp/write然后修改vsftp的配置文件/etc/vsftpd... 阅读全文
摘要:
教你如何分析题干选答案本文主要向大家介绍听力短对话的宏观方法,无论四级还是六级,听前的充分预读是必要的,因为只有认真的预读才能找到选项中的规律,另外,短对话必须遵守的一个原则就是:先听到什么不太可能是正确选项,后听到的才可能是正确答案,没听到什么最有可能选择什么!以下以六级题为例! 第一招:相关保留原则 当选项中有两项表达意思相近时,那么正确答案必在这两项之中!这时只需稍微听一听对话,即可知答案,如果出现了双重相关,便可直接确认正确选项,只需听完对话加之认证一下即可! 典型例题: 1999年12月第4题 4. A) Visiting the Browning. B) Writ... 阅读全文
摘要:
执行过程如下:root@zyx-VirtualBox:~# cd /opt/EmbedSky/root@zyx-VirtualBox:/opt/EmbedSky# cd linux-2.6.30.4/root@zyx-VirtualBox:/opt/EmbedSky/linux-2.6.30.4# make menuconfig*** Unable to find the ncurses librariesorthe错误再此*** required header files.*** 'make menuconfig' requires the ncurses libraries 阅读全文
摘要:
1、基础阶段话说06年第一份工作从事的是PLC开发,用protel画原理图和PCB,写AVR单片机程序,焊焊板子,还去过华强北买器件,比较杂,但是接触面比较广,为进一步学ARM打下了基础。期间不甘心只停留在AVR单片机层次,买了邵贝贝的《uCOS-II嵌入式操作系统》,看了4-5遍,弄懂它的原理,还看了陈明计的《SmallRTOS嵌入式操作系统》,之后自己写了一个AVR的时间片调度器。2、接触ARM08年4月份换了工作,搞B超,接触三星的S3C2410,看2410的数据手册,开始接触到ARM的32个寄存器、中断管理、MMU、7种工作模式,还真的晕了好长一段时间,模模糊糊,弄不懂,挺痛苦的... 阅读全文
摘要:
stdout,stdin,stderr的中文名字分别是标准输出,标准输入和标准错误。在Linux下,当一个用户进程被创建的时候,系统会自动为该进程创建三个数据流,也就是题目中所提到的这三个。那么什么是数据流呢(stream)?我们知道,一个程序要运行,需要有输入、输出,如果出错,还要能表现出自身的错误。这是就要从某个地方读入数据、将数据输出到某个地方,这就够成了数据流。因此,一个进程初期所拥有的这么三个数据流,就分别是标准输出、标准输入和标准错误,分别用stdout,stdin,stderr来表示。对于这三个数据流来说,默认是表现在用户终端上的,比如我们在c中使用fprintf:fpri... 阅读全文
摘要:
命名管道(FIFO)基本概念命名管道和一般的管道基本相同,但也有一些显著的不同:命名管道是在文件系统中作为一个特殊的设备文件而存在的。不同祖先的进程之间可以通过管道共享数据。当共享管道的进程执行完所有的I/O操作以后,命名管道将继续保存在文件系统中以便以后使用。管道只能由相关进程使用,它们共同的祖先进程创建了管道。但是,通过FIFO,不相关的进程也能交换数据。命名管道创建和操作::#include#includeint mkfifo(const char *pathname,mode_t mode);返回:若成功则为0,若出错则为-1一旦已经用mkfifo创建了一个FIFO,就可用ope... 阅读全文