没有合适的资源?快使用搜索试试~ 我知道了~
单片机和嵌入式系统linux的区别.doc
需积分: 5 0 下载量 94 浏览量
2022-07-18
14:34:38
上传
评论
收藏 58KB DOC 举报
温馨提示
试读
15页
单片机和嵌入式系统linux的区别.doc
资源详情
资源评论
资源推荐
. . . .
1 / 15
单片机和嵌入式系统 linux 的区别
随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM 公司
推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选
择,本专题将从芯片价格、整个系统的硬件软件设计与维护的成本等各个方面给
您 提供一个参考, 并从技术角度分析单片机和带操作系统的系统的软件开发的
异同点。
● 1.单片机与 ARM 等新处理器的价格比较
● 2.带操作系统与不带操作系统的软件开发的区别
● 2.1.驱动开发的区别
● 2.2.应用程序开发的区别
1. 单片机与 ARM 等新处理器的价格比较
表 1
型号
架构
资源
价格(元)
AT89S51
8051
最高频率 33MHz
4KB Flash
128B 部 RAM
32 个可编程 IO 引脚
两个 16bit 的计数器
一个 UART 口
4
SST89E564RD
8051
最高频率 40MHz
64KB Flash
1KB 部 RAM
32 个可编程 IO 引脚
三个 16bit 的计数器
一个 UART 口
一个 SPI 接口
35
STM32F103
CORTEX-M3
最高频率 72MHz
64KB 或 128BK Flash
20KB SRAM
80 个可编程 IO 引脚
2 个 12bit 的 ADC
7 通道 DMA 控制器
标准调试口(SWD 和
JTAG)
7 个定时器
USB 接口
2 个 I2C 接口
3 个 UART
2 个 SPI 接口
21
HI3510
ARM9+DSP 双核
最高工作频率 240MHz
80
. . . .
2 / 15
视频处理单元,支持多
种协议的实时编解码
图形处理单元
视音频接口
以太网接口
DDR 控制器
USB、UART、IrDA、
I2C、SPI、GPIO 等多种
外设接口
S3C2440
ARM9
最高工作频率 400MHz
SDRAM 控制器
LCD 控制器
4 通道 DMA 控制器
3 个 UART
2 个 SPI
1 个 I2C 接口
IIS 音频接口
SD HOST 接口
2 个 USB 接口
8 个 10bit ADC
摄像头接口
Camera 接口
40
从表 1 里面各种芯片的资源,大概就可以猜知它们的应用场合。51 单片机通常
被用来做一些比较简单的控制,比如采集信号、驱动一些开关。AT89S51 的 Flash
只有 4K,一个稍微复杂的程序就不止 4K 了。SST89E564RD 是一种扩展的 51 单片
机,它的 Flash 达到 64KB,可以外接最多 64KB 的 SRAM。在 SST89E564RD 上的程
序可以写得更复杂一些,但是它对外的接口也比较少。
CORTEX-M3 系列的处理器,对外接口极其丰富,这使得它的应用面更广,但是限
于它的 Flash、存还是比较小,一般不在上面运行操作系统,它算是一个性能非
常突出的单片机。
HI3510 是海思半导体公司的一款用于监控设备的芯片,一般上面运行 Linux 系
统,通过摄像头采集数据、编码,然后通过网络传输。另一端接收到数据之后,
再解码。 在上面运行的程序非常复杂,有漂亮的图片界面、触摸屏控制、数据
库等等。对声音图像的编解码更是用到 DSP 核。
S3C2440 是一款通用的芯片,它与“高级单片机”STM32F103 相比,多了存储控
制器和 NAND 控制器──这使得可以外接更大的 Flash、更大的存;多了 存管理
单元(MMU)──这使得它可以进行地址映身(虚拟地址、物理地址之间的映射)。
可以在 S3C2440 上运行 Linux 系统,运行更大更复杂的程 序。
. . . .
3 / 15
在具体工作中,怎么选择这些芯片呢?一句话:成本!进行任何产品的开发都要
考虑性价比,一切应该从“成本”出发。成本不仅包括芯片的价格,也包括整个
系统的硬件、软件设计与维护的难易。
芯片价格可以在电子市场问到,也可以在 ic.net.cn 上找到有卖这种芯片的
柜台,然后咨询。
基于不同的应用,处理器和其他外设的选择是要统一考虑的,如果要实现一个简
单的 U 盘读写功能,那么可以选择带 USB 控制器的 CORTEX-M3 芯片,也可以选择
8051 外接一个 USB 控制器比如 SL811,就看哪种方案成本更低。进行芯片选型时,
必须基于整个系统来考虑。
员工的偏好和知识结构也是一个很重要的因素,如果他对 ATMEL 的芯片比较熟,
他就不会倾向于三星;如果他不会 Linux 等操作系统,那么选型时就不会有操作
系统的概念。选择自己不熟悉的芯片和技术,最后的成本也可能更高。
2. 带操作系统与不带操作系统的软件开发的区别
用通 俗的话来说,一个处理芯片不运行操作系统,我们就把它称为单片机,而
单片机编程就是写裸板程序,这个程序直接在板子上运行;相对的,另一种程序
就是基于操 作系统的程序,说得简单点就是,这种程序可以通过统一的接口调
用“别人写好的代码”,在“别人的基础上”更快更方便地实现自己的功能。
2.1. 驱动开发的区别
驱动开发的区别我总结有两点:能否借用、是否通用。
2.1.1 能否借用
基于 操作系统的软件资源非常丰富,你要写一个 Linux 设备驱动时,首先在网
上找找,如果有直接拿来用;其次是找到类似的,在它的基础上进行修改;如果
实在没 有,就要研究设备手册,从零写起。而不带操作系统的驱动开发,一开
始就要深入了解设备手册,从零开始为它构造运行环境,实现各种函数以供应用
程序使用。
举个例子,要驱动一块 LCD,在单片机上的做法是:
① 首先要了解 LCD 的规格,弄清楚怎么设置各个寄存器,比如设置 LCD 的时钟、
分辨率、象素
② 划出一块存给 LCD 使用
③ 编写一个函数,实现在指定坐标描点。比如根据 x、y 坐标在这块存里找到这
个象素对应的小区域,填入数据。
基于操作系统时,我们首先是找到类似的驱动,弄清楚驱动结构,找到要修改的
剩余14页未读,继续阅读
智慧安全方案
- 粉丝: 3693
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0