自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

转载 Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数

Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数 特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数...

2017-12-30 21:29:02

阅读数 104

评论数 0

原创 shell 中的 -eq -ne -gt -lt ge le

shell中的比较不是使用简单的> =   -eq     //equal  等于   -ne     //no equal 不等于   -gt      //great than 大于   -lt       // low than  小于   ge      // great...

2017-12-30 21:25:11

阅读数 5784

评论数 1

原创 $(@:_config=)解释

这里使用了Makefile中的替换引用规则,类似常看到的例子 obj = $(srcfiles:%.c=%.o):由.c得到对应的.o文件,这里是一样的道理:     $(@:_config=)    其中@代表的是smdk2410_config,那么$(@:_config=)就是将smd...

2017-12-30 21:00:49

阅读数 1221

评论数 0

原创 RS485硬件标准2--常见RS485收发器管脚解析

接RS485标准1文章。。。    RS485收发芯片有很多种,厂家、型号五花八门,但是管脚定义,基本上是一致的,如下图所示:     1-RO:接收器输出。(输出到CPU或其他接收端) 2-RE:接收器输出使能。 3-DE:驱动器输出使能。 4-DI:驱动器输入 5-GND 6-A:驱动器输出/...

2017-12-22 22:48:01

阅读数 2485

评论数 0

原创 差分信号解释

所谓差分方式传输,就是发送端在两条信号线上传输的幅值是相等的,相位是相反的电信号,如下图所示:        而对于接收端,将会对接收的两条信号做 减法运算,这样就获得了幅值翻倍的信号,其抗干扰原理是:假如两条信号都收到同样的(同向、等幅度)的干扰信号,由于接收端是怼接收的两条线信号进行...

2017-12-22 17:53:04

阅读数 10863

评论数 0

原创 RS485硬件标准1-电平定义

RS485标准是为了弥补RS232通信距离短、速率低等缺点而产生的而产生的,该接口标准只规定了电气特性,并没有规定接插件,传输电缆和 应用层通信协议。     RS485标准与RS232不一样,数据信号采用差分传输方式。     所谓差分传输,就是发送端在两条信号线上传输幅值相等,相位相反的电信号...

2017-12-22 17:30:17

阅读数 24112

评论数 3

转载 Makefile 中的 “=”,“:=”,“?=”,“+=”的区别

转自:http://blog.csdn.net/liuxd3000/article/details/17679937 在Makefile中我们经常看到 = := ?= +=这几个赋值运算符,那么他们有什么区别呢?我们来做个简单的实验 新建一个Makefile,内容为: ifdef DEF...

2017-12-20 21:55:39

阅读数 79

评论数 0

转载 Makefile 自动化变量及其说明

模式规则 模式规则类似于普通规则。只是在模式规则中,目标名中需要包含有模式字符“%”(一个),包含有模式字符“%”的目标被用来匹配一个文件名,“%”可以匹配任何非空字符串。规则的依赖文件中同样可以使用“%”,依赖文件中模式字符“%”的取值情况由目标中的“%”来决定。例如:对于模式规则“%.o...

2017-12-17 21:35:15

阅读数 104

评论数 0

原创 Makefile 书写规则

Makefile的书写规则有两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序很重要,因为Makefile中只应该有一个最终目标,其他的目标都是被这个目标所带出来的,所以一定要让make命令知道你的最终目标是什么。一般来说定义在Makefile中的目标可能有很多,...

2017-12-14 21:51:23

阅读数 105

评论数 0

原创 make命令工作时执行的步骤

1.读入所有的Makefile 2.读入被include 的其他 Makefile 3.初始化文件中的变量。 4.推导隐晦规则,并分析所有规则。 5.为所有目标文件创建依赖关系链。 6.根据依赖关系,决定哪些目标要重新生成。 7.执行生成命令。

2017-12-14 21:32:10

阅读数 1421

评论数 0

原创 make 命令的自动推导功能

make命令自动推导功能,或者说是默认推导功能,这也是make的强大之处,只要make看到一个.o文件,它就会自动把同名的.c文件加在依赖关系中,例如如果make找到一个hello.o,那么hello.c就会是hello.o的依赖关系,并且cc -c hello.c也会被推导出来,于是我们的mak...

2017-12-13 22:06:00

阅读数 248

评论数 0

原创 makefile中的变量

一个简单的例子: edit:main.o kbd.o command.o display.o \                insert.o search.o files.o cc -o edit main.o kbd.o command.o display.o \        ...

2017-12-13 21:51:51

阅读数 73

评论数 0

原创 makefile 规则之---make命令-编译,依赖关系

make命令的核心是找依赖性,make命令会一层又一层地区找文件的依赖关系,知道最终编译出目标文件,在找寻过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令错误,或者编译不成功,make根本不理,make只管文件的依赖性,即,没有依赖性,就不执行...

