在嵌入式开发中,每天都在跟ROM/Flash、RAM/SDRAM打交道,还有那些默默无闻的片内SRAM和EEPROM。但是对SDR/DDR等概念的区分始终不是那么透彻,故网罗相关资料,系统整理了一下ROM/RAM等存储设备的概念。1存储设备1.1 存储设备概述存储设备是用于储存信息的设备或设备。通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储。常……继续阅读 » 弦苦 3年前 (2022-03-19) 1479浏览 0评论517个赞
1. 轮询与中断2. 中断硬件框架3. 中断向量表4. 中断路由5. 中断复用/解复用6. 中断上下文7. 中断底半部延期机制8. Linux网络设备驱动模型中的NAPI模型……继续阅读 » 弦苦 3年前 (2022-03-19) 2173浏览 0评论1022个赞
什么是真正的实时操作系统做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks。实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂。毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform Team封装……继续阅读 » 弦苦 3年前 (2022-03-19) 1476浏览 0评论530个赞
预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以”#”开头的指令。如:#include “xx.h” #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言);汇编器则处理*.s生成对应的*.o文件(obj目标文件);最后链接器把所有的*.o文件链接成一个可执行文件(?.e……继续阅读 » 弦苦 3年前 (2022-03-19) 2570浏览 0评论2670个赞
嵌入式系统 BootLoader 技术内幕1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:(1). 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。(2). Linux 内核。特定于嵌入式板子的定制……继续阅读 » 弦苦 3年前 (2022-03-19) 3017浏览 0评论1155个赞
x86 ABI之C函数调用惯例……继续阅读 » 弦苦 3年前 (2022-03-19) 2776浏览 0评论2655个赞
VxWorks组件技术的研究1.组件概述VxWorks的配置和裁剪是以组件为基本单位。组件是VxWorks相对独立和完整的一个功能模块,也是系统中最小的、可升级的单元,它通常不再包含子节点。VxWorks用CDF文件来描述系统中的组件。CDF(Common Data Format)称作通用数据格式文件,是一种用于存储数据、访问多维数据集的文件格式。CDF文件……继续阅读 » 弦苦 3年前 (2022-03-19) 1652浏览 0评论1420个赞
嵌入式操作系统VxWorks中网络协议存储池原理及实现周卫东 蔺妍 刘利强(哈尔滨工程大学自动化学院,黑龙江 哈尔滨,150001) 摘 要 本文讨论了网络协议存储池的基本原理和在嵌入式操作系统中的实现方法。为在嵌入式系统中实现TCP/IP协议栈,提供了一种有效、简洁、可靠的缓冲区管理。关键词 VxWorks; mBlk; clBlk; 网络协议存储池……继续阅读 » 弦苦 3年前 (2022-03-19) 2746浏览 0评论2300个赞
一.MUX中间层 为了能够兼容更多的网络设备和网络协议,VxWorks操作系统专门在网络设备驱动程序和网络协议层之间增加了MUX接口层。网络设备驱动程序不关心用户通过何种网络协议访问设备,只需要将数据传递给MUX层,或者从MUX层获取需要发送的数据;同样,协议层中的协议也不需要关心用户使用何种网络设备,将数据发送给MUX层或者从MUX层读取数据即可。 ……继续阅读 » 弦苦 3年前 (2022-03-19) 1431浏览 0评论687个赞
VxWorks网络协议栈的MUX接口中国矿业大学 张晓华 李智涛徐钊 摘要 嵌入式系统网络协议栈的灵活性在应用上是一个重要的指标。介绍嵌入式操作系统VxWorks网络协议栈的MUX(Multiplexer)接口及其使用方法。关键词 VxWorks 网络协议栈 MUX VxWorks是美国Wind River System公司(风河公司)推出的一个运行在目标机……继续阅读 » 弦苦 3年前 (2022-03-19) 2540浏览 0评论2308个赞
0 引言在VxWorks BSP中,从romInit.s跳转到romStart()那一刻起,我们便开始从汇编乾坤大挪移到C的世界。作为VxWorks BSP中的第一个C函数,它的主要任务是清空内存(BOOT_COLD and BOOT_CLEAR),并将bootloader或VxWorks(如果压缩则先解压)拷贝重定位到RAM,最后将CPU执行权交给usrI……继续阅读 » 弦苦 3年前 (2022-03-19) 1949浏览 0评论1587个赞
1 MIPS异常2 MIPS中断3 VxWorks/MIPS异常向量初始化4 VxWorks/MIPS中断初始化5 主频=外频x倍频6 初始化硬件Timer7 挂接定时器中断8 VxWorks中断调度9 tickAnnounce……继续阅读 » 弦苦 3年前 (2022-03-19) 1679浏览 0评论1652个赞
引言在《VxWorks引导启动过程》和《VxWorks启动之romStart剖析》中都留下了这样一个疑问,那就是bootrom中compressedEntry()和vxWorks_rom(Compress)中usrEntry()这两个桩函数到底是用来干什么的呢?由于桩函数封装的代码只有寥寥数行,我们很容易分析透彻。除了对usrInit()的简单封装外,核心就……继续阅读 » 弦苦 3年前 (2022-03-19) 2461浏览 0评论1398个赞
一 基本概念及引导概述1 bootloader/bootrom/bootstrapCPU上电经自复位的过程(由硬件时序逻辑决定的Power-On StrappingSequence)后,指令指针指向一个固定的地址(after-reset startingpoint)。这个固定地址因体系架构而异:在一个基于 ARM7TDMI core 的嵌入式系统中,系统在上……继续阅读 » 弦苦 3年前 (2022-03-19) 2397浏览 0评论1679个赞
本文系统梳理了VxWorks BSP开发中涉及的宏,并结合关键编译链接流程阐述具体宏的要义。……继续阅读 » 弦苦 3年前 (2022-03-19) 2602浏览 0评论209个赞
Linux文件系统(一)——群居和一儒家和谐的思想不仅主导着我们的日常生活和社会关系,而且在Unix/Linux文件系统的设计中充分体现。先秦儒家以西周末年太史史伯提出的“和实生物,同则不继。”《国语·郑语》中,则对和谐思想做了进一步的完善和发展,把“和”作为处理人的身心关系、人际关系、群己关系、人与自然关系的根本法则,所谓“和也者,天下之达道也”。 “和”……继续阅读 » 弦苦 3年前 (2022-03-19) 2043浏览 0评论2788个赞
Linux设备驱动模型(一)-节能之初衷2.6内核增加了一个引人注目的新特性——统一设备模型(device model)。设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点:(1)代码重复最小化。(2)提供诸如引用计数这样的统一机制。(3)可以列举系统中所有的设备,观察它们的状态,并且查看它们连接的总线。(4)可……继续阅读 » 弦苦 3年前 (2022-03-19) 3131浏览 0评论476个赞
五种I/O模型的性能分析重叠I/O模型的另外几个优点在于,微软针对重叠I/O模型提供了一些特有的扩展函数。当使用重叠I/O模型时,可以选择使用不同的完成通知方式。采用事件对象通知的重叠I/O模型是不可伸缩的,因为针对发出WSAWaitForMultipleEvents调用的每个线程,该I/O模型一次最多都只能支持6 4个套接字。假如想让这个模型同时管理不止6……继续阅读 » 弦苦 3年前 (2022-03-19) 1904浏览 0评论1968个赞
B/S通信简述整个计算机网络的实现体现为协议的实现,TCP/IP协议是Internet的核心协议,HTTP协议是比TCP更高层次的应用层协议。HTTP(HyperText Transfer Protocol,超文本传输协议)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。……继续阅读 » 弦苦 3年前 (2022-03-19) 3080浏览 0评论1481个赞
PPPoE(Pointto Point Protocol over Ethernet,基于以太网的点对点协议)的工作流程包含发现(Discovery)和会话(Session)两个阶段,发现阶段是无状态的,目的是获得PPPoE终端(在局端的ADSL设备上)的以太网MAC地址,并建立一个惟一的PPPoE SESSION-ID。发现阶段结束后,就进入标准的PPP会……继续阅读 » 弦苦 3年前 (2022-03-19) 2089浏览 0评论2552个赞
通信协议精确地定义了双方通信控制信息和解释信息。协议反映的是对等层的对等实体之间的一种横向关系,严格地说,协议是对等实体共同遵守的规则和约定的集合。……继续阅读 » 弦苦 3年前 (2022-03-19) 1784浏览 0评论605个赞
VLAN(Virtual LAN),翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。……继续阅读 » 弦苦 3年前 (2022-03-19) 2378浏览 0评论682个赞
MPEG-4基本概念扫盲……继续阅读 » 弦苦 3年前 (2022-03-19) 2558浏览 0评论2489个赞
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 ……继续阅读 » 弦苦 3年前 (2022-03-19) 1157浏览 0评论138个赞
select模型本质上是一种分类处理思想,预先声明几个FD_SET(fd_set结构)集合(使用FD_ZERO初始化),例如ReadSet、WriteSet,fd_set数据类型本质上代表着一系列按关注事件分类的套接字集合。本文讨论三种选择模型(都带select,姑且这样称呼):select(选择)、WSAAsyncSelect(异步选择)、WSAEvent……继续阅读 » 弦苦 3年前 (2022-03-19) 1670浏览 0评论1558个赞
TCP 三次握手建立连接 & 四次挥手断开连接……继续阅读 » 弦苦 3年前 (2022-03-19) 1353浏览 0评论1211个赞
在 UNIX 系统中,任何 I/O 操作都是通过读写文件描述符(File Descriptor)来实现的。网络通信 I/O 机制也是基于文件描述符来定义实现的。鉴于 WinSock 1 是 WinSock 2 的功能子集,而 WinSock 1 又沿袭兼容 Berkeley Socket API 集,故本文基于 WinSock 1 讲述 socket 编程基……继续阅读 » 弦苦 3年前 (2022-03-19) 1366浏览 0评论1980个赞
针对 TLS HandShake 中服务器下发的 `Certificate`,macOS/iOS 的 Security.framework 的 SecPolicy.h/SecTrust.h 中定义了证书校验信任评估的接口。调用 `SecTrustEvaluate` 对证书校验通过后,客户端需要基于对服务器的信任来建立凭证。……继续阅读 » 弦苦 3年前 (2022-03-19) 1401浏览 0评论2378个赞
套接字,简单的说就是通信双方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服务的问题。本文初步梳理了socket相关概念和模式。……继续阅读 » 弦苦 3年前 (2022-03-19) 1244浏览 0评论2897个赞
完成端口对象取代了WSAAsyncSelect中的消息驱动和WSAEventSelect中的事件对象,当然完成端口模型的内部机制要比WSAAsyncSelect和WSAEventSelect模型复杂得多。……继续阅读 » 弦苦 3年前 (2022-03-19) 2993浏览 0评论1698个赞
Socket网络通信库、C/S Framework、流媒体及P2P方面的一些开源项目参考……继续阅读 » 弦苦 3年前 (2022-03-19) 2492浏览 0评论1823个赞
802.1X协议的工作机制流程详解802.1X协议是一种基于端口的网络接入控制协议,“基于端口的网络接入控制”是指在局域网接入设备的端口这一级,对所接入的用户设备进行认证和控制。作为一个认证协议,802.1X在实现的过程中有很多重要的工作机制。下图显示了802.1X协议的基本原理:Supplicant发出一个连接请求(EPAoL,ExtensibleAuth……继续阅读 » 弦苦 3年前 (2022-03-19) 1635浏览 0评论1353个赞
P2P的原理和常见的实现方式 为了项目的后期IM应用,最近在研究libjingle,中间看了也收集了很多资料,感慨网上很多资料要么太过于纠结协议(如STUN、ICE等)实现细节,要么中间有很多纰漏。最后去伪存真,归纳总结了一下,希望对以后的同行有些许帮助。如果有什么需要讨论或者指正的,欢迎留言或者邮件peakflys@gmail.com 一.P2P实现的原理……继续阅读 » 弦苦 3年前 (2022-03-19) 2482浏览 0评论1945个赞
WNR3500L+TOMATO网络结构分析前几个月入手了一个官翻的WNR3500L,此路由号称开源并对第三方固件支持是很吸引我的地方,开始先是刷了DD-WRT后来又换成TOMATO,在换成TOMATO后通过ssh连接到路由,ifconfig显示出了一大堆interface,除了熟悉的eth0,eht1,br0外,还多出vlan0,vlan1之类的,通过运行b……继续阅读 » 弦苦 3年前 (2022-03-19) 1363浏览 0评论2448个赞
6.2.1 接受连接的方法Winsock扩展函数AcceptEx是唯一能够使用重叠I/O接受客户连接的函数。下面主要深入探讨使用该函数接收连接的问题。前面已经讨论过,当客户连接进来时,服务器需要创建一个套接字来负责维护与一个客户端的会话。使用AcceptEx函数之前必须创建一些套接字,并且这些套接字必须是未绑定、未连接的,即使它们可能在调用TransmitF……继续阅读 » 弦苦 3年前 (2022-03-19) 2353浏览 0评论841个赞
一.重叠I/O模型的概念当调用ReadFile()和WriteFile()时,如果最后一个参数lpOverlapped设置为NULL,那么线程就阻塞在这里,直到读写完指定的数据后,它们才返回。这样在读写大文件的时候,很多时间都浪费在等待ReadFile()和WriteFile()的返回上面。如果ReadFile()和WriteFile()是往管道里读写数据,……继续阅读 » 弦苦 3年前 (2022-03-19) 2145浏览 0评论581个赞
引言要想编写一个高性能的服务器应用程序,必须实现一个高效的线程模型。让太少或者太多的服务器线程来处理客户的请求,都可能导致性能问题。例如,如果一个服务器创建单个线程来处理所有的请求,那么客户端可能长期等待而得不到响应,因为服务器同一时刻只能忙于处理一个请求。当然单个线程也能并发处理多个请求,当I/O操作被启动时,它可以从一个请求切换到另一个请求,但是这种结构……继续阅读 » 弦苦 3年前 (2022-03-19) 2810浏览 0评论2410个赞
孙靖 2009.5.5Email:jing_sun999@126.com QQ:272964426前段时间实现了一个小型的C/S架构的多人在线即时通信工具,JIGQQ。其中对使用TCP通信有点心得。 记得在我大学时代,就用VB做过TCP的通信。当然那时候是很初级的,发送的数据量也很小的应用。当时就觉得,有时候发送的数据接收端不能接收到,有时候呢觉得……继续阅读 » 弦苦 3年前 (2022-03-19) 1196浏览 0评论2464个赞
RTP/RTCP/RTSP协议简介……继续阅读 » 弦苦 3年前 (2022-03-19) 2987浏览 0评论1568个赞
RTP OVER HTTP……继续阅读 » 弦苦 3年前 (2022-03-19) 3047浏览 0评论2187个赞
VC网络编程概览,包括WinSock,WinInet客户端和ISAPI服务器应用程序接口。研读MS提供的网络通信部分的源码对于我们学习网络编程会有很大帮助。……继续阅读 » 弦苦 3年前 (2022-03-19) 2652浏览 0评论1649个赞
TCP/IP通信基础知识……继续阅读 » 弦苦 3年前 (2022-03-19) 2906浏览 0评论883个赞
浅析数字信号的载波调制……继续阅读 » 弦苦 3年前 (2022-03-19) 1857浏览 0评论1783个赞
一.计算机网络发展简介二.计算机网络拓扑结构三.计算机网络分类四.广域网五.宽带接入技术六.局域网……继续阅读 » 弦苦 3年前 (2022-03-19) 2867浏览 0评论1536个赞
一.中继器二.集线器三.网桥四.交换机五.网卡六.路由器七.网关……继续阅读 » 弦苦 3年前 (2022-03-19) 2710浏览 0评论2090个赞