2016 - 2024

感恩一路有你

linux嵌入式开发第五讲 嵌入式开发基础?

浏览量:2925 时间:2023-05-11 11:16:36 作者:采采

嵌入式开发基础?

《嵌入式系统开发基础》主要内容以及:嵌入式系统基础知识、嵌入式十字交叉编译环境与嵌入式开发环境的搭建中、基于条件Linux的嵌入式软件开发流程、MiniGUI应用程序设计、嵌入式数据库应用、Qt图形界面应用程序开发。

《嵌入式系统开发基础》涉及嵌入式系统从底层驱动到顶层应用的各个部分,配合实验操作可以循序渐进地指导读者成功各个章节内容的学习,开路人初学者成功了直接进入嵌入式世界。

linux驱动开发和单片机驱动的区别?

.lonux安装驱动开发和单片机驱动开发的区别塞200以内几点?ARM-Linux应用开发和单片机lonux:

这里先能做一个只能说明,对于ARM的应用开发主要有两种一种是然后在ARM芯片上并且应用开发,不区分操作系统,也称做裸机编程,这种的新比较多应用方法于一些低端的ARM芯片上,其旗下过程非常的的单片机,这里差不多概括。

另外一种是在ARM芯片上正常运行操作系统,相对于硬件的操作要c语言程序相对应的驱动程序,应用开发则是基于组件操作系统的,这种的嵌入式应用开发与单片机开发差异较大。ARM-Linux应用开发和单片机的开发要注意有100元以内几点不同:

(1)应用开发环境的硬件设备完全不同

单片机:开发板,仿真器(调试器),USB线;

ARM-Linux:开发板,网线,串口线,SD卡;

对此ARM-Linux开发,正常情况是没有硬件的调试器的,尤其是在应用开发的过程中,很少使用硬件的调试器,程序的调试要注意是通过串口通过软件调试的;但必须说明的是,这对ARM芯片也有硬件仿真器的,但常见作用于裸机开发。

(2)程序上网下载有所不同

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

ARM-Linux:串口上网下载、tftp网络可以下载、或者真接写入数据SD、MMC卡等存储设备,基于程序去下载;

这个与开发环境的硬件设备是有然后关系的,因此没有硬件仿真器,故ARM-Linux开发时大多数不按结构仿真器直接下载;那样可那不方便,不过给ARM-Linux的应用开发可以提供了更多的下载。

(3)芯片的硬件资源不同

单片机:通常是一个发下的计算机系统,包含片内RAM,片内FLASH,以及UART、I2C、AD、DA等各种外设;

ARM:大多数唯有CPU,是需要外部电路提供给RAM以供ARM正常运行,外部电路提供FLASH、SD卡等存储系统映像,并通过外部电路基于各种外设功能。导致ARM芯片的处理能力很强,是从外部电路也可以实现各种奇怪的功能,其功能比起强于单片机。

(4)固件的存储位置有所不同

单片机:大多数具备片内flash存储器,固件程序大多存储文件在该区域,若固件较大则不需要按照外部电路设计外部flash作用于存储固件。

ARM-Linux:导致其没有片内的flash,因此不需要运行操作系统,整个系统映像大多较大,故ARM-Linux开发的操作系统映像和应用大多数储存在外部的MMC、SD卡上,的或采用SATA设备等。

(5)启动相同

单片机:其结构简单,内部集成flash,通常是芯片厂商在程序上电时组建固定设置的跳转指令,真接自动跳转程序入口(大多数在flash上);旗下的应用程序按照编译器编译,常规专用下载工具然后去下载到或者的地址空间;因为系统上电后再运行到相应的程序通往,基于系统的启动。

ARM-Linux:因此常规ARM芯片,不能执行效率高,功能强大,外设低些丰富地,是功能强大的计算机系统,而且必须运行操作系统,所以我其正常启动和单片机有减小的差别,可是和配置一般计算机的启动基本上同一。其起动就像包括BIOS,bootloader,内核正常启动,应用启动等阶段;

(a)启动后BIOS:BIOS是设备厂家(芯片或则是电路板厂家)可以设置的相应启动信息,在设备上电后,其将读取数据或则硬件设备信息,通过硬件设备的初始化工作,然后再跳转到bootloader所在位置(该位置是个固定设置的位置,由BIOS设置)。(据个人解释,BIOS的启动和单片机启动类似,不需要按结构你所选的硬件调试器进行固件的读取,储存在一定的flash空间,设备上电启动时后读取数据flash空间的指令,最终达到启动BIOS程序。)

(b)起动bootloader:该部分也一类嵌入式Linux软件开发的部分,是可以代码可以修改订制你所选的bootloader程序,bootloader的下载正常情况是区分就读写SD卡等。即c语言设计设计定制相应的bootloader,代码编译生成bootloader映象文件后,凭借工具(专用或同型号)直接下载到SD卡的MBR区域(大多数是存储区的第一个扇区)。此时必须在BIOS中设置里,或者通过电路板的硬件电路设置,你选择bootloader的运行程序位置;若BIOS中设置从SD卡正常启动,则BIOS重新初始化已经结束后,将页面跳转SD卡的位置去不能执行bootloader,最终达到基于bootloader的启动。

Bootloader主要注意作用是重新初始化必要的硬件设备,创建内核需要的一些信息并将这些信息通过咨询机制传达给内核,最终达到将系统的软硬件环境带回两个比较好的状态,终于调用操作系统内核,能够作用有限阻止和程序加载内核的作用。

(c)启动时内核:bootloader启动能够完成系统初始化等具体工作之后,将内部函数内核启动程序。这就进入到了求实际的操作系统相关内容的启动了,除了或则的硬件配置,任务管理,资源管理等内核程序的启动。

(d)起动应用:在操作系统内核启动后之后,就可以不正在起动要的应用,去能够完成真正的的业务操作了。

程序 ARM 开发 系统 硬件

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。