嵌入式重点文档格式.docx

上传人:b****5 文档编号:16061706 上传时间:2022-11-18 格式:DOCX 页数:52 大小:3.54MB
下载 相关 举报
嵌入式重点文档格式.docx_第1页
第1页 / 共52页
嵌入式重点文档格式.docx_第2页
第2页 / 共52页
嵌入式重点文档格式.docx_第3页
第3页 / 共52页
嵌入式重点文档格式.docx_第4页
第4页 / 共52页
嵌入式重点文档格式.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

嵌入式重点文档格式.docx

《嵌入式重点文档格式.docx》由会员分享,可在线阅读,更多相关《嵌入式重点文档格式.docx(52页珍藏版)》请在冰豆网上搜索。

嵌入式重点文档格式.docx

Nandflash不可以片内执行程序,写数据较norflash快。

RAM:

RandomAccessMemory

随机存取,数据掉电丢失、读写速度快、并行读写

静态RAM:

SRAM

动态RAM:

DRAM、SDRAM、DDRRAM

基本结构:

地址译码器、存储矩阵和读\写控制电路构成。

✧字符设备与块设备;

字符设备:

以字节为单位进行数据处理。

通常只允许按顺序访问,一般不使用缓存技术。

如鼠标,声卡等。

块设备:

以块为单位进行处理,块的大小通常为0.5KB到32KB等。

大多数块设备允许随机访问,而且常常采用缓存技术。

块设备有硬盘、光盘驱动器等。

可以查看文件/proc/devices获得。

✧根文件系统的构建(怎么去构建一个根文件系统);

构建根文件系统就是往相应的目录添加相应的文件。

1.添加设备文件、2.添加动态库、3.添加内核模块、4.添加系统应用程序、5.配置系统初始化文件

2.

(1)Linux的根文件系统包括支持linux系统正常运行的基本内容,至少应包括以下几项内容:

基本的文件系统结构,如bin、dev、etc、sbin,lib、usr、proc。

基本程序运行所需的动态库。

基本的系统配置文件。

必要的设备文件支持。

基本的应用程序,如sh、ls、cp等。

(2)构建根文件系统就是往相应的目录添加相应的文件。

如:

在/dev添加设备文件,

在/etc添加配置文件,

在/bin添加命令或者程序,

在/lib添加动态库等。

✧RAM、ROM的连线规则(最高位怎么确定);

(考)

地址线的连接取决于总线宽度

连接方法:

原因:

CPU寻址以字节为单位,即1Byte=8bit

对于8位存储器,正好对应,即【A0:

A7】->

【ADDR0:

ADDR7】

对于16位存储器,乘2,即左移1位,即【A0:

A15】->

【ADDR1:

ADDR16】

对于32位存储器,乘4,即左移2位,即【A0:

A31】->

【ADDR2:

ADDR32】

SDRAM接线方法:

BA0,BA1地址线:

代表SDRAM的最高位

BA0,BA1确定原则:

由SDRAM的设计容量与BANK数量决定

例如:

8M,4BANK

·

8M=2^23,即23根地址线·

4BANK,即需要两根BANK线

故:

BA0<

=>

ADDR21·

BA1<

ADDR22

✧权限设置(例如:

0664代表什么);

-rw-r--r--1rootroot42304Sep418:

26install.log

在“1”之前的那一串就是这个文件的权限

第一个字符:

代表这个文件的是“目录、文件或链接文件等”

“d”——表示目录

“-”——表示文件

“l”——(字母L的小写)表示连接文件

“b”——表示设备文件里面的可供存储的接口设备

“c”——表示设备文件里面的串行端口设备,如键盘等

接下来的字符:

以3个为一组,共三组,且均为“rwx”的3个参数(按顺序)的组合。

r—可读,

w—可写,

x—可执行,

“-”(减号)—没有权限,

第一组(2-4):

文件所有者的权限(用户user的权限),

第二组(5-7):

用户所在组(group)的权限,

第三组(8-10):

其他用户(others)的权限。

(接着那个“1”数字表示连接数,后面两个root,分别是文件所有者和文件所属用户组,后面是文件的大小,最后被修改的日期,文件名。

重点:

上面的rwx可以参照8421的方式转化为数字,如果rwx都存在的话,那么它的数值为7,要记得有三组权限,所以转化后的数值是个三位数:

r:

对应数值4

w:

对应数值2

x:

对应数值1

-:

对应数值0

三个组每一个组占一位,这样形成如下数字组合:

0001为其他人的执行权限;

0002为其他人的写权限;

0004为其他人的读权限;

0010为组的执行权限;

0020为组的写权限;

0040为组的读权限;

0100为所有者的执行权限;

0200为所有者的写权限;

0400为所有者的读权限;

权限掩码示例:

-rwx------等于数字表示700。

-rwxr—r--等于数字表示744。

-rw-rw-r-x等于数字表示665。

drwx—x—x等于数字表示711。

drwx------等于数字表示700。

-rwxrwxrwx数值是777

-rw-r--r--数值是644(多用)

-rwxr-xr-x数值是755(多用)

改变文件属性与权限:

三个命令:

chgrp:

改变文件所属用户组

chown:

改变文件所有者

chmod:

改变文件的权限(多用)

命令使用方式:

chmod后面可以加u(用户)g(组)o(其他人)a(所有人)

chmoda+w.bashrc(这个是要加权限的文件名)

意思是给这个文件加写,所有人都可以向这个文件写入东西

+(加入)

-(除去)

=(设置)

格式:

chmod--用户--加或减或等于--rwx--文件名

其中,rwx可以用数值代替。

✧常见的文件系统:

针对Flash的有哪些?

针对RAM的有哪些?

基于FLASH的文件系统:

JFFS2、YAFFS、Cramfs、Romfs

基于RAM的文件系统:

Ramdisk、ramfs/tmpfs

 

✧常用的操作命令(例如怎么拷贝一个文件到某个指定目录);

PPT“Linux常用命令”

目录文件命令:

Ls目录文件信息:

ls[选项][目录或文件]

选项:

-a显示指定目录下所有子目录与文件,包括隐藏文件。

-A显示指定目录下所有子目录与文件,包括隐藏文件。

但不列出“.”和“..”。

-c按文件的修改时间排序。

-C分成多列显示各项。

-d如果参数是目录,只显示其名称而不显示其下的各文件。

往往与l选项一起使用,以得到目录的详细信息。

-i在输出的第一列显示文件的i节点号。

-l以长格式来显示文件的详细信息。

这个选项最常用。

-R递归式地显示指定目录的各个子目录中的文件。

-s给出每个目录项所用的块数,包括间接块。

pwd显示当前目录:

显示当前绝对路径

cd进入某一个目录:

cd 

[目的目录]

ln创建文件链接:

ln[选项]目标[链接名]

mv移动或改名文件:

mv[options]源文件或目录目标文件或目录,移动和修改文件名

cp拷贝文件:

cp[选项]源文件或目录目标文件或目录,从源文件拷贝到目标文件或路径

mkdir创建目录:

mkdir[选项]dirname

rm删除文件:

rm[参数]文件名或目录名

find查找文件

✧常用的编译命令(例如:

gcc-o-s/-p,-s/-p代表什么意思);

1.gcc-Esource_file.c

-E,只执行到预编译。

直接输出预编译结果。

2.gcc-Ssource_file.c 

-S,只执行到源代码到汇编代码的转换,输出汇编代码。

3.gcc-csource_file.c

-c,只执行到编译,输出目标文件。

4.gcc(-E/S/c/)source_file.c-ooutput_filename

-o,指定输出文件名,可以配合以上三种标签使用。

-o参数可以被省略。

这种情况下编译器将使用以下默认名称输出:

-E:

预编译结果将被输出到标准输出端口(通常是显示器)

-S:

生成名为source_file.s的汇编代码

-c:

生成名为source_file.o的目标文件。

无标签情况:

生成名为a.out的可执行文件。

5.gcc-gsource_file.c 

-g,生成供调试用的可执行文件,可以在gdb中运行。

由于文件中包含了调试信息因此运行效率很低,且文件也大不少。

这里可以用strip命令重新将文件中debug信息删除。

这是会发现生成的文件甚至比正常编译的输出更小了,这是因为strip把原先正常编译中的一些额外信息(如函数名之类)也删除了。

用法为stripa.out

6.gcc-ssource_file.c

-s,直接生成与运用strip同样效果的可执行文件(删除了所有符号信息)。

7.gcc-Osource_file.c

-O(大写的字母O),编译器对代码进行自动优化编译,输出效率更高的可执行文件。

-O后面还可以跟上数字指定优化级别,如:

gcc-O2source_file.c

数字越大,越加优化。

但是通常情况下,自动的东西都不是太聪明,太大的优化级别可能会使生成的文件产生一系列的bug。

一般可选择2;

3会有一定风险。

8.gcc-Wallsource_file.c

-W,在编译中开启一些额外的警告(warning)信息。

-Wall,将所有的警告信息全开。

9.gccsource_file.c-L/path/to/lib-lxxx-I/path/to/include

-l,指定所使用到的函数库,本例中链接器会尝试链接名为libxxx.a的函数库。

-L,指定函数库所在的文件夹,本例中链接器会尝试搜索/path/to/lib文件夹。

-I,指定头文件所在的文件夹,本例中预编译器会尝试搜索/path/to/include文件夹。

✧编译过程还有每个过程生成的是什么文件(例如.s/.o/.so/.a分别代表的是什么文件);

gcc支持的文件类型(记住)

后缀

说明

.c

C源程序

.o

编译后的目标程序

.h

头文件

.s

汇编语言源程序

.i

经过预处理的C程序

.S

经过预编译的汇编程序

gcc编译过程:

1、预编译:

处理头文件和预编译语句——gcc-

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 其它语言学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1