自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (27)
  • 收藏
  • 关注

原创 matlab调用C/C++程序,minGW不支持C++14标准的解决方法

matlab调用C/C++程序,minGW不支持C++14标准的解决方法

2023-08-17 13:53:34 148

原创 ModuleNotFoundError: No module named ‘Crypto‘

Python import Crypto错误

2023-03-22 11:06:27 120 2

原创 第4章第7节 二进制信号量(三)

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 图53列出了多个不同状态的任务与这些调度表之间的关系,任务1被信号量sem1阻塞,处于非永久pend态,strDelayQue结构中的strQueHead节点被挂接到delay表,strTcbQue结构中的

2017-06-29 22:36:40 560 2

原创 第4章第7节 二进制信号量(二)

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 释放信号量的函数MDS_SemGive的代码如下:00143  U32 MDS_SemGive(M_SEM* pstrSem)00144  {00145      M_TCB* pstrTcb

2017-06-29 22:36:37 508

原创 第4章第7节 二进制信号量(一)

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0fp2g5z9s下载 第7节 二进制信号量某些资源在同一时刻只可以被一个任务操作,实时操作系统的任务抢占特性会导致这些资源可能被多个任务同时操作,从而产生错误。本节将讲述二进制信号量的原理,可以利用二进制信号量保护这些资源

2017-06-29 22:36:34 1447

原创 第4章第6节 任务自结束

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0ss54iddw下载  第6节 任务自结束上节增加了删除任务的函数MDS_TaskDelete,任务可以调用该函数结束其它任务或自身任务的运行。在前面章节我们说过,目前任务还不具备自结束功能,需要使用类似while的结

2017-06-29 22:36:31 389 1

原创 第4章第5节 任务创建和任务删除钩…

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0t7gmgx2q下载 第5节 任务创建和任务删除钩子函数上节增加了任务切换钩子功能,打印出任务切换的信息,本节将增加任务创建钩子函数和任务删除钩子函数,分别打印出任务创建和删除的信息。 任务创建和删除钩子函数的原理与

2017-06-29 22:36:29 441

原创 第4章第4节 任务切换钩子函数

目前更新到5.3节,请在http://dl.dbank.com/c02ackpwp6下载5.3节的全部文档本节源代码请在http://dl.dbank.com/c0ddwgf0k5下载 第4节 任务切换钩子函数上节,我们引入了任务的delay态,通过最后例子的打印可以看到任务在交替运行,但这个打印只发生在每个任务每次循环的开始,看不到中间运行过程中任务的切换过程。本小节将引入任

2017-06-29 22:36:26 947

原创 第4章第3节 实时事件触发的实时抢…

源码请在https://github.com/ifreecoding/MbedRtos.git下载本节用户代码在打印输出方面做了较大的修改,从本节开始,串口打印功能不再由任务实时向串口打印,而是由任务先将字符串打印到内存,然后使用一个低优先级的任务从内存中取出字符串打印到串口。串口是一个低速率的外设,960

2017-06-29 22:36:08 273

原创 第4章第3节 实时事件触发的实时抢…

源码请在https://github.com/ifreecoding/MbedRtos.git下载下面来看一下MDS_TaskDelay函数的代码:00196U32MDS_TaskDelay(U32uiDelayTick)00197{00198M_CHAIN*ps

2017-06-29 22:36:06 348 1

原创 第4章第3节 实时事件触发的实时抢…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节实时事件触发的实时抢占调度在上节中我们成功的实现了任务的ready状态,并用tick中断实现了实时调度,但由于只有ready这一种状态,使得我们的例子只能不断的运行最高优先级任务。在这一节我们引

2017-06-29 22:36:03 410 1

原创 第4章第2节 定时器触发的实时抢占…

源码请在https://github.com/ifreecoding/MbedRtos.git下载本节中新增的重要内容已经介绍的差不多了,下面我们来看看使用tick中断的任务上下文切换过程。在本节中,tick中断被配置为使用Timer1产生IRQ中断。产生tick中断时,硬件会自动将PC指针指向I

2017-06-29 22:36:01 370

原创 第4章第2节 定时器触发的实时抢占…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节定时器触发的实时抢占调度在第3章,我们依靠用户代码主动调用任务切换函数WLX_TaskSwitch实现了任务切换功能,这种任务调度方式的调度时机是固定死的,只有代码运行到WLX_TaskSw

2017-06-29 22:35:58 495 1

原创 第4章第1节 Mindows的文件组织结构

源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节Mindows的文件组织结构在第3章,我们依据任务切换的原理编写了Wanlix操作系统,Wanlix很简单,只实现了任务切换功能,从本章开始,我们将编写Mindows操作系统,Mindows将会实现更多的功能,相对Wanlix来说要复杂一些,文件也更多一些,因此,Min

2017-06-29 22:35:55 481 1

原创 第4章 Mindows操作系统

源码请在https://github.com/ifreecoding/MbedRtos.git下载第4 章Mindows操作系统在第3章中,我们实现了一个简单的操作系统——Wanlix,这个操作系统是一种非抢占式操作系统,任务之间的切换需要用户主动调用任务切换函数WLX_TaskSwitch来实现。从本章开始,我们将编写一个实时抢占的嵌入式操作系统——Mindows,它

2017-06-29 22:35:53 449

原创 第3章第5节 发布Wanlix操作系统

​源代码请在https://github.com/ifreecoding/MbedRtos.git下载第5节发布Wanlix操作系统经过前面3.1~3.3节循序渐进的开发,我们已经使Wanlix操作系统具备了最基本的任务切换功能,并在3.4节使用Wanlix开发了一个交通红绿灯控制系统,到此为

2017-06-29 22:35:50 654 1

原创 第3章第4节 使用Wanlix编写交通红…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第4节使用Wanlix编写交通红绿灯控制系统至此我们已经实现了一个非常简单、小巧的操作系统——Wanlix,简单到它只具备任务切换这一项任务管理功能,而且需要用户自己主动切换,实时性较差。但无

2017-06-29 22:35:47 444

原创 第3章第3节 用户代码入口——根任务…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节用户代码入口——根任务经过上节的修改,Wanlix操作系统可以建立任意多个任务,但是在操作系统运行之前必须得先建立一个任务,然后再调用WLX_TaskStart函数从非操作系统状态切换到

2017-06-29 22:35:45 466

原创 第3章第2节 任意任务间的切换

源代码请在https://github.com/ifreecoding/MbedRtos.git下载第2节任意任务间的切换上一节我们使用2个固定的任务验证了操作系统任务切换的功能,但这些代码并不具有通用性,如果要扩充其它任务,就必须修改操作系统函数,这显然是不可接受的。操作系统作为独立于用户

2017-06-29 22:35:42 458 1

原创 第3章第1节 两个固定任务之间的切…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节两个固定任务之间的切换程序的执行只与指令和数据相关,指令是不可修改的,编译后就确定了,能改变的只有数据,但指令需要对数据进行判断,走不同的指令分支,因此,如果我们需要控制程序的执行过程,

2017-06-29 22:35:39 618

原创 第3章 Wanlix操作系统

源码请在https://github.com/ifreecoding/MbedRtos.git下载第3 章Wanlix操作系统有了前面章节的铺垫,本章开始正式编写操作系统!本章将实现Wanlix操作系统,从零起步,先实现2个固定任务的互相切换来验证操作系统的切换功能,然后再不断的加入新功能,由浅入深,一步步将操作系统充实起来。每一个功能的加入都是一个独立的阶段性,读者可以通

2017-06-29 22:35:37 500

原创 第2章第5节 Wanlix的开发环境

源码请在https://github.com/ifreecoding/MbedRtos.git下载第5节Wanlix的开发环境芯片使用的是ADI公司的Aduc7024,前面已经做过一些介绍。软件开发环境使用的是KeilMDK4.20。Keil是德国软件公司Keil(现已被ARM公司收购)开发的嵌入式系统开发平台,Keil开发平台支持许多厂家的芯片,提供基本的最小软件系统,

2017-06-29 22:35:34 350

原创 第2章第4节 Wanlix的文件组织结构

源码请在https://github.com/ifreecoding/MbedRtos.git下载第4节Wanlix的文件组织结构说起写软件,还是比较容易入门的,现在电脑这么普及,随便找本软件的书籍就可以在电脑上编程了,实现一些功能,但这仅仅是编写软件的最初级阶段,一部分人可能一辈子只会停留在这个阶段,全局变量满天飞,函数没有层次结构,文件关系混乱。能够发展下去,能够编出满足功

2017-06-29 22:35:31 365

原创 第2章第3节 ARM7芯片的函数调用标…

源码请在https://github.com/ifreecoding/MbedRtos.git下载第3节ARM7芯片的函数调用标准在上节,我们最后用汇编语言写了一个函数,但该函数没有入口参数,那么C语言函数、汇编函数之间是如何传递参数和返回值的?函数在执行过程中是如何使用栈的?它们需要遵守什么规则?本节我们将介绍这方面的内容。如果我们不是在编写操作系统,只是编写正常

2017-06-29 22:35:28 435

原创 第2章第2节 ARM7汇编语言简介

源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节ARM7汇编语言简介ARM7芯片有2种汇编语言指令集,一种叫做ARM指令集,字长为32bits,另一种叫THUMB指令集,字长为16bits。这两种指令集各有优缺点,它们可以单独使用也可以混合在一起使用,在ARM7芯片上,我们将只使用ARM指令集,在后续的Cortex芯片上

2017-06-29 22:35:25 1294 1

原创 第2章第1节 ARM7芯片基本结构

源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节ARM7芯片基本结构ARM7芯片构架比较简单,32bits线性地址空间统一排列,任何地址都是唯一的,不同的片上资源及外设被分配到不同的地址空间,不同数据结构的指针固定为4字节长度,这相对51芯片来说方便很多也清晰很多,从用户编程的角度来看入手比较简单,因此本手册首先选用

2017-06-29 22:35:23 726

原创 第2章 写操作系统前的预备知识

源码请在https://github.com/ifreecoding/MbedRtos.git下载第2 章写操作系统前的预备知识通过前面章节的介绍我们对操作系统有了初步的了解,但这也只是停留在概念阶段,这些知识对于写一个操作系统来说是远远不够的。从现在的章节开始,我们将从无到有,一步一步一个功能一个功能的写出操作系统。本章我们就先了解一下写操作系统所需要的知识,会涉及到一

2017-06-29 22:35:20 420

原创 第1章第2节 操作系统的分类

源码请在https://github.com/ifreecoding/MbedRtos.git下载第2节操作系统的分类操作系统是管理整个软硬件系统的软件系统,从不同的角度操作系统可以有很多种划分,比如按与用户对话的界面分类可分为命令行界面操作系统和图形用户界面操作系统,按支持用户数的多少可以分为单用户和多用户操作系统,按功能可以分为嵌入式操作系统和PC机通用操作系统,按调度的

2017-06-29 22:35:17 667 1

原创 第1章第1节 为什么要使用操作系统

源码请在https://github.com/ifreecoding/MbedRtos.git下载第1节为什么要使用操作系统在没有操作系统的情况下,C语言是以函数为单位实现功能的,一个函数一个函数串行的执行,一个完整的功能会由多个函数共同完成。然而当软件系统的功能变得多而庞大的时候,这种方法几乎无法使用,因为此时各个功能之间必然会有千丝万缕的联系,不可能依次串行的完成每个

2017-06-29 22:35:14 716

原创 第1章 操作系统基础知识

源码请在https://github.com/ifreecoding/MbedRtos.git下载第 1 章操作系统基础知识有很多嵌入式系统设备的资源非常少,几十K的ROM,几K的RAM,这种小系统设备上的软件功能也非常简单,软件只要按照设定好的功能周而复始的运行就可以了。这种小系统设备不需要操作系统,也几乎没有合适的操作系统能运行在资源如此少的设备上。当芯片资源越来越丰富,

2017-06-29 22:35:12 436

原创 前言

源码请在https://github.com/ifreecoding/MbedRtos.git下载前言目前我所见的绝大部分介绍操作系统的书籍只是从应用的角度告诉读者应该如何使用操作系统,而且相当一部分书籍只是把原有的用户手册整理了一下便出书了,这样的书籍只能当做一本使用手册去查,从学习的角度来说意义不大,一不介绍实现背景、原理,二不介绍应用例子,无法让读者深刻体会操作系统的用法。

2017-06-29 22:35:09 489 1

原创 底层工作者手册之嵌入式操作系统内…

源码请在https://github.com/ifreecoding/MbedRtos.git下载我在写本手册前没有任何有关操作系统内核的知识,有的仅仅是简单的使用过2个操作系统的经验,也仅限于对操作系统应用层一些功能的简单了解。我在写操作系统内核时也只能从这些应用经验出发,参考一些资料,更多的是自己想办法用最顺其自然的代码实现操作系统的这些内核功能。因此,你要相信,既然我能在

2017-06-29 22:35:06 1379 1

NIST CCM和GCM标准

nistspecialpublication800-38c.pdf,CCM标准 nistspecialpublication800-38d.pdf,GCM标准

2022-09-28

Video for Linux Two API Specification.pdf

在https://www.linuxtv.org/下载的,整理成pdf文档,2009年2.6.32版本,不是2006年Draft 0.12

2021-05-07

底层开发者手册之C语言基础及项目开发2.4.5

将《底层工作者手册之C语言基础及项目开发》改名为《底层开发者手册之C语言基础及项目开发》,并做了一些修改,更新到2.4.5节。不过其中有一些章节还没有写完。先凑合看吧   《C》这本手册是《底层开发者手册》系列的第二本,但它却是我第一个开始写的,早在2008年年底时我就开始着手写这本手册,但写了没多久就因为发生了一个意外而终止了。在2010年年初的时候我开始了第四本手册的写作——嵌入式操作系统内核,目前已接近完工状态(我的博客可以下载,blog.sina.com.cn/ifreecoding),现在我又回过头来重新写《C》这本手册,将会采用与《嵌》一样的方式,写一部分就在网上发布一部分,在这同时我又在收集第一本和第三本手册的材料,准备将这4本手册同时写完,使读者可以按照顺序阅读这4本手册,层层深入底层开发者的工作。   一个良好的C语言基础是编写嵌入式设备底层代码的必要条件,如今介绍C语言的书不少,介绍嵌入式C的书也不少,但几乎没有结合实际项目来介绍C语言的,看完这样的书,C语言会用了,但做出来的产品只能称之为中国校园式产品,为求实现功能不择手段,根本不适合在项目中使用。另有一些自称C语言精华的书或网上的面试宝典,尽是讲一些偏题怪题,这可能满足了作者的虚荣心,但却在将新手引向一个错误的方向。当然,仁者见仁智者见智,这仅是我个人的观点,也一定会被他人所反驳的,正是出现百家争鸣的局面社会才能进步。   本手册分为2部分,第一部分介绍C语言基础,在介绍C基础时会结合嵌入式中的应用加以介绍,将重点介绍在项目开发中有用的内容,对于过分追求技术但又没有什么实际用处的内容不做过多的介绍,对于这些内容最多会提一下,让读者知道有这种情况存在。第二部分介绍项目开发,从项目需求、分析、设计、编码、测试、维护的角度来介绍编写代码。记住,编码只是项目中的一个部分,在中国校园式产品中这可能几乎就是全部了,但在一个可以称之为产品的项目中,它只是一部分,并且项目越大它所占的比重越小。   我在看书学习新知识时,希望看到的是那些写的多一些详细一些,也就是废话多一些的书,可以傻瓜式的一步步跟下来,不希望看到那些对关键之处一笔带过还故作高深的书,所以本手册就以废话多为原则,可能会写的罗嗦一些,只求能看的明白一些。当然,本人知识水平有限,有些知识会有理解上的错误,或者有未触及的地方,错误一定是有的,就像做产品一样,不可能没有错误。我写本手册的目的在于分享我的知识,注重实际应用,这对某一论坛上的某些只会空谈经验、分析汉字语法的理想C语言文艺专家们来说可能会不屑一顾。如有问题,请登录我的博客blog.sina.com.cn/ifreecoding反馈,我虚心接受,但我拒绝那些假大空的为了批评而批评的建议。我们做项目不是写论文,是实实在在的东西!   为新手写一本介绍C语言的书很难,因为它牵涉到非常多的知识作为基础,其中的一些知识很可能需要使用另外几本书的篇幅来介绍,而且知识是耦合在一起的,在介绍前面的时候会涉及到后面的知识,对于新手来说,没有对C形成一个全貌,无法理解。因此给新手的建议是只能多看几遍,第一遍大致看看,掌握全貌,不要细读,然后再多读几遍,仔细分析各种问题,并结合例子,自己动手编程,调试,这个过程非常重要,一定要自己动手编程,光看是没有用的,只有自己动手解决了问题,才能从根本上理解问题。 C语言入门可能会比较容易,但不要指望几个月时间就能熟练掌握C语言,如果做底层编码的话则需要以年为单位来衡量。

2013-08-06

C语言字节对齐

本文档从硬件角度讲述产生字节对齐的根本原因,并对字节对齐的多种情况作了较为详细的说明,并对字节对齐产生的一些影响做了说明

2013-06-27

在STM32F103上编写一个俄罗斯方块游戏

我手边有一块STM32F103VB 的板子,在这个板子上有一个LCD 显示屏和5 个按键,正好可以用来做俄罗斯方块这个游戏。共享全部源代码

2012-05-22

相对跳转指令和绝对跳转指令的特殊用法

当程序的编译地址与运行地址不一致时,使用相对跳转指令和绝对跳转指令就需要注意了,本文档将讲述其中原因。

2012-05-22

破坏STM32中断机制引发的异常

我将一个具有实时任务切换功能的小型嵌入式操作系统内核成功的从具有ARM7内核的ADUC7024芯片移植到了具有cortex内核的LM3S8962芯片,然而在移植到同样具有cortex内核的STM32F103VB芯片上却出了问题,程序运行一段时间就跑飞,最终查明是任务切换过程破坏了cortex内核的中断机制所致,但为何同样采用了cortex内核的LM3S8962芯片却没有出现该问题?本文将向你讲述这其中的原因,同时你还可以了解到操作系统任务切换的基本原理以及cortex中断方面的一些知识。

2012-05-22

教你如何找到导致程序跑飞的指令

调试嵌入式程序时,你是否遇到过程序跑飞最终导致硬件异常中断的问题?遇到这种问题是否感觉比较难定位?不知道问题出在哪里,没有办法跟踪?尤其是当别人的程序踩了自己的内存,那就只能哭了:(

2012-05-22

导致STM32芯片指令速度变化的问题分析过程

过年那几天将一份代码从TI 的LM3S8962 芯片移植到ST 的STM32F103VB 芯片上,结果发现了STM32 芯片指令速度会发生变化,本文将讲述这个问题的定位过程,从中你可以看到作者根据问题的现象结合已有的知识,2 次否定了出问题的地方,但随着逐步缩小定位范围,认真分析现象,最终还是找回到了出问题的地方,并与网友讨论后,查找芯片手册找到了问题的原因。本文的重点不在于介绍这个问题,而是在于介绍定位这个问题的思路以及过程,很多问题通过仔细分析是可以找到原因的。

2012-05-22

C语言浮点数运算

有些C语言书上说float型的有效位数是6~7位,为什么不是6位或者7位?而是一个变化的6~7位? 浮点数在内存中是如何存放的? float浮点数要比同为4字节的int定点数表示的范围大的多,那么是否可以使用浮点数替代定点数? 为什么float型浮点数9.87654321 > 9.87654322不成立?为何10.2 - 9的结果不是1.2,而是1.1999998?为何987654321 + 987.654322的结果不是987655308.654322? 如何才能精确比较浮点数真实的大小? 看完本文档,你将会得到答案!

2012-05-22

底层工作者手册之嵌入式操作系统内核5.3

Mindows操作系统更新5.1~5.3节,将wanlix从ARM7内核移植到cortex内核,更多资料请登陆www.ifreecoding.com下载。 前面基础知识介绍完毕,本节开始真刀真枪的移植代码了。本节将Wanlix3.3节的代码从ARM7内核移植到TI和ST的cortex内核的芯片上,移植完成后通过串口打印可以看到移植的效果。 如果你有STM32的板子,现在就可以跑! /***************************************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /***************************************************************************/

2012-02-18

底层工作者手册之嵌入式操作系统内核4.10

Mindows操作系统更新到4.10节,增加队列功能,更多资料请登陆www.ifreecoding.com下载。 本节将完善队列功能,使队列也具有触发系统任务调度的功能,用户可以使用队列来传递消息、同步事件。至此,Mindows操作系统将提供操作系统最基本的任务调度功能、信号量功能和队列功能。 /***************************************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /***************************************************************************/

2011-12-22

[删除] 底层工作者手册之嵌入式操作系统内核4.9

Mindows操作系统更新到4.9节,增加互斥信号量功能,更多资料请登陆www.ifreecoding.com下载。 前面2节我们实现了二进制信号量和计数信号量,本节我们将实现最后一种信号量——互斥信号量。互斥信号量与二进制信号量一样也只有空满两种状态,但互斥信号量要比二进制更复杂,具有更多的功能。 /***************************************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /***************************************************************************/

2011-12-12

从ARM汇编指令机器码解释一些问题

为什么MOV R0, #0x12345678这条指令无法编译,而MOV R0, #0x678却可以编译通过? 为什么芯片会有立即数寻址,寄存器寻址,间接寻址等多种寻址方式?一种寻址方式不可以么。 为什么B跳转指令只能跳转到±32MBytes的范围内? 下面,我们一起来看看ARM7的指令格式,从指令格式中找出这些问题的答案

2011-12-07

底层工作者手册之嵌入式操作系统内核4.8

Mindows操作系统更新到4.8节,增加计数信号量功能

2011-12-07

底层工作者手册之嵌入式操作系统内核4.7

Mindows操作系统更新到4.7节,增加二进制信号量功能,更多资料请登陆www.ifreecoding.com下载。 某些资源在同一时刻只可以被一个任务操作,实时操作系统的任务抢占特性会导致这些资源可能被多个任务同时操作,从而产生错误。从本节将讲述二进制信号量的原理,可以利用二进制信号量保护这些资源,使多个任务只能串行的操作这些资源。 /***************************************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /***************************************************************************/

2011-11-17

底层工作者手册之嵌入式操作系统内核4.6

Mindows操作系统更新到4.6节,增加任务自结束功能,更多资料请登陆www.ifreecoding.com下载。 上节增加了删除任务的函数MDS_TaskDelete,任务可以调用该函数结束其它任务或自身任务的运行。在前面章节我们说过,目前任务还不具备自结束功能,需要使用类似while的结构循环运行。本节我们将增加任务自结束功能,在创建任务时不再受任何限制。 /**********************************************************/ Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料 /**********************************************************/

2011-11-06

底层工作者手册之嵌入式操作系统内核4.5

Mindows操作系统更新到4.5节,增加任务创建和任务删除钩子函数,更多资料请登陆www.ifreecoding.com下载。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-10-31

底层工作者手册之嵌入式操作系统内核4.4

Mindows操作系统更新到4.4节看,增加任务任务切换钩子功能,更多资料请登陆www.ifreecoding.com下载。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-10-25

底层工作者手册之嵌入式操作系统内核4.3

Mindows更新到4.3节看,增加任务的delay状态,更多资料请登陆www.ifreecoding.com下载。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核

2011-10-21

底层工作者手册之嵌入式操作系统内核(Mindows4.2)

新鲜出炉,提供源码!wanlix和mindows嵌入式操作系统 好不好,看过文档再说,我觉得,里面的很多东西是你在别的书上看不到的,包括一些ARM和CORTEX芯片的知识。 从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-10-10

底层工作者手册之嵌入式操作系统内核3(wanlix全套合集)

新鲜出炉,提供源码!wanlix和mindows嵌入式操作系统 好不好,看过文档再说,我觉得,里面的很多东西是你在别的书上看不到的,包括一些ARM和CORTEX芯片的知识。 从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-10-02

[删除] 底层工作者手册之嵌入式操作系统内核3.4

新鲜出炉,提供源码!wanlix和mindows嵌入式操作系统 好不好,看过文档再说,我觉得,里面的很多东西是你在别的书上看不到的,包括一些ARM和CORTEX芯片的知识。 从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-09-29

底层工作者手册之嵌入式操作系统内核3.3

新鲜出炉,提供源码!wanlix和mindows嵌入式操作系统 好不好,看过文档再说,我觉得,里面的很多东西是你在别的书上看不到的,包括一些ARM和CORTEX芯片的知识。 从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-09-28

底层工作者手册之嵌入式操作系统内核3.2

今天(20110927)wanlix更新到3.2节,增加多个任务切换的功能,请登陆www.ifreecoding.com下载。 新鲜出炉,提供源码!wanlix和mindows嵌入式操作系统 好不好,看过文档再说,我觉得,里面的很多东西是你在别的书上看不到的,包括一些ARM和CORTEX芯片的知识。 从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com获取更多资料

2011-09-27

wanlix mindows操作系统源码

从现在开始,本网站将陆续发布Wanlix和Mindows操作系统内核。 Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能! 请登陆www.ifreecoding.com下载

2011-09-25

底层工作者手册之嵌入式操作系统内核3.1

Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。 Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。 我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能!

2011-09-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除