自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 如何抵抗记忆的衰退

1大脑中跟记忆紧密关联的两个区域是扁桃体和海马体。我们通过视觉、听觉、触觉获取的信息,先由扁桃体判断喜恶,接着海马体会把情感上喜欢的东西当做重要信息来处理从而在大脑中打下印记。小明撸了一把后,终于耐下性子看微积分、傅里叶变换,但扁桃体告诉他:尼玛坑爹啊,这都是啥啊?所以小明决定出去走走,未料转角遇到爱,哦不,是一个朱唇半启、酥胸微露、黑丝大长腿的姑娘,姑娘竟还对小明一笑,于...

2015-01-23 21:11:00 138

转载 C程序运行的背后(2)

话说上回说到,C程序运行之前,必须要加载到其进程地址空间中。今儿咱就扯扯这个加载到底是怎么加载的。 一图胜前言,这个图简单说明了可执行文件加载过程的逻辑流,在此只做粗粒度概要说明。需要准确描述的,请出门左转,看源码去吧。1. 程序总是运行在进程上下文(context)中的,当输入./memlayout时,shell会创建一个子进程。除每个进程独有的专属信息外,子进程会继承父...

2014-12-30 21:55:00 128

转载 C程序运行的背后(1)

一个成功的男人背后,至少有一个伟大的女人;一个不成功的男人,至少有一双手。而一个C程序,无论成功不成功,它的背后一定有一个操作系统,一个shell,一套工具链。世界本就不公平。隐藏在显而易见的事实背后的,你若能看透,便可以站在对自己公平的那一端。1、进程地址空间一个进程一旦建立,就会自认为占有4G内存(X86_32),这个内存被称作虚拟内存,也就是进程的地址空间。在Lin...

2014-12-29 22:17:00 113

转载 Shell脚本:“syntax error:unexpected end of file”

这种错误只能说是坑,如果没有见到过,很可能就要摔里头。解决问题是重要的,但弄明白问题的来源,往往更为重要。所以要先扯一下,换行和回车的历史遗留问题。在计算机出现之前,有个玩意叫电传打字机。每秒钟可以打10个字符,但是在打完一行需要换行时,要用去0.2s。这正好可以打2个字符,这段时间里如果有字符传过来,那么这些字符将被丢失。很显然,要解决这个问题,最简单的办法就是浪费...

2013-09-26 10:32:00 100

转载 怎样建一个库

几个文件在堆代码的过程中,最常用到的文件有:头文件(.h)、源文件(.c/.cpp)、目标文件(.o/.obj)、库文件(.a/.lib和.so/.dll)和可执行文件(.out/.exe)。其中,头文件和源文件是用ACSII字符码出来的,处理器是读不懂这些字符的,所以需要编译器把它们翻译成二进制;目标文件、库文件和可执行文件都是经编译器处理之后的二进制文件,这是用户不可读的,所以打...

2013-01-22 12:57:00 305

转载 安装SQLite3引发的库问题

由于项目需要,需要用嵌入式数据库SQLite3搭建数据库。首先当然是要安装SQLite啦。从官网下了安装包,读完README和INSTALL,发现安装过程很简单,还是老三式:./configure、make 和 make install。但是在安装好之后,程序还是无法运行,出现错误:ERROR:SQLite header and source version mismatch...

2013-01-09 21:00:00 462

转载 C标准库——浮点数

浮点数格式学C的时候就知道,浮点数采用的是类似于科学计数法的表示方式。具体的浮点数的模型是:一个尾数(mantissa),一个基数(base),一个指数(exponent)和符号位表示。再百度的深一点,在规范化形式下(没错,还有非规范形式),就可以把float和double的表示格式列个表格: 类型 存储位数 偏...

2012-10-07 15:38:00 372

转载 这样还弄不死指针?

厘清”指针是什么“这件事什么是整型变量?我认为可以说成是接收整型数据的变量。这样就可以得到指针变量的定义——接收指针(地址)的变量——指针就是地址,这和指针变量是两回事!!指针是个(带箭头的)16进制的数,而指针变量就是盛放这个数的容器。还不能理解?换句话说,地址可以看成是特殊点的数据类型,和整型、字符、浮点等一个地位。但是地址这厮为了弄出神秘感来,硬是给自己扣了个头...

2012-09-27 19:48:00 56

转载 C标准库——程序员等级

首先,还是得说一下C标准库的发展史喽。C89中有15个标准头文件: <assert.h>、<ctype.h>、 <errno.h>、 <float.h>、 <limits.h>、 <locale.h>、 <math.h>、 <setjmp.h>、<sig...

2012-09-24 22:58:00 139

转载 Linux文件组织,混乱中的秩序

在linux中,一切都看成文件,不管是目录还是设备。所以想要熟练使用Linux,那么对文件的本质和组织结构要有一定的认识。Linux中,文件都组织成字节流(byte stream)的形式,这样就有利于数据的流动和传输。对于字节流,可以借C++中的概念来理解,C++的标准输入输出iostream和文件流fstream的本质就是字节流。Linux的文件,乍看之下只能用...

2012-09-14 21:52:00 111

转载 我的Linux(Ubuntu)首秀

心里一直对传说中的Linux有种向往,曾经在没太了解Linux的情况下,凭着一些安装教程自己动手,结局是悲剧性的。虽然逢此一难,对Linux的热情却是更盛,于是便看了前几章《鸟哥的私房菜》。鉴于上次的悲剧和盘里的资料,所以用VM装了个Fedora,虽一切正常,可是总觉得有些怪。再说,机子运行虚拟机时的内存消耗让人心痛,再在里头运行个桌面版的Linux,还有什么体验可谈呢?...

