Embeded
文章平均质量分 76
fg8181
爱好篮球,音乐,Linux...
展开
-
跟我一起写Makefile(一)
概述 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写转载 2008-04-08 22:56:00 · 632 阅读 · 0 评论 -
跟我一起写Makefile(二)
书写命令 每条规则中的命令和操作系统Shell的命令行是一致的。make会一按顺序一条一条的执行命令,每条命令的开头必须以[Tab]键开头,除非,命令是紧跟在依赖规则后面的分号后的。在命令行之间中的空格或是空行会被忽略,但是如果该空格或空行是以Tab键开头的,那么make会认为其是一个空命令。 我们在UNIX下可能会使用不同的Shell,但是make的命令默认是被“/b转载 2008-04-08 23:12:00 · 579 阅读 · 0 评论 -
跟我一起写Makefile(三)
使用条件判断 使用条件判断,可以让make根据运行时的不同情况选择不同的执行分支。条件表达式可以是比较变量的值,或是比较变量和常量的值。 一、示例 下面的例子,判断$(CC)变量是否“gcc”,如果是的话,则使用GNU函数编译目标。 libs_for_gcc = -lgnunormal_libs = foo: $(objects)ifeq (转载 2008-04-08 23:14:00 · 3045 阅读 · 0 评论 -
跟我一起写Makefile(六)
使用make更新函数库文件 函数库文件也就是对Object文件(程序编译的中间文件)的打包文件。在Unix下,一般是由命令"ar"来完成打包工作。 一、函数库文件的成员 一个函数库文件由多个文件组成。你可以以如下格式指定函数库文件及其组成: archive(member) 这个不是一个命令,而一个目标和依赖的定义。一般来说,这种用法基本上就是为转载 2008-04-08 23:18:00 · 559 阅读 · 0 评论 -
跟我一起写Makefile(四)
make 的运行 一般来说,最简单的就是直接在命令行下输入make命令,make命令会找当前目录的makefile来执行,一切都是自动的。但也有时你也许只想让make重编译某些文件,而不是整个工程,而又有的时候你有几套编译规则,你想在不同的时候使用不同的编译规则,等等。本章节就是讲述如何使用make命令的。 一、make的退出码 make命令执行后有三个退出码转载 2008-04-08 23:16:00 · 579 阅读 · 0 评论 -
跟我一起写Makefile(五)
隐含规则 在我们使用Makefile时,有一些我们会经常使用,而且使用频率非常高的东西,比如,我们编译C/C++的源程序为中间目标文件(Unix下是[.o]文件,Windows下是[.obj]文件)。本章讲述的就是一些在Makefile中的“隐含的”,早先约定了的,不需要我们再写出来的规则。 “隐含规则”也就是一种惯例,make会按照这种“惯例”心照不喧地来运行,那怕我们的转载 2008-04-08 23:17:00 · 483 阅读 · 0 评论 -
嵌入式启动过程
嵌入式系统启动架构是嵌入式系统的关键技术,掌握启动架构对于了解嵌入式系统的运行原理有着重要的意义。嵌入式系统在启动时,引导代码、操作系统的运行和应用程序的加载主要有两种架构,一种是直接从Nor Flash启动的架构,另一种是直接从Nand Flash启动的架构。 1. 从Nor Flash启动Nor Flash具有芯片内执行(XIP,eXecute In Place)的特点,在嵌入式系统中原创 2008-04-16 09:22:00 · 2875 阅读 · 0 评论 -
交叉编译工具
在Debian里建立交叉编译环境(cross-compiler) 嵌入式开发很重要的一步就是建立自己的交叉编译环境,也就是在宿主机器上编译生成目标机器上的执行代码。比如在i386机器上装有Linux操作系统,在ARM板子上装着嵌入式系统,比如Linux;要在板子上做应用程序开发,则现在宿主机器上(这里就是i386机器)上编辑,编译,链结,生成目标代码,然后下载到目标机器上执行。其转载 2008-04-17 17:05:00 · 1369 阅读 · 0 评论 -
Linux内核头文件中关于s3c2410 GPIO的宏
一、GPIO寄存器定义1.#define GPCON(x) __REG2(0x56000000, (x) * 0x10) 这句是定义2410的GPIO的控制寄存器,注意:__REG2的参数是寄存器的物理地址,这个物理地址经_REG2宏转换为虚拟地址,对照2410的手册可以得到一下对应关系:GPCON(1) ------ PORT A 0x56000000GPCON(2) --转载 2008-05-24 23:21:00 · 908 阅读 · 0 评论