
实时操作系统
eCos,FreeRTOS,Zephyr
半斗米
嵌入式系统设计师 & 电子工程师
展开
-
eCos编译Synthethic Target程序时无法解析__sprintf_chk的解决办法
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/10615853官方已解决此问题:详见:http://hg-pub.ecoscentric.com/ecos/rev/a1df75458e13问题描述:在Xubuntu 12.04下编译eCos Sy...原创 2020-12-07 15:09:20 · 4091 阅读 · 0 评论 -
解决eCos系统的lwIP存在的bug,该bug导致TCP重发失效,最终导致TCP拒绝服务
跑 eCos + lwIP 的设备作为 TCP 服务器,在网络不繁忙不丢包的情况下,一切正常,在网络繁忙会出现丢包的情况下,重试几次后 TCP 拒绝服务(对 SYN 包都不会有任何响应, ping 功能可能正常也可能无响应),其它任务正常。原因是少了一个定时器,TCP 超时处理需要定时器。原创 2020-11-21 18:53:31 · 2020 阅读 · 2 评论 -
从源码生成 Zephyr 文档
生成的过程大约需要10分钟。pdf 格式的文档生成失败,html 格式的文档生成成功。原创 2019-05-09 11:06:03 · 1047 阅读 · 0 评论 -
Protothreads 和 FreeRTOS Coroutine 的对比
Protothreads 和 FreeRTOS Coroutine 都实现了协程(Coroutine),但在实现的具体细节上是有很大的区别的,这里做个对比,以便做选择。原创 2019-05-08 11:53:11 · 1426 阅读 · 0 评论 -
Ubuntu 16.04 配置 zephyr 1.14 开发环境
Ubuntu 16.04 环境下配置 zephyr 1.4 开发环境,主要参考官方文档,解决部分依赖包的版本太低的问题。原创 2019-04-28 10:47:49 · 1423 阅读 · 1 评论 -
eCos移植到Cortex-M7执行swi 0导致异常
mingdu.zheng at gmail dot com http://blog.csdn.net/zoomdy/article/details/78623283问题描述eCos移植到Cortex-M7后,每次运行到hal_reset_vsr函数的swi指令就会产生异常(IACCVIOL),连接仿真器进行单步调试则没有问题。解决办法在hal_reset_vsr函数的sw...原创 2017-11-24 12:52:37 · 754 阅读 · 0 评论 -
学习FreeRTOS(2):初始化阶段的中断状态
学习FreeRTOS(2):初始化阶段的中断状态分析FreeRTOS的Cortex-M4F移植版(portable/GCC/ARM_CM4F)在初始化阶段CPU中断状态的变化。复位后中断默认处于开启状态,当创建第一个任务时中断被关闭,开启调度器时重新开启中断。总体上也适用于其它Cortex-M,部分细节可能略有差别。http://blog.csdn.net/zoomdy/article/d...原创 2017-01-29 22:16:59 · 3819 阅读 · 0 评论 -
学习FreeRTOS(1):实验环境
学习FreeRTOS(1):实验环境FreeRTOS实验环境:指导手册《Mastering the FreeRTOS Real Time Kernel A Hands-On Tutorial Guide》;开发板NUCLEO-F303K8;代码生成器STM32CubeMX;集成开发环境TrueSTUDIO。http://blog.csdn.net/zoomdy/article/detail...原创 2017-01-29 09:50:37 · 1187 阅读 · 0 评论 -
学习FreeRTOS(3):两种中断
学习FreeRTOS(3):两种中断典型情况下,程序进入临界区将关闭所有中断。FreeRTOS则提供了一种机制,在进入临界区时仅关闭部分中断,另一部分中断可以继续响应。这种机制让系统享有多任务特性的同时保证极高的实时性。http://blog.csdn.net/zoomdy/article/details/50659822 mingdu.zheng at gmail dot com...原创 2016-02-21 10:03:53 · 7586 阅读 · 1 评论 -
eCosBox使用说明(1)——快速入门
下载运行eCosBox,并开始调试第一个eCos示例应用——星星点灯原创 2015-05-17 09:38:02 · 3530 阅读 · 0 评论 -
eCos入门开发环境eCosBox简介
eCosBox是集成了eCos开发所需的所有开发工具及源代码的虚拟机映像。eCosBox的基本目标是为eCos初学者提供一个简单便捷的入门途径,同时也可以作为一般的eCos开发环境使用。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。http://blog.csdn.n...原创 2015-05-17 07:56:58 · 11525 阅读 · 0 评论 -
eCosBox搭建过程
这里记录了eCosBox的搭建过程,一方面做个记录免得自己忘记,另一方面给需要自己搭建eCos开发环境的同学做个参考。如果对VirtualBox不熟,请下载已经创建好的虚拟机映像,请阅读《eCosBox使用说明(1)——快速入门》eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940...原创 2015-05-17 07:55:10 · 2511 阅读 · 0 评论 -
eCosBox文档集
简介eCos入门开发环境eCosBox简介使用说明eCosBox使用说明(1)——快速入门推荐阅读《嵌入式可配置实时操作系统eCos软件开发》京东当当 《嵌入式可配置实时操作系统eCos开发与应用(第2版)》京东当当 《嵌入式系统编程:使用C和GNU开发工具(第2版)》京东当当更多内容eCosBox搭建过程...原创 2015-05-10 15:31:14 · 1521 阅读 · 0 评论 -
Cygwin环境使用第三方ARMGCC编译eCos系统
第三方ARMGCC通常是基于Mingw32的,使用的是Windows路径,如C:\ecos\packages\infra\current\src\startup.cxx;而eCos配置工具生成的Makefile是基于Cygwin的,使用的是POSIX路径,如/cygdrive/c/packages/infra/current/src/startup.cxx。路径格式上的差别导致不能直接使用第三方A...原创 2014-09-25 16:28:38 · 2640 阅读 · 2 评论 -
eCos系统无法正确链接到在C++源文件中自定义的cyg_user_start函数的问题和解决办法
在C++源文件中定义cyg_user_start函数前,将其声明成C函数,即可解决问题。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。http://blog.csdn.net/zoomdy/article/details/39396085mingdu.zheng&...原创 2014-09-19 11:39:36 · 1417 阅读 · 0 评论 -
eCos仿真目标机(eCos Linux Synthetic Target)
eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。原文:http://ecos.sourceware.org/docs-latest/ref/hal-synth-arch.html译文:http://write.blog.csdn.net/postedit/1712396...翻译 2014-03-15 18:32:54 · 1408 阅读 · 0 评论 -
I/O辅助进程用户界面——控制I/O辅助进程
eCos是功能完备的开源实时操作系统,eCos提供的仿真目标机可以将eCos系统作为Linux下的进程执行,这为学习和开发eCos都提供了便捷。本文是eCos参考手册仿真目标机部分的第4节,其它章节在这里。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。原文:http...翻译 2014-03-15 18:30:20 · 1766 阅读 · 0 评论 -
在Windows 7下配置eCos开发环境的问题和解决方法
在Windows 7系统下配置eCos开发环境时碰到一些问题,权限的问题和fork的问题,这里总结一下解决方法以便需要的朋友参考。我的环境是Windows 7 SP1,64位,中文,旗舰版,Cygwin-1.7.28 32位,eCos配置工具ecos-tools-bin-120425.cygwin.tar.bz2,GCC编译器ecoscentric-gnutools-arm-eabi-200812...原创 2014-03-01 10:32:37 · 3140 阅读 · 0 评论 -
支持Cortex-M处理器的objloader组件
objloader是eCos系统提供的用于支持模块动态加载的组件,经过移植后,现已支持Cortex-M处理器架构。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。http://blog.csdn.net/zoomdy/article/details/20200355m...原创 2014-03-01 09:41:35 · 2037 阅读 · 0 评论 -
eCos模块动态加载支持——objloader组件
eCos包含了2个用于模块动态加载的组件,一个叫loader,另一个叫objloader。loader出现比较早,在2000年的时候由eCos的开发团队添加到eCos系统中,loader的实现原理与应用程序的动态链接库(.so,.dll)是一样的,动态链接库的实现需要编译器的支持,通常情况下只有为Linux等系统准备的编译器才支持动态链接库编译,eCos使用的编译器大多数是不支持动态链接库的。ob...原创 2014-02-23 18:02:09 · 3170 阅读 · 0 评论 -
eCos系统的lwIP驱动及lpc2xxx网卡驱动bug的解决办法
eCos系统的lwIP驱动存在一个bug,该bug导致用于数据发送同步的信号量计数值不断增长,当超出32位整数所能表示的最大值时将会从0xffffffff回滚到0,这时可能会导致lwIP协议栈核心线程永久挂起。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www.52ecos.neteCos交流QQ群:144940146。http:/...原创 2014-02-22 10:32:32 · 2879 阅读 · 0 评论 -
内核——eCos内核概览
转载自:http://blog.csdn.net/bakiya/article/details/2329124,原文是对eCos参考手册内核简介部分的翻译,英文原文:http://ecos.sourceware.org/docs-latest/ref/kernel-overview.html。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http:/...转载 2014-02-15 20:58:49 · 2026 阅读 · 0 评论 -
eCos系统的VSR支持(VSR Support)
eCos系统为应用开发人员提供了抽象的中断处理机制,在这种抽象机制的帮助下,应用开发人员不需要知道特定硬件架构的中断机制就可以编写中断处理函数(ISR),但是这种机制会增加中断延迟,如果某个中断的实时性要求非常高,eCos可以提供替换掉这种机制直接处理中断从而最小化中断延迟的解决办法。eCos官网:http://ecos.sourceware.orgeCos中文技术网:http://www...翻译 2014-02-15 20:30:19 · 1649 阅读 · 0 评论 -
eCos中的同步原语简要
eCos提供的同步原语包括信号量、互斥量、条件变量、事件标志、邮箱以及消息队列。每种同步原语都有特别之处,不同的同步原语满足了应用对不同的线程间同步和消息传递需求。eCos官网http://ecos.sourceware.org,eCos中文技术网http://www.52ecos.net,eCos交流QQ群144940146。mingdu.zheng<at>gmail<...原创 2014-02-15 19:29:51 · 2067 阅读 · 0 评论 -
J-Link仿真Cortex-M架构eCos停留在swi 0的解决办法
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/17590097解决办法下载完程序之后在GDB中输入monitor reset对MCU进行复位即可解决问题,查看J-Link GDB Server的输出窗口是否有Resetting target字样,只有出现该字样...原创 2013-12-26 19:48:40 · 2307 阅读 · 1 评论 -
为仿真器添加eCos多线程调试支持,GDBServer Extender 0.0.1 使用说明
可以使用RedBoot或者仿真器调试eCos系统,RedBoot集成的GDBStubs已经支持eCos的多线程调试,使用GDB命令info threads就可以读取当前的线程状态。但是使用仿真器时,由于仿真器不是专门针对eCos设计,因此通常不提供eCos系统多线程调试支持。为了在使用仿真器的情况下也能获得eCos系统多线程调试支持,zoomdy编写了GDBServer Extender工具来扩展...原创 2013-12-26 19:25:38 · 1966 阅读 · 0 评论 -
eCos仿真目标机(3)――运行eCos应用
原文:http://ecos.sourceware.org/docs-latest/ref/synth-running.html译文:http://blog.csdn.net/zoomdy/article/details/17306519mingdu.zheng <at> gmail <dot> com关键词执行――参数和配置文件。描述为仿真目标机配置和...翻译 2013-12-13 19:14:53 · 1808 阅读 · 0 评论 -
eCos仿真目标机(2)――安装
原文:http://ecos.sourceware.org/docs-latest/ref/synth-install.html译文:http://blog.csdn.net/zoomdy/article/details/17147519mingdu.zheng <at> gmail <dot> com安装――准备使用仿真目标机(Synthetic target)。...翻译 2013-12-05 19:27:31 · 1593 阅读 · 0 评论 -
eCos Synthetic(仿真目标机)实践系列
eCos Synthetic实践(一)——Hello World! eCos Synthetic实践(二)——简单外设 eCos Synthetic实践(三)——I/O辅助进程 eCos Synthetic实践(四)——网络和VNC服务器...原创 2013-12-03 20:06:44 · 1381 阅读 · 0 评论 -
制作RedBoot启动光盘以及下载调试eCos应用
eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos官网http://ecos.sourceware.org,eCos技术网http://www.52ecos.net,eCos技术网QQ群144940146。http://blog.csdn.net/zoomdy/article/details/17099953...原创 2013-12-03 19:25:36 · 1970 阅读 · 0 评论 -
eCos系统CPU负载测量
原文:http://ecos.sourceware.org/docs-latest/ref/services-cpuload.html译文:http://blog.csdn.net/zoomdy/article/details/17078995mingdu.zheng <at> gmail <dot> comcpuload组件包提供了一种估算CPU负载的方式。它可以...翻译 2013-12-02 19:40:36 · 2290 阅读 · 0 评论 -
获取eCos堆栈使用情况
本文介绍如何获得eCos系统的线程堆栈和中断堆栈使用情况。eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos官网http://ecos.sourceware.org,eCos技术网http://www.52ecos.net,eCos技术网QQ群144940146。mingdu.zheng <at>...原创 2013-11-26 19:59:23 · 2432 阅读 · 0 评论 -
使用nm分析eCos应用的内存使用情况
eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos官网http://ecos.sourceware.org,eCos技术网http://www.52ecos.net,eCos技术网QQ群144940146。mingdu.zheng <at> gmail <dot> comhttp:...原创 2013-11-21 19:34:54 · 2154 阅读 · 0 评论 -
eCos中断响应详解,基于Cortex-M架构
本文阐述eCos在Cortex-M架构中的中断响应过程。eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。官网http://ecos.sourceware.org,中文专业论坛http://www.52ecos.net。mingdu.zheng <at> gmail <dot> comhttp...原创 2013-11-18 17:55:04 · 5191 阅读 · 1 评论 -
嵌入式可配置实时操作系统eCos
eCos是为嵌入式应用设计的无版税开放源代码的实时操作系统。eCos的高度可配置性,允许对操作系统进行定制,以精确地匹配应用需求,提供最佳运行时性能和最少硬件资源占用。一个欣欣向荣的网络社区已经围绕eCos成长起来,可以确保持续的技术创新和广泛的平台支持。——eCos官网对eCos的介绍mingdu.zheng <at> gmail <dot> comhttp://...原创 2013-11-05 19:43:53 · 10061 阅读 · 1 评论 -
使用eCos图形化配置工具管理eCos应用程序
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/12908559思路eCos图形化配置工具可以说是eCos的核心和亮点之一。图形化配置工具为开发人员提供了模板、组件管理、配置、单元测试、自动生成Makefile等功能,同时提供了非常友好的操作界面和非常便捷的配置...原创 2013-10-21 12:53:29 · 2546 阅读 · 0 评论 -
eCos启动过程详解,基于Cortex-M架构
eCos是开源免版税的抢占式实时操作系统。其最大亮点是可配置,与其配套的图形化配置工具提供组件管理、选项配置、自动化单元测试等。eCos核心组件包括硬件抽象层(HAL)、设备驱动(IO)、实时内核(两种调度算法可选)、线程安全的C库、POSIX兼容层、文件系统(FAT、JFFS2、ROMFS)、协议栈(lwIP、OpenBSD、FreeBSD)、图形系统(Nano-X)等,同时支持第三方扩展组件。...原创 2013-10-16 20:38:20 · 4656 阅读 · 0 评论 -
eCos组件初始化
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/12754709eCos组件初始化机制eCos组件初始化利用了C++静态对象实例初始化的机制。C++对象在初始化时不像C语言中的静态变量那样只是在特定的内存单元写入特定的数值,C++对象在初始化时将会调用该对象类的...原创 2013-10-15 20:30:41 · 2151 阅读 · 0 评论 -
eCos中的main函数
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/12622843eCos提供了标准的main函数支持,这给程序移植提供了便利,函数原型int main(int argc, char* argv[]);输入参数通过CYGDAT_LIBC_ARGU...原创 2013-10-11 20:07:05 · 1975 阅读 · 0 评论 -
eCos疑问——两个cyg_user_start函数
mingdu.zheng <at> gmail <dot> comhttp://blog.csdn.net/zoomdy/article/details/12622639两个cyg_user_start函数在阅读eCos代码的过程中发现整个系统定义了两个cyg_user_start函数,一个位于packages /infra /<version> ...原创 2013-10-11 19:51:22 · 2484 阅读 · 0 评论