嵌入式开发
文章平均质量分 86
CZ_2015
C/ios攻城狮
展开
-
CAVIUM处理器 XAUI接口原理
XAUI:万兆以太网连接单元接口1、CN68XX最多可以支持5个4*4通道的XAUI,每个接口一共有16个外接引脚,4对输入引脚和4对输出引脚2、以下的讨论假设在GMX(0..4)_INF_MODE[TYPE] = 1情况下,这么设置是让接口运行在XAUI模式下,3、CN68XX接口的抽象结构:【1】GMX:满足802.3标准,有16K的接收buffer和8k的传送原创 2016-11-01 23:56:25 · 4399 阅读 · 0 评论 -
uboot源码分析
参考网页:http://wenku.baidu.com/link?url=GFAgT8cx5ML74LiPQO8vrJw3w11IdtAzS1m4NhCJavdq-8ryuWe0r02fDv7BZrt7UEc5yD1_tIpCY3aYYZ6K7GLP1A4ELou43yA0SYDuG2G语法:1、.global声明了一个符号可以被其它文档引用,相当于声明了一个全局变量2、.word原创 2016-11-02 00:12:11 · 406 阅读 · 0 评论 -
关于进程虚拟地址为什么是4G的讨论
重点:因为我们平时用的机器一般是32位的,32位地址线能索引的最大内存量是4G,所以分配给进程的虚拟地址都是4G,而64位的这个值应该是4G个4G!1、什么叫进程当程序安静地躺在硬盘上时,它是一个“文件”,非要给点区别的话,它是一个“可执行文件”;而当程序运行起来,它就从硬盘上一跃进入内存,这时它就被叫做一个“进程/process”了。2、什么叫进程或许有些读者想打开机原创 2016-11-02 00:11:14 · 3093 阅读 · 0 评论 -
守护进程
#include#include#include#include#include#include#include#include #define MAXFILE 65535#define KEY_PROJ_ID 'C'#define SERVER_ID 1int _running;pid_t a[10];int ret_end;i原创 2016-11-02 00:09:39 · 208 阅读 · 0 评论 -
深度递归遍历文件夹中所有文件
#include #include #include #include #include #include #include #include #include #define RET_ERROR (-1)#define RET_OKAY (0)#define DIRLIST_RECURSIVE#define ISSLASH(C) ((C原创 2016-11-02 00:08:59 · 396 阅读 · 0 评论 -
把双声道alaw编码文件拆分为两个单声道PCM文件
#include #include #include typedef unsigned short uint16;typedef unsigned int uint32;#pragma pack(push, 1)// pcm文件头typedef struct{ uint32 ChunkID; //00H 4 char "原创 2016-11-02 00:08:05 · 1799 阅读 · 0 评论 -
负载均衡算法
PIP/IPD的tag生成算法是用来为不同的流生成不同的tag,这样SSO就能自由的调度不同的流到不同核去处理对于RAWFULL和RAWSCH类型的包,tag可以直接从包指令头里取得『RAWFULL 类型的包是由两个寄存器配置决定的,某寄存器R位设置为1,某寄存器PM位设置为0,好像,详见CN68XX文档』对于其他类型的的包:Tag is always 0x0.Tag原创 2016-11-02 00:06:54 · 408 阅读 · 0 评论 -
FPA
1、FPA是一个CN68XX单元,包含9个无限容量的存放L2/DRAM存储指针的pool(其中8个对软件开放),软硬件都可以去pool里申请和释放指针,软件和IPD,SSO硬件都可以去从pool里申请内存,SSO,DMA,DPI,HFA,ZIP,TIM这些硬件可以释放内存回pool。2、FPA为每一个pool实现了一个类似栈的后进先出的数据结构,在任意时刻,FPA硬件单元都存储/缓存栈原创 2016-11-02 00:04:40 · 1575 阅读 · 0 评论 -
IO接口
1、i_port和eport的对应关系存放在设备文件系统的 etc/mdu/mdu_port_config 目录下。这个目录上是前端的接口映射关系,注意:有ipdport字段2、xe = 10ge,每一片卡上有8个ge(千兆口),2个xe(万兆口)3、实例:0 0 3136 1 ge 16GE4XG 00原创 2016-11-02 00:04:10 · 5561 阅读 · 0 评论 -
PIP/IPD
1、PIP/PID从SGMII/1000BASE-X, XAUI/DXAUI/RXAUI, ILK, DPI 等接口 或者 PKO 反压通道中接收输入包数据2、MAC发送给PIP/IPD的每一个包都会被分配一个接口类型(pkind),从0到63,PDP/PIP利用这个pkind来决定配置3、每一个包也会被分配一个反压ID(bpid),从0-63,PIP/IPD利用这个反压ID进原创 2016-11-02 00:03:17 · 1119 阅读 · 0 评论 -
DPI/SLI
简单的说:数据流 ---> [物理接口] ---> [MAC] ---> [DPI] ---> 加上QOS,GRP,TT,TAG等变组合成一条指令 --->[PIP/IPD] ---> 转换成packet1\CN68XX支持两个PCIe总线标准的MAC接口(网络接口?),DPI即直接内存存取包接口,为MAC接口提供直接内存存取服务,SLI为cores,memory,packet I原创 2016-11-02 00:02:11 · 719 阅读 · 0 评论 -
包输入流程/wqe调度信息的配置
【1】我们现在的系统有一个原则:就是基本上所有的配置都是默认的,所以在梳理包处理流程遇到各种寄存器的时候先假设寄存器没有被配置过(默认状态)【2】包输入流程:硬件流程 MAC—— DPI —— PIP/IPD —— SSO —— core数据状态 包数据 —— DPI_INST_HDR+包数据 —— PKT_INST_HDR+包数据 —— PKT_INST_原创 2016-11-02 00:01:28 · 777 阅读 · 0 评论 -
《跟我一起学MakeFile》进阶笔记
一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由m原创 2016-11-02 00:00:51 · 233 阅读 · 0 评论 -
《跟我一起学MakeFile》笔记
1、无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。编译:gcc -c链接(编译+链接):gcc2、 一般来说每一个源文件都对应一个中间过程文件原创 2016-11-01 23:59:53 · 200 阅读 · 0 评论 -
SSO
这是在了解了FPA内存管理机制,PIP/IPD的收包配置机制之后,重读一遍SSO,在得知所有调度信息的生成方式和在现在系统中的值的前提下,着重了解SSO的调度过程。1、SSO提供【调度】【排序】【同步】功能2、work队列:【可以被多重硬件和软件申请】【SSO实现了8个输入work队列,不同的work队列有不同的优先级,SSO实现了静态优先级模式和加权轮寻优先级模式】【inpu原创 2016-11-01 23:58:44 · 530 阅读 · 0 评论 -
PKO
1、简介PKO从L2/DRAM上收集数据,然后将数据发送到SGMII,XAUI,ILK,DPI等接口上,PKO也可以将一个包回环到包输入上。PKO可以将一个包同时发送到多达21个不同的接口或者目的地,每一个接口或者目的都能收到一个线性的包数据2、PKO架构左边是包输出队列,core在需要发送包的时候会将包发送到256个包输出队列之一,输出接口/目的地在右边,紧接着映射的管道值,原创 2016-11-01 23:58:02 · 1021 阅读 · 0 评论 -
CAVIUM硬件随笔
1、XAUI接口(读作“Zowie”)其中的“AUI”部分指的是以太网连接单元接口(Ethernet Attachment Unit Interface)。“X”代表罗马数字10,它意味着每秒万兆(10Gbps)。我们的设备宣扬的每秒40Gbps是因为在报文输出的时候使用了4个 XAUI接口2、DRAM(Dynamic Random Access Memory),即动态随机存取原创 2016-11-01 23:57:31 · 1740 阅读 · 0 评论 -
unix基础知识
1、所有操作系统都向它们运行的程序提供服务,例如读写文件,运行程序,分配存储区,获得当前时间等2、linux登录:登录名+口令,系统的/etc/passwd文件中存放登录信息,登录项由: 登录名,加密口令,数字用户 ID(224),数字组ID(20),注释字段,起始目录 (/home/stevens),以及shell程序(/bin/ksh)。 7个用冒号分割的字段组成。原创 2016-11-02 00:13:54 · 287 阅读 · 0 评论