• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

弦苦的文章

嵌入式开发

DMA描述符及映射

DMA描述符及映射
1.DMA通道DMA(Direct Memory Access)通道建立在设备和RAM之间,DMAC(DMA Controler)与设备I/O控制器相互作用共同实现数据传送。在PC中,DMA控制器位于主板上负责管理I/O总线的南桥上。典型的PC架构的数据通道示意图如下:在实现DMA传输时,由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。在DM……继续阅读 »

2个月前 (03-19) 1703浏览 0评论884个赞

嵌入式开发

MIPS存储管理

MIPS存储管理
在MIPS CPU里,你的程序中使用的地址绝对不会和芯片里的物理地址一样(有可能会很接近,但不会相同)。我们分别称为:程序地址和物理地址(Physical Address)。这里所讲的程序地址的含义同虚拟地址(Virtual Address)完全相同,不过不会牵扯到操作系统内存管理(进程)语境下的复杂性。MIPS CPU可以运行在两种特权级别上:用户态和核心……继续阅读 »

2个月前 (03-19) 2228浏览 0评论2564个赞

嵌入式开发

虚拟内存地址VMA、装载内存地址LMA和位置无关代码PIC

虚拟内存地址VMA、装载内存地址LMA和位置无关代码PIC
1.链接地址对于链接器,一种普遍情景是由多个子程序来构建一个程序,并生成一个链接好的起始地址为0的输出程序,各个子程序通过重定位在大程序中确定位置。具体来说:利用第一遍扫描得到的数据,链接器将相似段合并,计算出各个段在输出地址空间中的大小和位置。第二遍扫描会利用第一遍扫描中收集到的信息来控制实际的链接过程。它会读取输入文件中的段的数据和重定位信息,并且进行符……继续阅读 »

2个月前 (03-19) 2720浏览 0评论1818个赞

嵌入式开发

计算机存储设备

计算机存储设备
在嵌入式开发中,每天都在跟ROM/Flash、RAM/SDRAM打交道,还有那些默默无闻的片内SRAM和EEPROM。但是对SDR/DDR等概念的区分始终不是那么透彻,故网罗相关资料,系统整理了一下ROM/RAM等存储设备的概念。1存储设备1.1 存储设备概述存储设备是用于储存信息的设备或设备。通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储。常……继续阅读 »

2个月前 (03-19) 1163浏览 0评论1216个赞

嵌入式开发

从任务调度机制分析操作系统的实时性

从任务调度机制分析操作系统的实时性
什么是真正的实时操作系统做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks。实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂。毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform Team封装……继续阅读 »

2个月前 (03-19) 1266浏览 0评论2477个赞

嵌入式开发

编译链接处理

编译链接处理
预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以”#”开头的指令。如:#include “xx.h” #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言);汇编器则处理*.s生成对应的*.o文件(obj目标文件);最后链接器把所有的*.o文件链接成一个可执行文件(?.e……继续阅读 »

2个月前 (03-19) 1078浏览 0评论2711个赞

嵌入式开发

嵌入式系统 Boot Loader 技术内幕

嵌入式系统 Boot Loader 技术内幕
嵌入式系统 BootLoader 技术内幕1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:(1). 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。(2). Linux 内核。特定于嵌入式板子的定制……继续阅读 »

2个月前 (03-19) 1491浏览 0评论2183个赞

VxWorks

VxWorks组件技术

VxWorks组件技术
VxWorks组件技术的研究1.组件概述VxWorks的配置和裁剪是以组件为基本单位。组件是VxWorks相对独立和完整的一个功能模块,也是系统中最小的、可升级的单元,它通常不再包含子节点。VxWorks用CDF文件来描述系统中的组件。CDF(Common Data Format)称作通用数据格式文件,是一种用于存储数据、访问多维数据集的文件格式。CDF文件……继续阅读 »

2个月前 (03-19) 1821浏览 0评论937个赞

VxWorks

嵌入式操作系统VxWorks中网络协议存储池原理及实现

嵌入式操作系统VxWorks中网络协议存储池原理及实现
嵌入式操作系统VxWorks中网络协议存储池原理及实现周卫东 蔺妍 刘利强(哈尔滨工程大学自动化学院,黑龙江 哈尔滨,150001) 摘  要  本文讨论了网络协议存储池的基本原理和在嵌入式操作系统中的实现方法。为在嵌入式系统中实现TCP/IP协议栈,提供了一种有效、简洁、可靠的缓冲区管理。关键词  VxWorks; mBlk; clBlk; 网络协议存储池……继续阅读 »

2个月前 (03-19) 2098浏览 0评论607个赞

VxWorks

VxWorks网络设备的加载及协议栈初始化

VxWorks网络设备的加载及协议栈初始化
一.MUX中间层    为了能够兼容更多的网络设备和网络协议,VxWorks操作系统专门在网络设备驱动程序和网络协议层之间增加了MUX接口层。网络设备驱动程序不关心用户通过何种网络协议访问设备,只需要将数据传递给MUX层,或者从MUX层获取需要发送的数据;同样,协议层中的协议也不需要关心用户使用何种网络设备,将数据发送给MUX层或者从MUX层读取数据即可。 ……继续阅读 »

