快捷搜索:  as  test  1111  test aNd 8=8  test++aNd+8=8  as++aNd+8=8  as aNd 8=8

和记娱bh88285:ARMLinux应用开发和单片机开发的区别是什么



针对ARM-Linux法度榜样的开拓,主要分为三类:利用法度榜样开拓、驱动法度榜样开拓、系统内核开拓,针对不合种类的软件开拓,有其不合的特征。本日我们来看看ARM-L和记娱bh88285inux开拓和MCU开拓的不合点,以及ARM-Linux的基础开拓情况。

1 ARM-Linux利用开拓和单片机开拓的不合

这里先要做一个阐明,对付ARM的利用开拓主要有两种要领:一种是直接在ARM芯片长进行利用开拓,不采纳操作系统,也称为裸机编程,这种开拓要领主要利用于一些低真个ARM芯片上,其开拓历程异常类似单片机,这里不多论述。还有一种是在ARM芯片上运行操作系统,对付硬件的操作必要编写响应的驱动法度榜样,利用开拓则是基于操作系统的,这种要领的嵌入式利用开拓与单片机开拓差异较大年夜。ARM-Linux利用开拓和单片机的开拓主要有以下几点不合:

● 利用开拓情况的硬件设备不合

单片机:开拓板、仿真器调试器)、USB线;

ARM-Linux:开拓板、网线、串口线、SD卡;

对付ARM-Linux开拓,平日是没有硬件的调试器的,尤其是在利用开拓的历程中,很少应用硬件的调试器,法度榜样的调试主如果经由过程串口进行调试的;然则必要阐明的是,对付ARM芯片也是有硬件仿真器的,但平日用于裸机开拓。

● 法度榜样下载要领不合

单片机:仿真器(调试器)下载,或者是串口下载;

ARM-Linux:串口下载、tftp收集下载、或者直接读写SD、MMC卡等存储设备,实现法度榜样下载;

这个与开拓情况的硬件设备是有直接关系的,因为没有硬件仿真器,故ARM-Linux开拓时平日不采纳仿真器下载;这样看似未方便,着实给ARM-Linux的利用开拓供给了更多的下载要领。

● 芯片的硬件资本不合

单片机:平日是一个完备的谋略机系统,包孕片内RAM,片内FLASH,以及UARTI2C、AD、DA等各类外设;

ARM:平日只有CPU,必要外部电路供给RAM以供ARM正常运行,外部电路供给FLASH和记娱bh88285、SD卡等存储系统映像,并经由过程外部电路实现各类外设功能。因为ARM芯片的处置惩罚能力很强,经由过程外部电路可以实现各类繁杂的功能,其功能远远强于单片机。

● 固件的存储位置不合

单片机:平日具备片内flash存储器,固件法度榜样平日存储在该区域,若固件较大年夜则必要经由过程外部电路设计外部flash用于存储固件。

ARM-Linux: 因为其没有片内的flash, 并且必要运行操作系统,全部系统映像平日较大年夜,故ARM-Linux开拓的操作系统映像和利用平日存储在外部的MMC、SD卡上,或者采纳SATA设备等。

● 启动要领不合

单片机:其布局简单,内部集成flash, 平日是芯片厂商在法度榜样上电时加入固定的跳转指令,直接跳转到法度榜样进口(平日在flash上);开拓的利用法度榜样经由过程编译器编译,采纳专用下载对象直接下载到响应的地址空间;以是系统上电后直接运行到响应的法度榜样进口,实现系统的启动。

ARM-Linux:因为采纳ARM芯片,履行效率高,功能强大年夜,外设相对富厚,是功能强大年夜的谋略机系统,并且必要运行操作系统,以是其启动要领和单片机有较大年夜的区别,然则和家用谋略机的启动要领基真相同。其启动一样平常包括BIOS,bootloader,内核启动,利用启动等阶段。

(a)启动BIOS