2012-09-06 22:17:00 70

转载 Emcas配置过程所遇问题

折腾了几天Emacs,配置过程实在是很繁琐,对于一个新手来说,Lisp就已经是天文啦。本来想放弃了,因为这个配置过程实在是浪费时间。当回到Windows下频繁的鼠标操作时,我想我还是继续配置好了。这里主要记录一下配置过程中我所遇到的问题吧。平台:win7软件版本:emacs-23.2(windows)、cedet1.1、ecb-2.40emacs的安装过程遍...

2012-06-09 15:17:00 209

转载 C/C++ 预处理器

从会敲代码开始,我们就知道编译器的重要性,没有这东西,我们的代码就是一堆字符而已。而编译器编译程序的步骤主要有四个——预处理、编译、汇编和链接,最后得到可执行的目标文件。四个步骤各自的工作会是怎么样的呢?不知为何,对这个东西有了点兴趣。以GCC为例,主要工作是这样的:预处理阶段会调用cpp,编译阶段会调用cc得到汇编程序,汇编阶段调用as得到目标代码,链接时...

2012-06-01 23:38:00 108

转载 CMD如何看起来更像Linux终端

虽然可以在windows的CMD下用gcc/g++编译代码了,可是CMD的字体是在是难以让我忍受。没有任何歧视心态,就是觉得没有美感,心理感觉不爽。由于CMD使用的是中文代码页(936),所以可通过“属性”修改的字体只有那难看两种字体。如果在CMD窗口中执行“chcp 437”,可以看到可更换的字体中多了Consolas和Lucida console两种字体。这两种字体虽...

2012-05-27 12:09:00 334

转载 windows照样命令行gcc/g++

即使在windows下,也可以像linux一样使用gcc/g++这样优秀的编译器。晚上闲得无聊,突然看到Windows的CMD也可以编译C/C++程序,就像Linux下的超级终端一样,通过命令行使用gcc/g++编译器来编译C/C++代码。这是我从Larry Ullman的C++ PROGRAMING一书上看到的。还是记录一下,说不定以后无聊时可以拿来玩玩。网上有...

2012-05-21 20:03:00 425

转载 单片机新结

也算是用过一段时间的单片机,但是当初也就是熟悉了一些模块的使用,对于单片机的工作原理并不是很了解。所以最后也难以深入学习,充其量就是熟悉了C51的编程,要想了解一个MCU的工作原理,了解汇编是很有必要的。而在编程过程中,最重要的就是时序!无论是进行存储器的读写,还是进行通信,只有时序匹配了,才可以写出高效的少bug的代码。而这些恰恰是需要掌握最基础的东西才能达到的。于是重新学...

2012-01-06 21:12:00 139

转载 DDS正弦信号发生器

虽然临近考试,还是偷着时间把DDS的初级操作给搞定了,O(∩_∩)O哈哈哈。从搞清理论原理,到下载调试出波形,还真费了点功夫。 这也算从VHDL转战verilog的第一仗吧,把模块化设计小过了把瘾,嘿嘿…… 不管这能不能算个项目,但我还是在短时间内弄出来了,至于细节问题还有功能加强,考试之后再说喽! 首先还是要理清DDS中的理论计算关系,好的设计总是靠些理论的,呵呵。以输出信号...

2011-12-18 23:35:00 1124

转载 简单分频原理与实现——计数器

一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对FPGA的系统时钟(频率较高)进行分频。 比如在进行流水灯、数码管动态扫描设计时不能直接使用系统时钟(太快而肉眼无法识别),或者需要进行通信时, 由于通信速度不能太高(由不同的标准限定),这样就需要对系统时钟分频以得到较低频率的时钟。 分频器主要分为偶数分频、奇数分频、半整数分频和小数分频,如果在设计过程中采用参数化设...

2011-12-16 12:30:00 2823

转载 时序分析之Slack

slack 的值通常用来表示设计是否满足时序要求。同样有setup slack 和 hold slack ,如果slack 的值为正,则表明设计可以满足setup / hold time 要求,反之不满足。 Setup slack = Data Required Time(setup) - Data Arrival Time 若setup slack 为正,表示Data Requ...

2011-12-12 23:21:00 2622

转载 时序分析之Arrival Time

首先要理解两个概念:launch edge 和 latch edgelaunch edge 是源寄存器发送数据的时钟沿,是时序分析的起点。latch edge是目的寄存器捕获数据的时钟沿,是时序分析的终点。如图示,源寄存器在0ns时发送数据,目的寄存器在5ns时采样数据,两者刚好相差一个时钟周期。Data Arriv...

2011-12-06 22:23:00 4127

转载 时序分析之基本概念

Quartus II中的时序分析为静态时序分析,即STA(static timing analysis)。STA分析的对象是同步逻辑电路,通过路径计算延迟的总和,分析时序间的相对关系。业界最流行的分析工具是Primetime,此系列以Altera 的Quartus 为基础的。STA主要就是分析fmax、tsu、th、tco这几个参数。这些参数的定义如下: fMAX ...

2011-12-06 21:52:00 171

转载 Signal Tap II简单使用小记

Signal Tap II有助于观察逻辑内部信号行为,可使不借助外部设备进行设计调试。(当然使用的前提条件是有硬件平台)Signal Tap II ELA 组成框图采样获得的数据会存储在器件的存储器块中,通过JTAG下载线可以把数据传回Quartus 中进行波形显示。 可以设置数据采集缓冲器(Buffers)的大小、数据采集方式和存...

2011-11-24 23:45:00 556

空空如也

空空如也

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

TA关注的人

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