FreeRTOS 移植到WIN10】的更多相关文章

背景 标题表述的不准确,大意是移植到WIN10的PC机,Intel I5. 最近因为项目接触了FreeRTOS 实时操作系统,想对这个操作系统有一个更深入的了解,所以决定下载源码看看,下面这个链接的随书一起的源码. FreeRTOS 源码下载链接: http://freertos.org/Documentation/RTOS_book.html 打开源码,看到它的portable/目录针对的是 "MSVC-MingW",应该在PC机上编译通过. 开发环境 嫌VS体积太大了,就用Code…
 开始这篇文章之前先简单说明一下,我使用的MCU是我们公司自主研发的ACH1180芯片,和STM32差不多,都是Cortex-M4的核,所以移植的过程参考了STM32移植的步骤. 1.解压FreeRTOSV8.2.3到本地目录(FreeRTOS的源码在官网上有,目前是9.0.0版本,据说8版本稳定,但未做考证) 2.将\FreeRTOSV8.2.3\FreeRTOS\中的Source文件夹复制到待移植的代码工程中,并且重新命名为“FreeRTOS” 3.在IAR中建立FreeRTOS的文件域,F…
参考资料:https://blog.csdn.net/u010860832/article/details/86235993 这里把移植经验记录下来,供有需要的同学参考,有不对的地方也请大家批评指正. 把FreeRTOS移植到 nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral\ble_app_uart工程,在keil上移植.本身SDK中有一个工程可以做参考:nRF5_SDK_15.3.0_59ac345\examples\ble_peripheral…
所有的单片机都是顺序执行的,而对于多任务而言就显得力不从心了,虽然在一些小项目中可以通过定时器来实现,但这种实现方式没有实时性,一旦任务需要在规定时间内做出响应,那只能通过实时操作系统来完成了.在很多实时操作系统中,FreeRTOS有这良好的移植,而且体积小,其可剪裁性和优越的实时性能无不让其成为众多实时操作系统的首选,最大的好处当然就是他的免费开源.废话不多说,下面是FreeRTOS移植到STM32上的详细步骤. 首先,下载FreeRTOS源代码,网址:https://www.freertos…
1.FreeRTOS目录结构 FreeRTOS FreeRTOS简略目录如下: ├─FreeRTOS │ ├─Demo // 各种开发工具的完整Demo,开发者可以方便的以此搭建出自己的项目,甚至直接使用 │ │ ├─Common // 所有例程都可以使用的演示例程文件 │ │ └─其他 // 对应平台和开发工具的项目例程(命名:平台_开发工具,例如:CORTEX_M4F_M0_LPC43xx_Keil) │ ├─License // 使用修改过的GPL │ └─Source // FreeRT…
现在准备的简单程序LED灯的工程目录中增加freertos文件夹: 在 source目录下的portable目录下只留下下面的文件夹: 为什么呢? 把对应文件移植在工程中之后,添加头文件路径如下图: 编译之后,报错如下: 提示少了配置文件,那么我们可以在官方demo文件目录下复制一个到我们工程中来. 这个时候需要观察一下这个config.h文件, 这里更改一点代码: 那个条件编译最后就是为了定义CLOCK_HZ的,cpu的频率根据硬件平台的不同,要做适当处理,所以我们直接把这个宏定义出来,180…
### 准备 在移植之前,我们首先要获取到FreeRTOS的官方的源码包.这里我们提供两个下载链接: > 一个是官网:http://www.freertos.org/ > 另外一个是代码托管网站:https://sourceforge.net/projects/freertos/files/FreeRTOS/ 这里我们演示如何在代码托管网站里面下载.打开网站链接之后,我们选择FreeRTOS的最新版本V9.0.0(2016年),尽管现在FreeRTOS的版本已经更新到V10.0.1了,但是我们…
1. EasyFlash Easyflash可以让 Flash 成为小型 KV 数据库(Key-Value) GitHub: https://github.com/armink/SFUD Gitee: https://gitee.com/Armink/EasyFlash 2. EasyFlash的移植 ① 使用keil添加工程并添加对应的头文件 ② 编写ef_port.c /* * This file is part of the EasyLogger Library. * * Copyrigh…
/* 官方帮助英文翻译文档参考:https://blog.csdn.net/bjr2016/article/category/7275877. */ /* 移植文档参考:https://blog.csdn.net/soga238/article/details/78180216 */ /* API接口翻译文档:https://blog.csdn.net/bjr2016/article/details/78562414 */ 更多教程:http://forum.armfly.com/forum.p…
添加FreeRTOS源码到工程中 在工程源码中创建FreeRTOS目录存放拷贝的文件 拷贝FreeRTOS->Source中的文件 可将其他不需要的文件夹全部删掉,只留3个 拷贝Demo中FreeRTOSConfig.h配置文件 放在user目录下,不然编译报错.后续将对此文件详细介绍 添加到工程中,这里也采用heap_4.c内存管理方式 添加头文件路径 修改startup代码(必须) STM32修改startup_stm32f10x_hd.s文件 SVC_Handler -> vPortSV…
http://andyhuzhill.github.io/freertos/2013/07/30/freertostransplant/ 最近在看一个实时嵌入式操作系统————FreeRTOS, 为什么看它呢?首先它是开源的,其次它的内核最小只需要三个文件 task.c.list.c.queue.c,加起来5000多行代码还有很多注释在里面.他的优点网上也有很多介绍的,我也就不多说了,感兴趣的可以去百度google一下. 源代码目录结构 从FreeRTOS的官方网站可以下载到FreeRTOS的全…
1.1    资料准备和分析 上章节通过实现双机通讯,了解如何设计和实现自定义协议,不过对于嵌入式系统来说,当然不仅仅包含协议,还有其它很多需要深入学习了解的知识,下面将列出我在工作和学习上遇到的嵌入式方向及知识点,虽然不一定全面,也基本上覆盖大部分嵌入式应用. 嵌入式RTOS(包括不限于uCos,FreeRTOS,RT-Thread)的移植和应用,以及配合的文件系统,协议栈等的移植 图像/摄像头,音/视频流和GUI/触摸等,以及依托之上的菜单管理,图像识别,视频流压缩等功能实现 通讯协议/射频…
参考文献: Understanding the FreeRTOS directory structure. 从官网下载下来的FreeRTOS源文件包,对于每一个已经移植完成的处理器,都有一个与之对应的Demo应用程序可供参考.强烈建议新手首先从Demo开始去学习如何使用FreeRTOS. 基本目录结构 针对各个处理器所做的移植,以及其对应的Demo,数目如此多的文件,全部都存放在同一个压缩文件里.这样做极大地简化了FreeRTOS的发布过程,但是面对这么多的源文件,也很可能会令新手望而生畏.其实…
    Freertos是一个硬实时内核,支持众多的微处理器架构,我们能够从它的官网(www.freertos.ort)下载它的sourcecode,同一时候也能够看出它支持了几十种的微处理器架构,这些就不罗嗦了.之所以选择研究这个,是应为窥探RTOS内核的内幕一直每个做底层软件开发者的心愿,选择过好几种RTOS但他们有的是须要收费,有的不太成熟也不够系统,有的尽管比較成熟可是系统太大不太适合研究.而freertos就不同了,它除了包括RTOS所须要的主要的东西之外最大的特点就是开源+简单而且支…
