
嵌入式开发
文章平均质量分 96
弦苦
时间从指尖溜过,硬盘在唱歌。
展开
-
Memory support in VxWorks
1 Main memory RAM configuration:Zeroed at power-up for cold-boot to prevent parity errors.Configured and enabled by ROM code at system power-up. 2 Cache memory RAM configuration:Usually disa原创 2013-04-27 12:15:46 · 1266 阅读 · 0 评论 -
指令集及流水线
1.地址总线数据总线和机器字长2.机器语言和指令集3.CISC 和 RISC4.指令的执行5.流水线作业原创 2013-05-27 17:26:57 · 20058 阅读 · 0 评论 -
DMA描述符及映射
1.DMA通道DMA(Direct Memory Access)通道建立在设备和RAM之间,DMAC(DMA Controler)与设备I/O控制器相互作用共同实现数据传送。在PC中,DMA控制器位于主板上负责管理I/O总线的南桥上。典型的PC架构的数据通道示意图如下:在实现DMA传输时,由DMA控制器直接掌管总线,因此,存在着一个总线控制权转移问题。在DMA传输前,C原创 2013-07-24 16:40:25 · 38346 阅读 · 5 评论 -
MIPS存储管理
在MIPS CPU里,你的程序中使用的地址绝对不会和芯片里的物理地址一样(有可能会很接近,但不会相同)。我们分别称为:程序地址和物理地址(Physical Address)。这里所讲的程序地址的含义同虚拟地址(Virtual Address)完全相同,不过不会牵扯到操作系统内存管理(进程)语境下的复杂性。MIPS CPU可以运行在两种特权级别上:用户态和核心态(R4000之后的MIPS CPU原创 2013-07-20 19:47:47 · 17175 阅读 · 4 评论 -
虚拟内存地址VMA、装载内存地址LMA和位置无关代码PIC
链接地址实际上就是链接器对代码中的变量(数据)、函数(指令)等符号进行一个地址编排,赋予这些抽象的符号一个地址,然后在程序中通过地址访问相应变量和函数。要知道,在ELF文件中的汇编代码(机器指令)中,标号和符号已经不复存在,一切引用都不过是地址!当这个程序被加载时,系统会选择一个加载地址,而链接好的程序会作为一个整体被重定位到加载地址。原创 2013-05-09 14:10:10 · 12431 阅读 · 4 评论 -
VxWorks/MIPS运行期的gp重定位
引言在《VxWorks引导启动过程》和《VxWorks启动之romStart剖析》中都留下了这样一个疑问,那就是bootrom中compressedEntry()和vxWorks_rom(Compress)中usrEntry()这两个桩函数到底是用来干什么的呢?由于桩函数封装的代码只有寥寥数行,我们很容易分析透彻。除了对usrInit()的简单封装外,核心就是对gp寄存器的赋值操作,也原创 2013-05-17 01:30:26 · 6318 阅读 · 0 评论 -
VxWorks/MIPS中断处理机制
1 MIPS异常2 MIPS中断3 VxWorks/MIPS异常向量初始化4 VxWorks/MIPS中断初始化5 主频=外频x倍频6 初始化硬件Timer7 挂接定时器中断8 VxWorks中断调度9 tickAnnounce原创 2013-05-21 23:01:10 · 14934 阅读 · 0 评论 -
计算机存储设备
在嵌入式开发中,每天都在跟ROM/Flash、RAM/SDRAM打交道,还有那些默默无闻的片内SRAM和EEPROM。但是对SDR/DDR等概念的区分始终不是那么透彻,故网罗相关资料,系统整理了一下ROM/RAM等存储设备的概念。1存储设备1.1 存储设备概述存储设备是用于储存信息的设备或设备。通常是将信息数字化后再以利用电、磁或光学等方式的媒体加以存储。常见的存储设备原创 2013-04-26 19:20:24 · 10115 阅读 · 1 评论 -
中断处理机制
1. 轮询与中断2. 中断硬件框架3. 中断向量表4. 中断路由5. 中断复用/解复用6. 中断上下文7. 中断底半部延期机制8. Linux网络设备驱动模型中的NAPI模型原创 2013-05-20 23:11:57 · 14103 阅读 · 0 评论 -
从任务调度机制分析操作系统的实时性
什么是真正的实时操作系统做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks。实际应用后回过头来看理论,才发现自己理解的肤浅,也发现优快云上好多同学们都对实时、嵌入式这些概念似懂非懂。毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform Team封装好的API。所以,在此总结一下这转载 2013-06-03 15:04:53 · 13215 阅读 · 0 评论 -
嵌入式操作系统VxWorks中网络协议存储池原理及实现
嵌入式操作系统VxWorks中网络协议存储池原理及实现周卫东 蔺妍 刘利强(哈尔滨工程大学自动化学院,黑龙江 哈尔滨,150001) 摘 要 本文讨论了网络协议存储池的基本原理和在嵌入式操作系统中的实现方法。为在嵌入式系统中实现TCP/IP协议栈,提供了一种有效、简洁、可靠的缓冲区管理。关键词 VxWorks; mBlk; clBlk; 网络协议存储池 VxWor转载 2011-10-15 12:12:23 · 6048 阅读 · 0 评论 -
编译链接处理
预处理器-编译器-汇编器-链接器预处理器会处理相关的预处理指令,一般是以"#"开头的指令。如:#include "xx.h" #define等。编译器把对应的*.cpp翻译成*.s文件(汇编语言);汇编器则处理*.s生成对应的*.o文件(obj目标文件);最后链接器把所有的*.o文件链接成一个可执行文件(?.exe)。 1.部件:首先要知道部件(可以暂且狭义地理解为转载 2010-03-01 21:40:00 · 2094 阅读 · 0 评论 -
嵌入式系统 Boot Loader 技术内幕
嵌入式系统 BootLoader 技术内幕1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次:(1). 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分。(2). Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参转载 2011-10-23 01:26:17 · 7250 阅读 · 0 评论 -
MIPS中的跳转/分支指令
本文节选自《See MIPS run2rd》/《MIPS体系结构透视》中的部分章节,结合个人理解,对部分译文有所改动。1.5.2 编址及内存访问1.5.4 程序员可见的流水线效果8.7.8 跳转, 分支和子程序调用指令原创 2013-05-11 11:27:34 · 95497 阅读 · 6 评论