2个月前 (03-19) 1780浏览 0评论1031个赞

VxWorks

VxWorks网络协议栈的MUX接口

VxWorks网络协议栈的MUX接口
VxWorks网络协议栈的MUX接口中国矿业大学 张晓华 李智涛徐钊 摘要 嵌入式系统网络协议栈的灵活性在应用上是一个重要的指标。介绍嵌入式操作系统VxWorks网络协议栈的MUX(Multiplexer)接口及其使用方法。关键词 VxWorks 网络协议栈 MUX VxWorks是美国Wind River System公司(风河公司)推出的一个运行在目标机……继续阅读 »

2个月前 (03-19) 1471浏览 0评论854个赞

VxWorks

VxWorks启动之romStart剖析

VxWorks启动之romStart剖析
0 引言在VxWorks BSP中,从romInit.s跳转到romStart()那一刻起,我们便开始从汇编乾坤大挪移到C的世界。作为VxWorks BSP中的第一个C函数,它的主要任务是清空内存(BOOT_COLD and BOOT_CLEAR),并将bootloader或VxWorks(如果压缩则先解压)拷贝重定位到RAM,最后将CPU执行权交给usrI……继续阅读 »

2个月前 (03-19) 1979浏览 0评论1656个赞

嵌入式开发

VxWorks/MIPS运行期的gp重定位

VxWorks/MIPS运行期的gp重定位
引言在《VxWorks引导启动过程》和《VxWorks启动之romStart剖析》中都留下了这样一个疑问,那就是bootrom中compressedEntry()和vxWorks_rom(Compress)中usrEntry()这两个桩函数到底是用来干什么的呢?由于桩函数封装的代码只有寥寥数行,我们很容易分析透彻。除了对usrInit()的简单封装外,核心就……继续阅读 »

2个月前 (03-19) 1569浏览 0评论2281个赞

VxWorks

VxWorks引导启动过程

VxWorks引导启动过程
一 基本概念及引导概述1 bootloader/bootrom/bootstrapCPU上电经自复位的过程(由硬件时序逻辑决定的Power-On StrappingSequence)后,指令指针指向一个固定的地址(after-reset startingpoint)。这个固定地址因体系架构而异:在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上……继续阅读 »

2个月前 (03-19) 1511浏览 0评论329个赞

Linux

Linux文件系统概述

Linux文件系统概述
Linux文件系统(一)——群居和一儒家和谐的思想不仅主导着我们的日常生活和社会关系,而且在Unix/Linux文件系统的设计中充分体现。先秦儒家以西周末年太史史伯提出的“和实生物,同则不继。”《国语·郑语》中,则对和谐思想做了进一步的完善和发展,把“和”作为处理人的身心关系、人际关系、群己关系、人与自然关系的根本法则,所谓“和也者,天下之达道也”。 “和”……继续阅读 »

2个月前 (03-19) 1255浏览 0评论2458个赞

Linux

Linux设备驱动模型概述

Linux设备驱动模型概述
Linux设备驱动模型(一)-节能之初衷2.6内核增加了一个引人注目的新特性——统一设备模型(device model)。设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点:(1)代码重复最小化。(2)提供诸如引用计数这样的统一机制。(3)可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线。(4)可……继续阅读 »

2个月前 (03-19) 2656浏览 0评论2057个赞

网络通信/流媒体

WinSock五种I/O模型性能分析

WinSock五种I/O模型性能分析
五种I/O模型的性能分析重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止6……继续阅读 »

2个月前 (03-19) 3011浏览 0评论1510个赞

网络通信/流媒体

TCP通信流程解析

TCP通信流程解析
B/S通信简述整个计算机网络的实现体现为协议的实现,TCP/IP协议是Internet的核心协议,HTTP协议是比TCP更高层次的应用层协议。HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。……继续阅读 »

2个月前 (03-19) 2061浏览 0评论2795个赞

网络通信/流媒体

PPPoE拨号流程

PPPoE拨号流程
PPPoE(Pointto Point Protocol over Ethernet,基于以太网的点对点协议)的工作流程包含发现(Discovery)和会话(Session)两个阶段,发现阶段是无状态的,目的是获得PPPoE终端(在局端的ADSL设备上)的以太网MAC地址,并建立一个惟一的PPPoE SESSION-ID。发现阶段结束后,就进入标准的PPP会……继续阅读 »

2个月前 (03-19) 1722浏览 0评论426个赞

网络通信/流媒体

VLAN原理详解

VLAN原理详解
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。……继续阅读 »

2个月前 (03-19) 2275浏览 0评论860个赞

网络通信/流媒体

TCP/IP数据报格式

