Project Nano-RTEMS for ARMV7M 我的想法如下:1、为 ARMV7M 平台提供一个可靠的RTOS 平台,RTEMS本身就是这么一个可靠的硬实时系统,而Cortex-M3,M4有着越来越强的处理能力,可扩展NAND和SDRAM,非常适合跑这类本身就是比较完善的系统。2、提供一个相对精简的核心,只耗 20KROM 和 10K RAM,取代 ucos 或者freeRT
[root@centos7 hello_world_c]# aarch64-rtems6-gdb o-optimize/hello.exe GNU gdb (GDB) 10.1.90.20210409-git Copyright (C) 2021 Free Software Foundation, ...
转载
2021-10-13 12:14:00
249阅读
2评论
为什么需要操作系统? 1.计算机是由CPU、内存、磁盘、显卡、声卡等许许多多设备组成的,而且这些设备的厂商众多,品种繁多,而且不同厂商生产的同种设备虽然完成同种功能,但是具体细节却存在千差万别; 2.为了正确地管理和使用这些设备来实现具体的应用,这样程序员就得了解和掌握各种设备的工作原理。而且对于同种设备,由于不同的硬件厂商在实现细节上的差异使得程序员再次陷入了复杂的硬件控
原创
2010-12-18 11:49:00
486阅读
[root@centos7 hello_world_c]# qemu-system-aarch64 -no-reboot -serial null -serial mon:stdio -net none -nographic -M xilinx-zynq-a9 -m 256M -kernel o-o ...
转载
2021-10-12 15:13:00
974阅读
2评论
RTOS有众多种,用得最火的是FreeRTOS,因为它即使用于商业途径,也是开源免费的;其次是就是uCOS-II和uCOS-III。uCOS-II用于商业途径是需要付费的,但是对于学习研究却是免费的。它们同是嵌入式实时操作系统,很多东西都是共通的,熟悉其一,其它都非难题了。常见的RTOS:1:QNX的可靠性很好,协议栈、各种外设驱动稳定,只是运行所需资源有些多,需要MMU。如果需要高可靠性应用,Q
一、RT-Thread与UCOS的简单比较任务或线程调度 RT-Thread可选优先级抢占式调度,256/32/8个优先级,线程数不限。相同优先级线程时间片轮转调度。支持动态创建/销毁线程。 Ucos优先级抢占式调度。不允许相同优先级任务存在。256个优先级,最大256个任务。 FreeRTOS优先级抢占式调度,允许存在相同优先级线程。任务数不受限制。同步/通信机制: RT-Thread支持sem
接触 RTEMS 是 2008 年下半年的事情。当时在设计一些嵌入式系统的解决方案,寻找一个好的中间件,以满足系统多方面的要求。在查阅 ACE 时发现其支持 RTEMS 系统,不了解 rtems 是什么。于是,就用 google 搜索了 RTEMS 这个关键字,发现了新大陆。 最开始是从 www.rtems.net 上学习,发现资料陈旧且疏漏较多;于是就上官方网站 www.rtems.com
原创
2011-05-19 22:49:00
1474阅读
很久没写过关于RTEMS的文章了。很多朋友最近问我,为什么选择RTEMS,不选择VxWorks,你自己学习就算了,为什么也要拉着别人搞RTEMS。这些问题略微的有一些复杂,我就专门写篇文章来作答。以前,我做商业项目都是使用FreeRTOS和uC/OS-II的, FreeRTOS和uC/OS-II都差不多,核心代码不过几千行。突出的特点是,好掌握,易上手,在较短的时间内就能上手开发。但是同时带来一个
原创
2012-07-14 09:34:00
745阅读
堆的核心操作主要有初始化、申请、释放、扩展。由于工作空间(Workspace),是供内核使用的,所以相关函数使用的全部是“_”前缀。主要操作分列如下: _Heap_Initialize,将指定的内存初始化成堆; _Heap_Allocate,从指定的堆中申请指定字节数的内存; _Heap_Allocate_ali
原创
2011-02-25 22:54:00
365阅读
对于实时操作系统,好的内存分配算法会使系统的稳定性增色不少。实际使用中,如果用户在代码的使用方法和系统内存管理算法相悖,会引起许多问题,甚至使系统变得不可靠。RTEMS提供了堆(Heap)、工作空间(Workspace)、内存区域(Region)和固定尺寸的内存分配算法(Partition)。RTEMS内核使用的内存从工作空间申请,而用户应用程序使用的内存从堆申请。堆与工作空间使用相同的算法管理内
原创
2011-02-25 22:45:00
476阅读
#!/bin/bash ARCH=$(uname -i) BRANCH=4.11 sudo -s cat >/etc/apt/sources.list.d/rtems-ftp.list <<EOF deb http://www.rtems.org/ftp/pub/rtems/linux...
转载
2012-08-09 02:16:00
101阅读
2评论
首先感谢keyword1983 童鞋,感谢看出了文章RTEMS 4.9.5:QEMU MINI2440 BSP 中的网络驱动开发(下)文章中的错误。关于RTEMS中的网络同步问题,一直是纠结我的一个大问题。以太网的协议栈的代码庞大复杂,很难剥茧抽丝,获得精髓。加之本人愚钝,工作繁忙,更是难上加难。我在11年3月份做了一些QEMU MINI2440 BSP的移植工作,顺便撰写了部分的关于网络同步的一
原创
2011-07-16 16:44:00
763阅读
已经写了Cygwin下的RTEMS方式的建立,但是思前想后,还是把Linux的也写了吧。 先对比一下cygwin和linux的开发环境的优缺点。 1.cygwin 方式 – 下载相关的 GNU Tools 的 压缩 包并安装; – 编译速度慢,但开发界面友好。 2.纯 linux 方式 – 下载相关的 GNU Tools 的 RPM
原创
2010-12-22 09:50:00
916阅读
目前嵌入式主流实时系统(RTOS)有uCOS、FreeRTOS,之所以很多第三方库都有在FreeRTOS上的应用Demo,是因为FreeRTOS免费。不要钱是真的厉害呀!然而说实话,论源码规范,我还是喜欢uCOS。一、FreeRTOS比uCOS II优胜的地方:1。内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上, 而FreeRTOS用2~3
最近实在太忙,实在是赶时间。朋友提了个在9260上板级调试问题。这个问题我觉得提得非常好,具有通用性。所以,怎么也抽时间写这篇博文。 RTEMS的板级别调试不像使用qemu mini2440 那么简单。还是比较复杂的。当中有许多技术上的小细节。首先我们从qemu mini2440的调试讲起。我建议大家使用DDD来调试。关于DDD的调试,可以看rickleaf牛牛的博文,《RTEMS 在 Li
原创
2011-09-03 23:14:00
811阅读
从我开始接触 RTEMS 开始起,已经快有两年了。两年几乎将RTEMS核心源代码看了个遍,但有些地方总觉得理解的不透彻。所以干脆把自己写的代码分析贴出来,让广大爱好RTEMS的朋友批评指正。 我只对ARM和x86的CPU稍微熟悉些,x86一般不是嵌入式的首选,一般都是选ARM,RTEMS4.9.4目前是OAR官方RELEASE的最高版本。我就分析RTEMS4.9.4的代码,以CS
原创
2010-12-29 23:29:00
450阅读
rtems 5.3 qemu realview_pbx_a9 环境搭建:生成 rtems arm 工具链
Keyword1983 朋友在8月2日,在RTEMS 4.9.5:QEMU MINI2440 BSP 中的网络驱动开发(上)回复: “您好 我有問題想請問 您的int rtems_dm9000_attach 帶了兩個參數 一個是struct rtems_bsdnet_ifconfig *config, 另一個是void *chip 不過我去看元代碼中其它的network driver的att
原创
2011-08-13 13:47:00
305阅读
这个是个非常小的小技巧。在安装 RPM 的工具链时,rtems-4.9-arm-rtems4.9-gdb-6.8-11.el5.i386.rpm 或rtems-4.9-i386-rtems4.9-gdb-6.8-11.el5.i386.rpm等等工具,可能遇到依赖失败的情况。如果想安装成功,网上有许多办法,使用RPM -U rtems-4.9-i386-rtems4.9-gdb-6.8-11.el
原创
2011-07-03 10:20:00
210阅读
本文系原创,转载请注明出处,谢谢。 Object_Information是对象信息表的定义,该定义如下: typedef struct {/*对象信息表的定义*/ Objects_APIs th
原创
2011-03-11 23:37:00
295阅读