自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

转载 StackOverflow程序员推荐:每个程序员都应读的30本书

1. 《代码大全》史蒂夫·迈克康奈尔2. 《程序员修炼之道》3. 《计算机程序的构造和解释》4. 《C程序设计语言》5. 《算法导论》6. 《重构:改善既有代码的设计》7. 《设计模式》8. 《人月神话》9. 《计算机程序设计艺术》(系列)10. 《编译原理》(龙书)11. 《深入浅

2015-09-28 16:08:18 695

转载 Linux C中内联汇编的语法格式及使用方法

在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly。本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^)。注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区别参见这里),

2015-09-22 20:58:06 472

转载 点评互联网创业的“南派”和“北派”

摘要: 丁辰灵眼中互联网创业的三点差异:南派务实,北派务虚;南派多为屌丝性创业,北派则流行高富帅创业;南派屌丝性创业,北派高富帅创业。深圳创新谷邀请我参加创新谷举办的移动互联网大会并做一个高峰对话的主持。创新谷是深圳一家颇有名气的孵化器。大会会场坐了三四百人,在深圳估计已经不算少了。若用武侠的标准来看,创业在南方是“南派”,创业在北京则是“北派”。南北差异巨大,这样的会如果放在北京

2015-09-20 10:50:33 804

转载 尴尬君正,是如何被“创新”带到沟里去的?

作为创业板的一个标杆,北京君正(300223)上市快三年了。在上市三年之际,重新回顾梳理这样一家集”自主创新””高新科技企业””国产CPU””创业板”等多重概念于一身的公司走过的历程,对其他创业板投资者或许也能有点借鉴意义。2005年,北京君正成立,目标明确:做出能在市场上成功的国产CPU。当时其资金只有几百万元,在投入巨大的IC领域,这点钱的确少的可怜,但君正的创始人和研发团

2015-09-20 10:32:38 1616 4

转载 MIPS汇编语言SYSCALL指令的用法

SYSCALL functions available in MARSIntroductionA number of system services, mainly for input and output, are available for use by your MIPS program. They are described in the table below.M

2015-09-18 10:12:39 26821

转载 MIPS 通用寄存器

