Cstyle的札记,Freertos内核具体解释,第0篇

Cstyle的札记,Freertos内核具体解释,第0篇

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

    Freertos是一个硬实时内核,支持众多的微处理器架构,我们能够从它的官网(www.freertos.ort)下载它的sourcecode,同一时候也能够看出它支持了几十种的微处理器架构,这些就不罗嗦了。之所以选择研究这个,是应为窥探RTOS内核的内幕一直每个做底层软件开发者的心愿,选择过好几种RTOS但他们有的是须要收费,有的不太成熟也不够系统,有的尽管比較成熟可是系统太大不太适合研究。而freertos就不同了,它除了包括RTOS所须要的主要的东西之外最大的特点就是开源+简单而且支持了许多的MCU,而且提供了众多的demo供我们来參考,它的核心内涵仅仅有3个文件,其它的功能能够通过一些plus来逐渐丰富其内核的功能。
    Freertos眼下最新的版本号是8.0.1从其官网下载下来之后我们就能够逐渐来分析其内核的实现了。这里首先从文件夹结构開始。
+-FreeRTOS-Plus Contains Freertos+ components and demo projects. +-FreeRTOS Contains the FreeRTOS real time kernel sourcefiles and demo projects
    +-Demo      Contains the demo application projects.
        +-Common    The demo application files that are used by all the demos.
        +-Dir x     The demo application build files for port x
        +-Dir y     The demo application build files for port y

+-Source Contains the real time kernel source code.

        +-include   The core FreeRTOS kernel header files
        ¦
        +-Portable  Processor specific code.
            ¦
            +-Compiler x    All the ports supported for compiler x
            +-Compiler y    All the ports supported for compiler y
            +-MemMang       The sample heap implementations
    内核的文件夹结构如上,我们可看到它结构非常分明把内核的核心代码跟processor硬件相关的部分合理的分开,这样我们就能非常easy把Freertos移植到其它的硬件平台上去了,我们是基于atmel公司arm cortex-m3内核的MCU AT91SAM3X/A来细致研究其内核的架构和实现。它的代码在FreeRTOSv8.0.1\FreeRTOS\Demo\CORTEX_ATSAM3X_Atmel_Studio文件夹下,我们双击project根文件夹下的批处理他就能自己主动把须要的代码复制到我们的project根文件夹下的相关文件夹下,然后使用SI来建立工程读代码了,或者使用Ateml官方提供的ateml studio工具来打开工程文件来编译工程,可是要注意的是它编译的时候会报一个错误,这个是正常的,仅仅是一个善意的提醒,我们凝视掉报错的地方即可了。
    乍一看,似乎内核代码非常多,事实上真正必须的最小的系统须要的文件非常少,必备的文件例如以下:
1.tasks.cqueue.c and list.c 必须的
2. timers.c  implement software timer  可选
3. andcroutine.c  implement  co-routine functionality 可选
4. heap_x.c  必须,MemMang文件夹以下的文件,提供了内存管理的功能,建议用户自己实现,同一时候内核提供了3个參考方案,客户能够使用我们的开发工具里面自带的mollac库或者自己实现。
5.针对我们选择的MCU这里还须要有其它的一些HW相关的东西,比方CMSIS针对某个特定的开发工具的相关配置文件,如makfile,配置文件等。支持差点儿我们知道的全部的开发工具:IAR,MDK,GCC等。

    
    
转载请注明出处
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118504.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Arduino智能小车——循迹篇

    Arduino智能小车——循迹篇Arduino智能小车——循迹篇  相信大家都在网上看到过类似下图这样的餐厅服务机器人,或者仓库搬运机器人,但是你们有没有注意到图片中地上的那条黑线?没错,他们都是沿着这条黑线来行进的,在这一篇将教大家怎么用小车实现类似的循迹功能。准备材料循迹模块  在此我们使用循迹模块TCRT5000,该模块体积小,灵敏度较高,还可以通过转动上面的电位器来调节检测范围。

    2022年6月3日
    59
  • HelixServe搭建局域网流媒体服务器

    HelixServe搭建局域网流媒体服务器查了两天资料,有了些眉目,在成功搭建数次之后把这篇博客补上    但成功搭建并不是一蹴而就的,从开始的一脸懵逼,到中途的困难频繁造访几欲放弃打算转向研究其他实现方式,再到最后的豁然开朗,真应了秀娟说的那句话:    学习的乐趣就在于前期为伊消得人憔悴的酝酿,在于中期一知半解的朦胧,在于后期柳暗花明的顿悟。    不多说了,感谢自己挺过来了,坚持下来,尝到了胜利的喜悦…

    2022年6月6日
    160
  • sit、qas、dev、pet「建议收藏」

    sit、qas、dev、pet「建议收藏」SIT:SystemIntegrateTest系统整合测试QAS:QualityAssurancesystem质量保证DEV:Development开发PET:PerformanceEvaluationTest性能测试

    2022年6月28日
    34
  • 西班牙语dele等级_西班牙语DELE考试分几个等级?难度如何 ?

    西班牙语dele等级_西班牙语DELE考试分几个等级?难度如何 ?原标题:西班牙语DELE考试分几个等级?难度如何?什么是西班牙语DELE考试?DELE考试有什么用?分多少个等级?难度呢?DELE基础常识介绍:据介绍,西班牙语DELE考试西班牙语的全称DiplomasdeEspa?olComoLenguaExtranjera,分别取了4个单词的首字母,所以是DELE,中文官方翻译是:作为一门外语的西班牙语水平考试,你也可以简单理解成一个国际承认的西班…

    2022年5月29日
    36
  • 白话经典算法系列之六 高速排序 高速搞定

    白话经典算法系列之六 高速排序 高速搞定

    2021年12月6日
    34
  • php-curl_宝塔php开启curl扩展

    php-curl_宝塔php开启curl扩展1.开启curl扩展的前提是已配置好PHP与apache,能正常运行2.首先打开php.ini文件,找到extention=php_curl.dll,去掉前面的分号3.确定php扩展目录ext文件夹下有php_curl.dll文件4.在Apache的配置文件http.conf中添加以下内容:LoadFileD:/qizhuyun/php5.4/php5ts.dllLoadFi

    2022年8月30日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号