- 博客(18)
- 收藏
- 关注
转载 inux free命令
我的linux执行free命令显示如下:[root@Linux /tmp]# free total used free shared buffers cachedMem: 4149156 4130412 18744 0 13220 2720160-/+ buf...
2018-12-05 10:23:35
429
转载 NVMe系列专题之二:队列(Queue)管理
转载链接:https://mp.weixin.qq.com/s?__biz=MzIwNTUxNDgwNg==&mid=2247484355&idx=1&sn=04f0617bf774fa3c6020d90288b679e8&chksm=972ef29aa0597b8ca79b040f3222eef85835a5cd693167aa6f7ffd34a78ae15f69...
2018-12-01 12:25:03
12362
1
转载 PCIE的prefetchable和nonprefetchable的理解
在PCI设备驱动开发过程中,处理板载I/O和内存空间时,常常会遇到prefetchable和nonprefetchable两词,直译为可预取和不可预取。但是两者具体究竟是什么含义呢?在LDD3, Chapter 12: PCI Drivers一章找到了不错的解释,姑且一边翻译一边解读如下(原文:LDD3影印版p316,Accessing the I/O and Memory Spaces 下面一段...
2018-10-25 15:34:14
10942
转载 linux开发实用命令
一、linux CPU大小[root@idc ~]# cat /proc/cpuinfo |grep "model name" && cat /proc/cpuinfo |grep "physical id"model name: Intel(R) Xeon(TM) CPU 2.80GHzmodel name: Intel(R) Xeon(TM) CPU 2.80GHzmo...
2018-10-25 15:33:06
258
原创 编译vxworks6.8组件源码的命令
在需要修改vxworks组件源码或者增加新组件时,需要重新编译新组件,以下是更新组件的方法。 PS:下面命令在vxworks6.8环境安装在”D:\WindRiver“”可正常运行1.winrive目录下 在cmd下运行 D: cd D:\WindRiver\ wrenv.exe -p vxworks-6.8 2.进入如下目录 cd D:\WindRiv...
2018-08-20 09:35:57
2735
转载 驱动程序的组织结构
驱动程序最重要的部分就是驱动程序源代码文件,源文件描述了设备如何和VxBus、VxWorks OS交互。但是,VxWorks 设备驱动程序还需要另外一些文件,这些附加文件能够帮助你将自己编写的驱动集成到VxWorks编译环境中去,这也是发布驱动程序最重要的一步。本节主要讨论如何在源码树中找到相关的驱动程序文件和其他附加文件。最后还说明驱动程序的各个部分是如何安装在VxWorks OS中...
2018-04-14 21:06:45
1583
原创 linux嵌入式根文件系统制作学习笔记
根文件制作方法1.取得busybox源码,编译并安装根文件 1)在busybox主目录下执行make menuconfig 选择组件编译 make menuconfig 2)修改busybox主目录下的makefile,使用交叉编译器进行编译 CROSS_COMPILE ?= arm-linux- 3)用make命令启动编译 4)编译完成...
2018-04-01 22:28:59
251
转载 VxWorks_使用ftp服务
kernel configuration中增加FTP Server组件(INCLUDE_IPFTPS); 1. 将Authentication callback routine (FTPS_AUTH_CALLBACK_HOOK)挂到自己的回调函数myAuthenticateCallback;2. 将FTP initial directory 定义为"/tffs0";将FTP r
2017-11-05 20:40:59
2823
转载 Device Tree
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach
2017-02-03 21:47:18
634
转载 VxWorks内核解读-7
为了实现应用层程序的平台无关性,操作系统为应用层提供了一套标准的接口函数,这些接口函数在所有的平台上都保持一致,只是随着平台的变化,底层驱动或接近驱动部分操作系统中间层可能会随着调整。这样可以使用户程序独立于具体的硬件平台,增加了应用层开发的效率,避免了重复编码。通用操作系统GPOS(General Purpose Operating System)比如Unix,Linux,将这套提供给应用层的标
2016-12-23 20:20:05
6300
转载 VxWorks内核解读-6
本篇文章分析VxWorks的初始化,VxWorks的初始化可以分成两个部分:1.具体处理器平台相关的硬件初始化:包括CPU内部寄存器、堆栈寄存器的初始化,外设初始化;2.VxWorks内核初始化:包括核心数据结构的初始化、初始任务的创建,启动多任务等等。我以Pentium平台为例,来分析VxWorks的初始化过程。6.1 处理器平台相关的初始化这部分代码初始
2016-12-23 20:18:23
982
转载 VxWorks内核解读-5
本篇博文,我们该谈到Wind内核的内存管理模块了,嵌入式操作系统中, 内存的管理及分配占据着极为重要的位置, 因为在嵌入式系统中, 存储容量极为有限, 而且还受到体积、成本的限制, 更重要的是其对系统的性能、可靠性的要求极高, 所以深入剖析嵌入式操作系统的内存管理, 对其进行优化及有效管理, 具有十分重要的意义。在嵌入式系统开发中, 对内存的管理有很高的要求。概括地说, 它必须满足以下三点要求:
2016-12-23 20:16:22
4801
转载 VxWorks内核解读-4
接下来我们讨论一下Wind内核的中断处理模块,中断是操作系统内核设计中非常重要的部分。由于周期性和非周期性任务的按时执行都离不开中断,并且大多数实时任务的调度都是由中断引发的,中断管理对于实时系统来说不仅重要而且要求更高。因此,实时系统要求操作系统具备迅速响应外部中断的能力。本篇我以x86平台的Pentium处理器为例,介绍Wind内核的中断处理框架,以及中断栈幁的设计。通过本篇的
2016-12-23 20:13:14
3585
转载 VxWorks内核解读-3
本篇文章分析Wind内核调度器的设计原理以及其工作流程,设计支持多任务RTOS的关键是设计调度器,Wind内核调度器的目标是保证优先级最高的就绪任务处于运行状态。为了达到这一目的,需要在Wind内核的调度点判断就绪队列中优先级最高的任务是否正在运行,如果不在运行,调度器就会让这个优先级最高的任务抢占正在运行任务的CPU。保证就绪队列中优先级最高的任务始终占据CPU是Wind内核可抢占的实质
2016-12-23 20:11:33
2519
转载 VxWorks内核解读-1
前言:我曾经在做VxWorks培训期间跟身边的嵌入式工程师同行交流的时候,发现大家对嵌入式VxWorks系统的Wind内核不是特别了解,而网上对于VxWorks的Wind内核也没有系统性的解读与分析,因此我决定发表一系列的博文来系统性地解读Wind内核的设计思想。我选择的是VxWorks5.5系统的Wind 2.6版本内核(这个版本的代码网上都有分享O(∩_∩)O),在分析的过程中,大家有任何
2016-12-23 20:10:06
8165
转载 VxWorks内核解读-2
本文讨论Wind内核的设计思想,正如前文所述,VxWorks的Wind内核采用可裁剪的微内核设计,具有多任务并发执行、可抢占的优先级调度、可选的时间片调度、任务间通信和同步机制、快速的上下文切换,低中断时延、快速的中断响应、支持中断嵌套、支持256个优先级、支持优先级继承、以及任务删除保护机制,Wind内核运行在特权模式,不使用陷阱指令和跳转表,所有的系统调用均采用函数调用的形式实现。
2016-12-23 19:53:20
2726
转载 VxWorks内核解读-6
本篇文章分析VxWorks的初始化,VxWorks的初始化可以分成两个部分:1.具体处理器平台相关的硬件初始化:包括CPU内部寄存器、堆栈寄存器的初始化,外设初始化;2.VxWorks内核初始化:包括核心数据结构的初始化、初始任务的创建,启动多任务等等。我以Pentium平台为例,来分析VxWorks的初始化过程。6.1 处理器平台相关的初始化这部分代码初始
2016-12-23 19:51:28
3511
转载 linux驱动模型开发——linux platform总线机制讲解与实例开发
概述:通常在Linux中,把SoC系统中集成的独立外设单元(如:I2C、IIS、RTC、看门狗等)都被当作平台设备来处理。从Linux2.6起,引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver,来管理相应设备。Linux中大部分的设备驱动,都可以使用这套机制,设备用platform_device表示,驱动用platform_driver进
2016-11-30 20:29:12
448
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人