MIPS有32个通用寄存器($0-$31),各寄存器的功能及汇编程序中使用约定如下:下表描述32个通用寄存器的别名和用途REGISTERNAMEUSAGE$0$zero常量0(constant value 0)$1$at保留给汇编器(Reserved for

2015-09-17 18:41:55 634

转载 MIPS 汇编指令学习

mips的32个寄存器MIPS comes with 32 general purpose registers named $0. . . $31Registers also have symbolic names reflecting their conventional8 use:$0  $zero constant 0$1  $at used by assembler$2

2015-09-17 17:47:13 1209

转载 MIPS Spim

MIPS指令学习MIPS指令知识的学习:书本:《计算机组成原理》网络:http://gicl.cs.drexel.edu/people/sevy/architecture/MIPSRef(SPIM).htmlhttp://courses.missouristate.edu/KenVollmar/MARS/Help/SyscallHelp.html环境配置

2015-09-17 16:10:40 2226

转载 UCOS中断函数的编写

在以uC/OS为操作系统的项目中,系统可能要处理各种不同的中断请求,如果某个中断处理程序需要调用uC/OS的各种Post函数向任务发出消息,那么uC/OS建议中断服务程序的写法是:1、保存全部CPU寄存器2、调用OSIntEnter或OSIntNesting直接加13、执行用户代码做中断服务4、调用OSIntExit5、恢复所有CPU寄存器6、执行中断返回指令暂

2015-09-16 22:00:42 885

转载 软核、硬核以及固核的概念

现在的FPGA设计,规模巨大而且功能复杂,因此设计的额每一个部分都是从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。 IP(Intelligent Property) 核是具有知识产权

2015-09-15 11:26:36 1500

转载 13个代码注释的小贴士

下面的13条小贴士可以帮助你写出更规范、更容易维护的代码注释。1、逐层注释使用统一格式对每一个语句块进行注释,如:类:简单描述、作者、最后修改时间等方法:关于该方法的目的、函数、参数、返回值的描述在团队工作中,使用统一的注释规范显得尤为重要。当然,也推荐使用一些专门用来添加代码注释的工具,如C#中的XML、Java中的Javadoc等。2、使用段落型注释

2015-09-15 11:00:29 455

转载 什么是真正的实时操作系统

做嵌入式系统开发有一段时间了,做过用于手机平台的嵌入式Linux,也接触过用于交换机、媒体网关平台的VxWorks,实际应用后回过头来看理论,才发现自己理解的肤浅,也发现CSDN上好多同学们都对实时、嵌入式这些概念似懂非懂,毕竟如果不做类似的产品,平时接触的机会很少,即使做嵌入式产品开发,基本也是只管调用Platform team封装好的API。所以在此总结一下这些概念,加深自己的理解,同时也给新

2015-09-15 10:55:51 386

转载 内存泄露 内存溢出 内存碎片

********************************************************************************内存泄漏也称作“存储渗漏”,用动态存储分配函数动态开辟的空间,在使用完毕后未释放,结果导致一直占据该内存单元。直到程序结束。(其实说白了就是该内存空间使用完毕之后未回收)即所谓内存泄漏。内存泄漏形象的比喻是“操作系统可提

2015-09-10 16:15:20 1233

转载 DRAM,SRAM,SDRAM的关系与区别

存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信

2015-09-09 16:36:15 668

转载 中断和异常的区别

4.6.7 中断描述符表中断描述符表(Interrupt Descriptor Table,IDT)将每个异常或中断向量分别与它们的处理过程联系起来。与GDT和LDT表类似,IDT也是由8字节长描述符组成的一个数组。与GDT 不同的是,表中第1项可以包含描述符。为了构成IDT表中的一个索引值,处理器把异常或中断的向量号乘以8。因为最多只有256个中断或异常向量,所以 IDT无需包含多于25

2015-09-08 11:17:21 872

转载 中断和异常

中断信号的作用.使CPU转而去运行正常控制流之外的代码.为了它.就要在内核态堆栈保存程序计数器的当前值(eip和cs寄存器).并把与中断类型相关的一个地址放在程序计数器.中断处理与进程切换的差异:由中断或异常处理程序执行的代码不是一个进程,而是内核控制路径.代表中断发生时正在运行的进程执行.其比进程"轻".中断和异常中断:可屏蔽中断(maskable): I/O设备

2015-09-08 11:14:15 464

转载 ucos中的三种临界区管理机制

熟悉ucos,或者读过Jean.J.Labrosse写过的ucos书籍的人,一定会知道ucos中著名的临界去管理宏:OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()。同样是通过关中断来保护临界区,OS_ENTER_CRITICAL/OS_EXIT_CRITICAL一共实现了三种实现方式,如下所示:[cpp] view plaincop

2015-09-06 10:17:30 414

转载 STM32通过USB实现Bootlader/IAP功能

前沿:最近在做STM32的USB Bootlader/IAP功能,也就是通过USB实现固件升级,本文介绍下实现的基本思路,希望对实现IAP的同学一个参考,改方法已经在产品中得到实际应用并验证是比较合理,稳定可靠的。程序空间划分:在单片机的程序Flash中分两个区,分别存储Bootloader代码和App代码,Bootloader放到代码起始地址,也就是0x08000000,App放

2015-09-05 11:07:41 3071

转载 临界区问题的产生

临界区问题是嵌入式软件编程一个不得不面对的关键性问题。特别对于底层驱动,代码在内存中只有一份,上层的多任务或者多进程,都会对同一个驱动去访问,这样不可避免的遇到了任务之间打架的问题,处理好这个问题是区分一个菜鸟和老鸟的根本性关键之一。接下来谈谈临界区产生的原因:假设有以下代码:[cpp] view plaincopyint x;

2015-09-05 10:03:40 590

转载 前后台系统的精髓

有个产品负责把RS485上的通讯转到电力线(PLC)上。这样这个产品主要由两个任务组成:PLC通讯及485通讯。第一个工程师在裸机上实现了功能!因为当时项目忙,没空检查其程序。(唉,现在想起来,公司对软件项目没有一套成熟的管理制度,导致那时项目管理非常吃力!)因为公司待遇低,第一个工程师走了。项目转给第二个工程师时,工程师报告说两个通讯老有冲突:忙485时,忙不了PLC。 一检查:

2015-09-05 10:00:01 1652 1

转载 如何成为一个Linux内核开发者

你想成知道如何成为一个Linux内核开发者么?或者你的老板告诉你,“去为这个设备写一个Linux驱动。“这篇文档的目的,就是通过描述你需要经历的过程和提示你如何和社区一起工作,来教给你为达到这些目的所需要知道的所有知识。本文也尝试解释社区为什么这样工作的一些原因。内核几乎全是用C写成的,有一些架构相关的部分是用汇编语言写成的。熟练掌握C语言是内核开发的必备条件。汇编语言(任何架构)的了解不是必

2015-09-04 11:37:19 433

转载 冯诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别

1、冯·诺依曼结构  冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。  1945年,冯·诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯·诺依曼型结构”计算机。冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。  冯·诺依曼结构处理器具有以下几个特点:  必须有一个存储器;

2015-09-04 11:34:49 7549

转载 RISC与CISC比较

RISC的设计重点在于降低由硬件执行指令的复杂度,因为软件比硬件容易提供更大的灵活性和更高的智能,因此RISC设计对编译器有更高的要求;CISC的设计则更侧重于硬件执行指令的功能,使CISC的指令变得很复杂。总之RISC对编译器的要求高,CISC强调硬件的复杂性,CPU的实现更复杂。RISC设计思想准则:1. 指令集----RISC处理器减少指令集的种类,通常一个周期一条指令,也就是说指令

2015-09-04 11:33:52 778

转载 Thumb mode 与 ARM mode比较

一般来说, 对于同一份C程式, 分別编译为ARM mode及Thumb mode, 有下列差异:Thumb mode的code size为ARM mode的70%Thumb mode需要使用的指令比ARM mode多40%以上在32位的存储器架构下, ARM mode的code比Thumb mode的code快40%在16位的存储器架构下, Thumb mode的code比ARM mode

2015-09-04 11:32:40 2323

转载 流水线、超流水线、超标量技术对比

流水线     流水线技术是一种将每条指令分解为多步,并让各步操作重叠,从而实现几条指令并行处理的技术。程序中的指令仍是一条条顺序执行,但可以预先取若干条指令,并在当前指令尚未执行完时,提前启动后续指令的另一些操作步骤。这样显然可加速一段程序的运行过程。 市场上推出的各种不同的1 6位/ 3 2位微处理器基本上都采用了流水线技术。如8 0 4 8 6和P e n t i u m

2015-09-04 11:28:21 1436

转载 MCS-51单片机的指令时序

时序是用定时单位来描述的,MCS-51的时序单位有四个,它们分别是节拍、状态、机器周期和指令周期,接下来我们分别加以说明。     ·节拍与状态:    我们把振荡脉冲的周期定义为节拍(为方便描述,用P表示),振荡脉冲经过二分频后即得到整个单片机工作系统的时钟信号,把时钟信号的周期定义为状态(用S表示),这样一个状态就有两个节拍,前半周期相应的节拍我们定义为1(P1),后半

2015-09-02 16:18:52 2135

转载 时钟周期/指令周期/机器周期/总线周期

单片机工作时,是一条一条地从RoM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。―个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,也是一个晶振周期。它的一个机器周期是12×(1/12)us,也就是1us。 机器周期不仅对于指令执行有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一

2015-09-02 16:12:10 941

FPGA入门教程

非常详细的FPGA入门教程,很适合初学者。

2013-03-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除