2017-12-13 21:40:32

阅读数 1495

评论数 0

原创 Makefile简单规则--基本规则

makefile的简单规则如下: target :prerequisites....      command      ..... target是一个目标文件,可以是object file,也可以是执行文件,还可以是一个标签label。 prerequisites:就是要生成那...

2017-12-13 21:26:24

阅读数 129

评论数 0

原创 程序编译、链接简单过程

源文件首先会生成中间目标文件,再由中间目标文件生成执行文件。     在编译时,编译器只检测程序语法和函数、变量是否声明,如果函数未声明,编译器会出给出一个警告,但是仍然可以生成object file,但是在链接程序时,链接器会在所有的object file中找到每个函数的实现,如果找不到,就会...

2017-12-13 21:15:33

阅读数 99

评论数 0

原创 库文件解释

编译程序会生成中间目标文件(object file),也就是.o文件,然后链接器将这些中间文件链接成可烧写或可执行文件,在大多数时候,由于源文件太多,编译生成的中间文件也比较多,而在链接时时需要明显地支出中间目标文件名的,这对于编译很不方便,尤其是linux下编写makefile时,非常不方便,所...

2017-12-13 21:11:03

阅读数 141

评论数 0

转载 uboot环境变量的讲解

转自:http://blog.csdn.net/x_jjt/article/details/50733483 一、环境变量的作用于全局变量是相似的,环境变量的生命周期一旦设置好环境变量并保存好,下次开机时还会存在,而全局变量在关机后会消失,只有在下次开机时才会产生一个新的全局变量。    全局...

2017-12-12 21:16:38

阅读数 249

评论数 0

原创 ARM 链接地址和烧写地址

在ARM设计中,一般会涉及都一个链接地址,这个链接地址和烧写地址很容易混淆,会认为链接地址就是烧写地址,这个是错的,下面说的是个人的一些认识,可能会有一些错误,说的也可能不专业,但是对于初学者,可以帮助理解。     首先链接地址和烧写地址是两个范畴的东西,几乎是没有关系的,烧写地址,可以认为是...

2017-12-11 21:01:33

阅读数 533

评论数 0

原创 嵌入式Linux开发流程

在学习嵌入式开发的过程中,尤其是开始入门时,包括各种各样的教程,都是在讲学习linux,很少讲如何利用linux来开发属于自己的嵌入式项目,也就是没有一个全局的概念,简单理解,大概流程如下: 一、建立开发环境     操作系统当然是LInux,或者在win系统下安装虚拟机,通过网络下载相应的GCC...

2017-12-09 19:20:30

阅读数 11353

评论数 0

原创 C语言中的 联合体 union 说明

在C语言中 有 联合体这种数据结构,虽然用的很少,但是也会用到,那么联合体是一种什么结构呢?    当多个数据需要共享内存或者多个数据每次只取其一时,就可以利用联合体,联合体的定义是这样的: (1)联合体是一种结构。 (2)它的所有成员相对于基地址的偏移量都是0. (3)此结构空间要大到足...

2017-12-09 13:58:09

阅读数 559

评论数 0

原创 bootloader的两个阶段

bootloader一般都是分为两个阶段的,第一个阶段使用汇编来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码;第二阶段则通常使用C语言来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和移植性。    两个阶段如下: 一、第一阶段功能 (1)硬件设备初始化; ...

2017-12-09 13:35:31

阅读数 1169

评论数 0

原创 嵌入式linux系统结构概述

嵌入式LInux系统从软件的角度通常分为一下4个层次,如下图所示: (1)引导加载程序,包括固化在固件中的boot代码和bootloader两大部分。有些cpu在运行bootloader之前会先运行一段固化程序,比如x86的CPU会先运行BIOS中的固件,然后才运行硬盘的第一个分区(MB...

2017-12-08 21:23:26

阅读数 827

评论数 0

原创 根文件系统中各个常用目录简介

正常来说,根文件系统至少要包括一下目录:   /etc : 存储重要的配置文件。  /bin:  存储常用且开机时必须要用到的执行文件。 /sbin:存储着开机过程中所需要的系统执行文件。 /lib:存储/bin及/sbin的执行文件所需要的链接库,以及linux的内核模块。 /dev:...

2017-12-07 22:09:53

阅读数 677

评论数 0

原创 Linux--根文件系统的解释

linux中有一个“根文件系统”,这个系统概念容易混淆,其他的文件系统容易理解,就是管理存储空间的系统,那么根文件系统的作用,却不是特别容易理解。     一、根文件系统概念    首先根文件系统也是一种文件系统,只不过它是一种比较特殊的形式,百科解释里说根文件系统是内核启动时 mount 的...

2017-12-07 21:36:07

阅读数 2753

评论数 0

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