1.前言 访问一个被多任务共享,或是被任务与中断共享的资源时,需要采用”互斥”技术以保证数据在任何时候都保持一致性.这样做的目的是要确保任务从开始访问资源就具有排它性,直至这个资源又恢复到完整状态 FreeRTOS 提供了多种特性用以实现互斥,但是最好的互斥方法(如果可能的话,任何时候都当如此)还是通过精心设计应用程序,尽量不要共享资源,或者是每个资源都通过单任务访问. 2.本章内容 本章期望让读者了解以下内容: 为什么,以及在什么时候有必要进行资源管理与控制. 什么是临界区. 互斥是什么…
1.前言 最新的 FreeRTOS 移植中允许中断嵌套.中断嵌套需要在 FreeRTOSConfig.h 中设置configKERNEL_INTERRUPT_PRIORITY 和configMAX_SYSCALL_INTERRUPT_PRIORITY 2.控制中断嵌套的常量 常量 描述 configKERNEL_INTERRUPT_PRIORITY 设置系统心跳时钟的中断优先级.如 果 在 移 植 中 没 有 使 用 常 量configMAX_SYSCALL_INTERRUPT_PRIORITY…
源:分享FreeRTOS + FreeModbus + UART_RTO FREERTOS 移植学习 入门必备 正点原子官方所有开发板的FreeRTOS教程及其例程正式发布(STM32F103,STM32F407,STM32F429,STM32F767)!!…
以下教程(大部分章节)(尤其理论介绍部分)转载自安富莱电子,官网链接: http://forum.armfly.com/forum.php 然后根据安富莱的教程自己做了分析和测试,希望大家共同进步. 其中也有个别章节是正点原子和野火的教程. 提高篇开始是自己根据使用经验的原创,期间也有参考官方资料的原创.主要先使用安富莱的教程达到入门水平.有需要时还得分析源码. 目录 1.FreeRTOS——1 2.FreeRTOS基础知识 3.FreeRtos——移植 4.FreeRtos——单任务 5.Fr…
原文地址:http://www.cnblogs.com/god-of-death/p/6886823.html 注意点: 1.首先要将中断的嵌套全部设置为抢占优先级. 2.将freertos系统内核中断(configKERNEL_INTERRUPT_PRIORITY)的优先级设置成最低. 3.将freertos的最大系统调用中断优先级(configMAX_SYSCALL_INTERRUPT_PRIORITY)设置为合适的优先级,比如11. 4.如果有用户中断函数调用到freertos提供的系统函…
作为一名Windows8.x+系统平台从业者,从工作伊始,耳边不断充斥着Windows将走向没落的言论,Win10今日晚些时候即将发布,笔者借此机会,说说自己的看法. 早在2012年的时候,IDC曾预测,WP系统将在2016年超越苹果成为第二大操作系统,目前来看或将成为一笑谈,不过微软正在从Win8的一些错误中走出来,Win10这款全能跨端产品更加强大和重视用户体验.从纳德拉走访深圳华强北,到和腾讯.小米.奇虎360的联手合作,微软正放下身段,为Win10的发布做足了前戏.在今年Build 20…
背景 由于之前接触过一些嵌入式RTOS,如Keil-RTX,uCOS-II,也曾经关注过FreeRTOS,但一直没有机会采用FreeRTOS开发.目前FreeRTOS做为主流RTOS,风声正盛.作为嵌入式开发从业人员,貌似没有使用过FreeRTOS,竞争力指数会直线降低.最近,刚巧项目中使用了STM32f103芯片.由于RTOS的可以更合理.更有效地利用CPU的资源,简化应用软件的设计,缩短系统开发时间,更好地保证系统的实时性和可靠性.由于对FreeRTOS好奇的倾向性,所以,本次决定采用Fre…
内核控制的一些功能须要移植层提供,为了方便移植.这些API函数用宏来实现,比方上下文切换.进入和退出临界区.禁止和使能可屏蔽中断.内核控制函数还包含启动和停止调度器.挂起和恢复调度器以及用于低功耗模式的调整系统节拍函数. 1.强制上下文切换宏 taskYIELD:用于强制上下文切换的宏. 在中断服务程序中的等价版本号为portYIELD_FROM_ISR.这也是个宏,事实上现取决于移植层. 用于上下文切换的实际代码由移植层提供.对于Cortex-M3硬件.这个宏会引起PendSV中断. 2.进入…
转自:https://blog.csdn.net/zhzht19861011/article/details/49819109 FreeRTOS系列第1篇---为什么选择FreeRTOS? FreeRTOS系列第2篇---FreeRTOS入门指南 FreeRTOS系列第3篇---FreeRTOS移植指南 FreeRTOS系列第4篇---FreeRTOS编码标准及风格指南 FreeRTOS系列第5篇---FreeRTOS在Cortex-M3上的移植 FreeRTOS系列第6篇---FreeRTOS…
FreeRTOS系列第1篇---为什么选择FreeRTOS? 1.为什么学习RTOS? 作为基于ARM7.Cortex-M3硬件开发的嵌入式工程师,我一直反对使用RTOS.不仅因为不恰当的使用RTOS会给项目带来额外的稳定性风险,更重要的是我认为绝大多数基于ARM7.Cortex-M3硬件的项目,还没复杂到使用RTOS的地步,使用状态机就足够了. 对于现代的微处理器,特别是资源相对丰富ARM7.Cortex-M3硬件来说,RTOS占用的硬件资源已经越来越可以忽略.所以在当今环境下,我们无需担心R…
简洁.优雅.高效的C#语言,神一样的C#创始人Anders Hejlsberg,async/await编译器级异步语法,N年前就有的lambda表达式,.NET Native媲美C++的原生编译性能,新一代.NET全面开源.免费.跨平台,支持Windows.Linux.Mac,老板再也不用担心服务器授权费用了,Win10一统物联网.手机.平板.PC用户体验,兼容安卓.ios原生app快速移植到Win10平台,HoloLens黑科技全息眼镜,带来科幻级用户体验,碾压google眼镜,Unity3D…
源:http://blog.sina.com.cn/s/blog_4935209001012eax.html 网站位置:http://www.freemodbus.org/index.php?lang=cn 文档位置:http://www.freemodbus.org/api/index.html   一.介绍 Freemodbus是modbus协议在嵌入式处理器上的实现.包括AVR,PIC,WIN32等等平台.它是开放性源代码,可用于商业目的. 它实现了Modbus RTU/ASCII.TCP…
此章节涉及新手最常遇见的3种问题: 错误的中断优先级设置 栈溢出 不恰当的使用printf() 使用configASSERT()能够显著地提高生产效率,它能够捕获.识别多种类型的错误.强烈建议在开发或者调试中开启宏configASSERT(). 中断优先级 注意:这是头号需要技术支持的问题,在大多数的移植版本中通过定义configASSERT()就能够立刻捕获这个错误. 如果FreeRTOS移植版本支持中断嵌套,并且中断服务程序使用了FreeRTOS API,那么必须把中断优先级设置为confi…
visual studio 2015 正式版立即就要出来了,事实上我原来满期待微软能出一套完美的移植的ANDROID和IOS应用的技术方案,这样WIN10正式版出来后,有一套比較好的移植框架,大家能够将原来的移动应用移植到WIN10跑起来起不是更爽,假设WIN10针的能做到在移动PC和物联网统一的话,那我看微软翻身机会就有了. 在移动开发方面如今XAMARIN还是须要付费的,我到希望微软能不能买下来最起码XAMARIN专业版是自带到VS2015里的并且是免费的.这样微软推移动开发应该是比較有优势…
简洁.优雅.高效的C#语言,神一样的C#创始人Anders Hejlsberg,async/await编译器级异步语法,N年前就有的lambda表达式,.NET Native媲美C++的原生编译性能,新一代.NET全面开源.免费.跨平台,支持Windows.Linux.Mac,老板再也不用担心服务器授权费用了,Win10一统物联网.手机.平板.PC用户体验,兼容安卓.ios原生app快速移植到Win10平台,HoloLens黑科技全息眼镜,带来科幻级用户体验,碾压google眼镜,Unity3D…
花了3个晚上,把这个章节看完,受益匪浅. 最有用的应该是与中断相关的错误,优先排查中断优先级设置. 堆栈溢出检查,可能用到,一般先把堆栈设置的足够大,只要没有溢出就是好事,溢出了,掌握了栈溢出钩子函数排错很方便. printf()相关的问题应该尽量不会出现,毕竟只要需要打印调试信息的情况下才使用,而且嵌入式系统一般都是用串口重定向的. 讲真,嵌入式中printf()真的挺烦的,严重影响性能,我的开发案例中发现,串口打印会影响板子的 power save性能,这是实测到的. 此章节涉及新手最常遇见…