BIOS是设备厂家(芯片或者是电路板厂家)设置的响应启动信息,在设备上电后,其将读取响应硬件设备信息,进行硬件设备的初始化事情,然后跳转到bootloader所在位置(该位置是一个固定的位置,由BIOS设置)。(根据小我理解,BIOS的启动和单片机启动类似,必要采纳响应的硬件调试器进行固件的写入,存储在必然的flash 空间,设备上电启动后读取flash空间的指令,从而启动BIOS法度榜样。)

(b)启动bootloader

该部分已经属于嵌入式Linux软件开拓的部分,可以经由过程代码修改定制响应的bootloader法度榜样,bootloader的下载平日是采纳直接读写SD卡等要领。即编写定制响应的bootloader,编译天生bootloader映象文件后,使用对象(专用或通用)下载到SD卡的MBR区域(平日是存储区的第一个扇区)。此时必要在BIOS中设置,或者经由过程电路板的硬件电路设置,选择bootloader的加载位置;若BIOS中设置从SD卡启动,则BIOS初始化停止后,将跳转到SD卡的位置去履行bootloader,从而实现bootloader的启动。

Bootloader主要感化是初始化需要的硬件设备,创建内核必要的一些信息并将这些信息经由过程相关机制通报给内核,从而将系统的软硬件情况带到一个相宜的状态,终极调用操作系统内核,真正起到向导和加载内核的感化。

(c)启动内核

bootloade和记娱bh88285r启动完成初始化等相关事情之后,将调用内核启动法度榜样。这就进入了实际的操作系统相关内容的启动了,包括响应的硬件设置设置设备摆设摆设,义务治理,资本治理等内核法度榜样的启动。

(d)启动利用

在操作系统内核启动之后,就可以开始启动必要的利用,去完成真正的营业操作了。

2 ARM-Linux 基础开拓情况

前面先容了ARM-Linux利用开拓和单片机开拓的不合之处,信托你已经对ARM-Linux利用开拓有了一个基础的熟识了,下面将先容一下ARM-Linux的基础开拓情况。其主要包括硬件情况和软件情况两个部分,这里以iMX53和Ubuntu为例进行阐明。

● 硬件情况

开拓板:ARM运行的硬件情况,或者是响应项目的ARM电路板。

谋略机:作为开拓主机应用,安装Linux(如Ubuntu)),或者采纳虚拟机安装Ubuntu。

串口线:用于开拓历程中采纳终端进行串口调试或下载法度榜样。

网线:用于连接arm-board和开拓主机,实现tftp下载内核(法度榜样等),经由过程收集nfs运行法度榜样等。

SD卡(及读卡器)或者其他存储设备:用于存储bootloader、内核映像等,以及终极的软件系统的存储;开拓历程中,平日用于保存bootloader,向导系统启动。

● 软件情况

Ubuntu: 作为操作系统,是全部软件开拓情况的载体,响应的开拓对象都部署在此系统中。

LTIB: 这是freescale的供给的一个编译对象链,能够很方便的将源代码文和记娱bh88285件编译为得当的法度榜样代码,并对法度榜样进行调试;用户也可以经由过程下载源码构建自己的编和记娱bh88285译对象链。

tftp: 用于从开拓主机Ubuntu上向arm-board 下载内核文件、利用文件等。

nfs收集文件系统:用于在开拓主机上建立收集nfs文件根系统,arm-board经由过程nfs收集文件系统读取开拓主机上的虚拟根文件系统,完成系统的启动;方便系统的开拓与调试。

minicom:串口调试对象,用于在开拓主机上与arm-board通信,实现对arm-board上利用法度榜样的操作与调试。

Eclipse:集成开拓情况,主要方便代码的编辑、编译等,也可采纳DS5,RealView等;或者采纳gedit进行编辑,经由过程LTIB进行编译和治理。

责任编辑;zl

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

您可能还会对下面的文章感兴趣: