嵌入式系统移植+心得

2020-03-03 17:14:49 来源:范文大全收藏下载本文

嵌入式系统作为近年来新兴的且发展很快的学科,它的应用越来越受到广大技术人员的重视。尤其起可移植性,显著的区别了通用操作系统。一款嵌入式操作系统通常运行在不同体系结构的处理器和开发板上,极大的方便了开发者开发与应用,节约了成本。 嵌入式操作系统作为移植支持嵌入式系统应用的操作系统软件,被广泛的运用于不同应用领域。纵观嵌入式系统40多年的历史,从无操作系统的嵌入式算法阶段到简单监控式的实时操作系统,一步又一步的到现在的以Internet为标志的嵌入式系统,一批又一批的先辈为其努力而奋斗。科技的革新,带动着社会的发展,人类的进步。大数据的时代必定属于我IT人。以下我们聊一聊嵌入式系统及其移植性。 嵌入式操作系统大体分为商用型和免费型。 商用型主要是WindowsCE。Psos.os-9.qnx等其价格较为昂贵,开发成本高,广泛运用于通信。军事。航天等高端技术领域

免费型主要为Linux等主要运用于没有存储器管理单元的处理器而设置。 嵌入式基本操作共四步

主机和目标机的连接方式;

UARA最经典90%的板子上,都支持的方式叫异部串行接口,也就是我们所说的串口。 USB串行接口 TCP/IP网络接口 Debug Jtag调试接口

补充说明

1.对于串口,通常用的有串口调试助手,putty工具等,工具很多,功能都差不多,会用一两款就可以;

2.对于USB线,当然必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成;

3.对于网线,则必须要有网络协议支持才可以

安装交叉编译器

方法一:分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用下列的方法二构建交叉工具链。

方法二:通过Crotool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。

方法三:直接通过网上下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的,没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名其妙的错误

搭建主机 一般情况下在嵌入式中我们用的比较多的服务就两个 在Linux下一个叫TFTP一个叫NFS,

TFTP顾名思义就是FTP的一个简版,它是基于UDP传输的,相当于它的协议比较简单。 NFS它的全名叫做网络文件系统,这个网络文件系统主要是Linux和Linux之间做挂载用的。

烧写测试

以上为嵌入式基本操作的四个步骤

嵌入式Linux系统移植主要由四大部分组成:

一、搭建交叉开发环境

综上所述

二、Boot loader的选择和移植

boot loader基本概念:就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。

三、kernel的配置、编译、和移植

1将下载好的linux-2.6.35.tar.bz2拷贝到主目录下解压

2修改顶层目录下的Makefile,主要修改平台的体系架构和交叉编译器 3拷贝标准版配置文件,目的是得到跟我们开发板相关的配置信息 4配置内核 5编译内核

6通过tftp网络服务下载测试内核

四、根文件系统的制作

flash芯片的驱动程序是由系统来提供,所以它的存取特点完全是flash自身的特点,这时最好有更加适合flash的文件系统——Jffs、Yaffs、Cramfs和Romfs。这些文件系统都是嵌入式Linux系统中常用的文件系统,可以根据特点来选择使用它们,特点如下:

共同点

基于MTD驱动 Jffs

A.针对NOR Flash的实现

B.基于哈希表的日志型文件系统

C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布

D.可读写,支持数据压缩

E.崩溃/掉电安全保护

F.当文件系统已满或接近满时,因为垃圾收集的关系,运行速度大大放慢 Yaffs

A.针对Nand Flash的实现

B.日志型文件系统

C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布

D.可读写,不支持数据压缩

E.挂载时间短,占用内存小

F.自带Nandflash驱动,可以不使用VFS和MTD Cramfs

A.单页压缩,支持随机访问,压缩比高达2:1

B.速度快,效率高

C.只读,有利于保护文件系统免受破坏,提高了系统的可靠性,但是无法对其内容进行扩充

Romfs

A.简单的、紧凑的、只读的文件系统

B.顺序存放数据,因而支持应用程序以XIP(execute In Place,片内运行)方式运行,在系统运行时,节省RAM空间

特有的文件系统类型:Ramdisk文件系统 在Linux系统中,内存经常用于存储文件系统,这种叫做Ramdisk,Ramdisk有两种,一种是完全把内存看成物理存储介质,利用内存模拟磁盘,运用磁盘的文件系统类型;另一种只是在内存中存储了文件系统逻辑结构,运用tmpfs&ramfs文件系统类型:

tmpfs&ramfs

1.概述

用物理内存模拟磁盘分区,挂载这种分区后,就可以跟读写磁盘文件一样读写这里面的文件,但是操作速度要比磁盘文件快得多;所以一般应用在下面几个方面:

1)读写速度要求快的文件应该放在这种文件系统中

2)磁盘分区为flash的情况下,把需要经常读写的文件放在这种文件系统中,然后定期写回flash

3)系统中的临时文件,如/tmp、/var目录下的文件应该放在这种文件系统中

4)/dev设备文件(因为设备文件随驱动和设备的加载和卸载而变化),应该放在这种文件系统中

2.特点

1)由于数据都存放在物理内存中,所以系统重启后,这个文件系统中的数据会全部丢失

2)ramfs在没有指定最大的大小值情况下,会自动增长,直到用掉系统中所有的物理内存为止,这时会导致系统的崩溃,建议挂载时最好限定其最大的大小值

3)tmpfs如果指定了大小值,自动增长至大小值后,系统会限定它的大小;这个文件系统占用的物理内存页可以背置换到swap分区,但是ramfs不行

由于嵌入式技术发展飞速,新技术不断涌现。大数据时代的IT人更该更加努力。发愤图强。嵌入式兼顾硬件和软件更加考验我们的能力,需要更多的基础知识。天下英豪出我辈,一入IT岁月催。加油了!

学习嵌入式系统心得

嵌入式系统

嵌入式系统硬件项目设计心得

嵌入式心得

嵌入式系统实验报告

嵌入式系统学习心得

嵌入式系统课程设计

嵌入式系统实验报告

嵌入式系统实验

嵌入式系统实验报告

《嵌入式系统移植+心得.doc》
嵌入式系统移植+心得
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文