TCP/IP数据报格式
IP数据报格式IP数据报(datagram)的头部格式如下:Version:4 bits版本字段标明建立数据报的IP版本,目前的IP版本是IPv4,IPv6正在发展中。IPv4:0100。IHL:4 bitsIP数据报头部长度(Internet Header Length),其度量单位为4 Bytes(32 bits),因此IHL始终是4 Bytes(32 ……继续阅读 »

2个月前 (03-19) 2696浏览 0评论2550个赞

网络通信/流媒体

WinSock三种选择I/O模型

WinSock三种选择I/O模型
select模型本质上是一种分类处理思想,预先声明几个FD_SET(fd_set结构)集合(使用FD_ZERO初始化),例如ReadSet、WriteSet,fd_set数据类型本质上代表着一系列按关注事件分类的套接字集合。本文讨论三种选择模型(都带select,姑且这样称呼):select(选择)、WSAAsyncSelect(异步选择)、WSAEvent……继续阅读 »

2个月前 (03-19) 2159浏览 0评论240个赞

网络通信/流媒体

WinSock编程基础

WinSock编程基础
在 UNIX 系统中,任何 I/O 操作都是通过读写文件描述符(File Descriptor)来实现的。网络通信 I/O 机制也是基于文件描述符来定义实现的。鉴于 WinSock 1 是 WinSock 2 的功能子集,而 WinSock 1 又沿袭兼容 Berkeley Socket API 集,故本文基于 WinSock 1 讲述 socket 编程基……继续阅读 »

2个月前 (03-19) 2882浏览 0评论2562个赞

网络通信/流媒体

802.1X协议的工作机制流程详解

802.1X协议的工作机制流程详解
802.1X协议的工作机制流程详解802.1X协议是一种基于端口的网络接入控制协议,“基于端口的网络接入控制”是指在局域网接入设备的端口这一级,对所接入的用户设备进行认证和控制。作为一个认证协议,802.1X在实现的过程中有很多重要的工作机制。下图显示了802.1X协议的基本原理:Supplicant发出一个连接请求(EPAoL,ExtensibleAuth……继续阅读 »

2个月前 (03-19) 2273浏览 0评论1394个赞

网络通信/流媒体

P2P的原理和常见的实现方式

P2P的原理和常见的实现方式
P2P的原理和常见的实现方式 为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。如果有什么需要讨论或者指正的,欢迎留言或者邮件peakflys@gmail.com 一.P2P实现的原理……继续阅读 »

2个月前 (03-19) 2684浏览 0评论2733个赞

网络通信/流媒体

WNR3500L+TOMATO网络结构分析

WNR3500L+TOMATO网络结构分析
WNR3500L+TOMATO网络结构分析前几个月入手了一个官翻的WNR3500L,此路由号称开源并对第三方固件支持是很吸引我的地方,开始先是刷了DD-WRT后来又换成TOMATO,在换成TOMATO后通过ssh连接到路由,ifconfig显示出了一大堆interface,除了熟悉的eth0,eht1,br0外,还多出vlan0,vlan1之类的,通过运行b……继续阅读 »

2个月前 (03-19) 2679浏览 0评论2540个赞

网络通信/流媒体

WinSock服务器设计的四个关键问题

WinSock服务器设计的四个关键问题
6.2.1 接受连接的方法Winsock扩展函数AcceptEx是唯一能够使用重叠I/O接受客户连接的函数。下面主要深入探讨使用该函数接收连接的问题。前面已经讨论过,当客户连接进来时,服务器需要创建一个套接字来负责维护与一个客户端的会话。使用AcceptEx函数之前必须创建一些套接字,并且这些套接字必须是未绑定、未连接的,即使它们可能在调用TransmitF……继续阅读 »

2个月前 (03-19) 1302浏览 0评论286个赞

网络通信/流媒体

WinSock重叠I/O模型

WinSock重叠I/O模型
一.重叠I/O模型的概念当调用ReadFile()和WriteFile()时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile()和WriteFile()的返回上面。如果ReadFile()和WriteFile()是往管道里读写数据,……继续阅读 »

2个月前 (03-19) 1882浏览 0评论2173个赞

网络通信/流媒体

深度探索I/O完成端口

深度探索I/O完成端口
引言要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响应,因为服务器同一时刻只能忙于处理一个请求。当然单个线程也能并发处理多个请求,当I/O操作被启动时,它可以从一个请求切换到另一个请求,但是这种结构……继续阅读 »

2个月前 (03-19) 1071浏览 0评论981个赞

网络通信/流媒体

socket通信的环形缓冲

socket通信的环形缓冲
孙靖      2009.5.5Email:jing_sun999@126.com QQ:272964426前段时间实现了一个小型的C/S架构的多人在线即时通信工具,JIGQQ。其中对使用TCP通信有点心得。 记得在我大学时代,就用VB做过TCP的通信。当然那时候是很初级的,发送的数据量也很小的应用。当时就觉得,有时候发送的数据接收端不能接收到,有时候呢觉得……继续阅读 »

2个月前 (03-19) 2375浏览 0评论715个赞

加载中……