随笔分类 -  RTEMS

实现RTEMS Beaglebone Black I2C驱动
摘要:RTEMS的beaglebone black BSP并不包含I2C的驱动,而很多传感器模块的通信方式都只支持I2C,因此限制了RTEMS在IOT物联网方面的应用。本文对I2C驱动的实现思想进行详细描述。参考代码是RTEMS源码中ATSAM的i2C实现。首先要知道,RT... 阅读全文

posted @ 2017-03-30 00:16 sichenzhao 阅读(255) 评论(0) 推荐(0)

RTEMS创造并提交patch
摘要:前两篇博文大致介绍了向rtems提交patch的方法和途径,接下来详细介绍如何创造patch并通过git提交至rtems devel:在这里全部采用git进行diff比对和提交,不建议采用linux自带的diff命令,因为本人一开始采用linux的diff命令提交后,... 阅读全文

posted @ 2017-03-15 13:57 sichenzhao 阅读(169) 评论(0) 推荐(0)

rtems源码贡献步骤
摘要:要想成为rtems的源码贡献者,需要以下几个步骤:1. 申请加入rtems的mail list:申请链接:https://lists.rtems.org/mailman/listinfo/devel申请界面如下图所示:按照网页上提示进行注册。2.制作patch,官网说... 阅读全文

posted @ 2017-03-13 23:19 sichenzhao 阅读(176) 评论(0) 推荐(0)

rtems源码补丁贡献要求(官网解析)
摘要:首先rtems公司强烈鼓励开发者进行代码贡献,错误修复,优化,新功能,文档更新和任何其他有用的更改。所有的贡献都必须满足一些法律要求和编码公约。比如代码编写语言,编译器等。详见链接:https://devel.rtems.org/wiki/Developer/Codi... 阅读全文

posted @ 2017-03-13 15:04 sichenzhao 阅读(238) 评论(0) 推荐(0)

RTEMS移植USB无线网卡的设想
摘要:上个阶段本人把有线网卡驱动成功移植到RTEMS上,接下来开始移植无线网卡。这部分工作难度相比有线网卡要更大,因为牵扯到USB的驱动以及无线网络协议栈,还有总线的各种兼容。而USB驱动也是包括协议等很多细节工作。一步一步慢慢来吧,相信通过移植无线网卡的工作,自己会受益匪... 阅读全文

posted @ 2017-02-21 20:24 sichenzhao 阅读(213) 评论(0) 推荐(0)

DTN-ION协议栈结构介绍
摘要:ION(Interplanetary Overlay Network)是DTN(Delay-Tolerant Networking)网络协议栈的一种实现应用。DTN模仿因特网的IP层为BP层,用来覆盖internet协议。DTN协议栈如下图所示:BP层就类似于IP层,... 阅读全文

posted @ 2016-12-30 23:55 sichenzhao 阅读(642) 评论(0) 推荐(0)

rtems实时性的实现思想
摘要:总体设计思路:rtems是一种基于扁平化内存管理的层次型单体内核,应用程序和rtems内核形成基于函数调用形式的整体功能单元,在一个地址空间下协同完成功能。而在通用的分时操作系统,应用程序和操作系统处于不同的地址空间,应用程序无直接访问系统硬件和操作系统中的系统数据。... 阅读全文

posted @ 2016-12-21 22:56 sichenzhao 阅读(478) 评论(0) 推荐(0)

基于ubuntu的rtems-libbsd编译运行beagleboneblack bsp
摘要:rtems除了自身开发的rtems之外,还和freebsd合作开发了rtems-libbsd系统。rtems-libbsd系统git说明如下:Welcome to building LibBSD for RTEMS using Waf. This package is... 阅读全文

posted @ 2016-12-01 12:22 sichenzhao 阅读(561) 评论(1) 推荐(0)

rtems网络移植-实现网卡驱动
摘要:经过两周的调试,终于初步实现网卡的发送功能。在这里参考了uboot的beaglebone网卡驱动和《tcp/ip详解卷二》1、在前几篇博文中,讲解了网卡的mdio初始化过程,那么网卡lan8710a是如何与am335x处理器通信的呢?首先看一张连接图:我们都知道osi... 阅读全文

posted @ 2016-11-26 00:22 sichenzhao 阅读(848) 评论(0) 推荐(1)

rtems网络移植-网卡的注册和初始化
摘要:上篇博文介绍了在rtems下实现和网卡lan8710的通信,接下来就是实现网卡的标准化注册和初始化。在这里本人参考了rtems m68k中gen68360的网络驱动文件和《tcp/ip详解卷二》:首先是驱动的attach函数:The driver attach fun... 阅读全文

posted @ 2016-11-09 23:06 sichenzhao 阅读(406) 评论(0) 推荐(0)

