4384|0

14

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

新手向!对ARM和嵌入式Linux的认识和理解 [复制链接]

嵌入式系统开发分为硬件部分和软件部分:
”硬件部分:

1、ARM介绍
嵌入式产品硬件,主要是一块以(ARM、 DSP、 FPGA)为核心的开发板。根据不同的需求,配置不同的外设,因为嵌入式产品是为特定应用而生的,所以利用这些嵌入式芯片可以开发出很多产品;ARM是一款嵌入式芯片,往往说到ARM是指内核是ARM的,一般内核部分会加上cache ram rom等构成cpu,在此基础上其余部分都叫外设,外设和cpu通过总线连接,常见外设有:usb,lcd,keyboard,uart,gpio,iic总线等控制器,类似的还有DSP、FPGA都是内核+外设构成一个硬件板子。简单来讲,嵌入式硬件就是内核+外设。
宋工企鹅号:3524-6590-88   Tel/WX:173--1795--1908
2、嵌入式硬件开发
硬件开发,主要流程是1需求分析:确定要做什么系统,系统会涉及到那些模块,相应模块分别对应什么设备;2选型:选择合适的芯片和外设,先看有没有类似的产品,选择比较成熟的产品作为开发基础,加快开发效率;3进入开发阶段。
宋工企鹅号:3524-6590-88   Tel/WX:173--1795--1908
软件部分:

1、Linux介绍
linux最大特点就是开源,内核代码全部开放,这就可以让我们自己根据需求定制自己的操作系统,操作系统主要功能就是管理片上所有资源,任务调度,为应用程序运行服务的。

2、软件开发
嵌入式软件开发,包括基于操作系统之上的应用程序开发,和操作系统内核的驱动开发(驱动属于内核的一部分)。嵌入式软件部分编程,就是在pc机上编写代码,最后下载到板子上执行。
宋工企鹅号:3524-6590-88   Tel/WX:173--1795--1908
嵌入式技能描述:

1、开发环境搭建:嵌入式开发需要交叉开发环境,因为我们编码工作都在pc上完成,运行在pc上的是基于x86体系的,在arm上运行需要编译成特定代码,运用交叉编译器编译。其中包括1u-boot/vivi(相当于BIOS)的移植,这种bootloader是严重依赖于硬件,所以不同板子有不同配置,一般都根据板子进行配置修改;2内核裁剪,内核是一个很庞大的体系,支持很多服务,而我们需求可能只有几种,为了减小嵌入式产品资源开销,内核都进行裁剪(驱动加入或者删除);3根文件系统制作,应用程序是基于文件系统之上的,有了内核必须要有文件系统才能运行应用程序。宋工企鹅号:3524-6590-88   Tel/WX:173--1795--1908

2、应用程序开发:主要是用C语言或者C++按需求开发代码,最后交叉编译,下载到板子运行。开发环境Qt,vim编辑器;交叉编译器arm-linux-gcc;

3、Makefile编写:代码编写后,要写一个Makefile来编译源代码,Makefile就是按照规则运行gcc命令,最终生成可执行文件,类似于批处理或者说是批编译。

4、设备驱动开发:驱动是根据特定硬件的,要根据硬件厂商提供的datasheet进行编写,基本上是编写fileoperation里面的函数(open、close、read、write、ioctrl等),最后将设备驱动加载进内核(通过建立设备节点让操作系统知道这个设备)。
宋工企鹅号:3524-6590-88   Tel/WX:173--1795--1908
5、基于板子外设的软件开发:嵌入式ARM最强大的功能是控制能力,类似于早期的单片机,但是比单片机要有强大的网络通信能力,支持操作系统,更多外设;

这种软件开发就是通过编程,根据硬件datasheet,让ARM控制硬件的控制器完成各种硬件的协调工作。(比如板子上一个引脚接上lcd,让这个引脚对应地址内容为1就可以点亮这个lcd

6、熟悉电子线路基本知识:模电,数电,高频电子,信号处理。

7、熟悉基于linux的socket网络编程。

以下课程可免费试听C语言、电子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
想学习的你和我联系预约就可以免费听课了。



点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表