rtems网络移植-实现网卡MDIO通信
摘要:本博文适用于bbb的bsp移植。在本人早些时间写的一篇短博文中提到为rtems移植网络驱动的想法:bbb上rtems的tcp/ip协议移植的想法其中提到驱动移植主要是移植底层的驱动代码,那么现在有很多系统源码都支持bbb板的网卡,比如android for bbb,u... 阅读全文

posted @ 2016-11-04 00:30 sichenzhao 阅读(688) 评论(0) 推荐(0)

rtems网络移植-rtems系统初始化过程分析
摘要:rtems的网络驱动移植,首先要知道如何将设备初始化函数放入初始化过程中,如何将这个网卡设备注册到系统中。这涉及到rtems的系统初始化,接下来就具体分析初始化过程:系统初始化第一阶段:这部分代码主要是用汇编写的,属于bsp的一部分,然后rtems进入基于c代码的初始... 阅读全文

posted @ 2016-10-26 00:19 sichenzhao 阅读(444) 评论(0) 推荐(0)

rtems网络移植-网络shell命令介绍和使能
摘要:rtems对于BBB板的bsp默认是不包含网络驱动部分的,而TCP/IP协议栈也是默认没有启用的。因此要移植整个网络到bbb板上,首先要做的就是启用tcp/ip协议栈。然后使能这些网络命令。第一步:使能tcp/ip协议栈rtems在编译源码时,默认是不带网络协议栈的,... 阅读全文

posted @ 2016-10-18 19:55 sichenzhao 阅读(560) 评论(0) 推荐(0)

rtems线程管理与调度
摘要:线程的状态:在rtems中,线程必须处于六种允许的线程状态之一,这些状态是:运行(running)就绪(ready)挂起(suspended)阻塞(blocked)创建(new)退出(exit/dormant)suspended主要用于多处理器系统,可以根据需要将某个... 阅读全文

posted @ 2016-09-28 13:23 sichenzhao 阅读(206) 评论(0) 推荐(0)

rtems线程管理与调度(一)
摘要:rtemsahi一个以线程为基本调度单位的实施操作系统,调度算法是基于优先级的抢占式线程调度,支持256个线程优先级,0代表最高优先级,主要用于内部线程,255是最低线程,是空闲线程的优先级,用户线程的优先级在1-254之间,支持创建同优先级的多个线程,采用时间片轮转... 阅读全文

posted @ 2016-09-27 23:38 sichenzhao 阅读(363) 评论(0) 推荐(0)

rtems初始化过程分析
摘要:上电后一般执行引导加载程序,这个程序可以初始化硬件设备,建立吸引的内存空间映射图,对于PC386体系,就是BIOS,嵌入式一般没有这个固化软件,直接由boot loader完成,bios进行完自检后,选择一个启动设备(软盘、硬盘、cd等),取得该设备的第一扇区(启动扇... 阅读全文

posted @ 2016-09-27 20:40 sichenzhao 阅读(397) 评论(0) 推荐(0)

rtems总体设计思路
摘要:与典型的通用操作系统差别很大的是,rtems是基于扁平内存管理的层次型单体内核,应用程序与内核形成一个基于函数调用形式的整体功能单元,在一个地址空间下协同完成特定的功能,而对于普通的操作系统而言,应用程序和操作系统是处于不同的特权状态和地址空间。系统调用是应用程序访问... 阅读全文

posted @ 2016-09-27 18:31 sichenzhao 阅读(329) 评论(0) 推荐(0)

rtems开发注意事项
摘要:1.无内存保护:对于x86体系架构和其他cpu架构,rtems没有采用虚拟内存管理,也没用分段保护机制,所以rtems是没有提供内存保护机制,这样的好处在于实现简单,当然也存在很大的安全问题,应用程序中的一个错误内存操作都可能使得整个系统崩溃,但是考虑到嵌入式系统运行... 阅读全文

posted @ 2016-09-27 13:04 sichenzhao 阅读(333) 评论(0) 推荐(0)

rtems源码树结构
摘要:首先看看一级目录的大致内容:/aclocal:该目录存放了autoconf使用的M4宏,这些宏在定制rtems,为不同硬件体系产生不同目标文件过程中起着重要作用/c:文件正对不同的主板、cpu和芯片的代码,保证了可移植性/cpukit:是rtems的库文件,比如tcp... 阅读全文

posted @ 2016-09-27 11:20 sichenzhao 阅读(501) 评论(0) 推荐(0)

bbb上rtems的tcp/ip协议移植的想法
摘要:rtems目前还没有将bbb板上的bsp中的网络部分加上。因此需要移植网络协议,在这里主要考虑两点。首先是底层驱动,最重要的也就是底层,因为上层的协议是比较好移植的,关键是接口层的driver,也就是要让AM335处理器和以太网芯片通信.bbb上的以太网芯片是SMSC... 阅读全文

posted @ 2016-09-25 22:13 sichenzhao 阅读(232) 评论(0) 推荐(0)

导航