ARM-Linux开发与单片机开发的异同
ARM Linux程序的开发主要分为三类:应用程序开发、驱动程序开发、内核开发以及具有不同特征的不同类型的软件开发。
ARM-Linux应用开发和单片机开发的不同
ARM的应用开发主要有两种方式:一种是直接在ARM芯片上进行应用开发,不采用操作系统,也称为裸机编程,这种开发方式主要应用于一些低端的ARM芯片上,其开发过程非常类似单片机。另外一种是在ARM芯片上运行操作系统,对于硬件的操作需要编写相应的驱动程序,应用开发则是基于操作系统的,这种方式的嵌入式应用开发与单片机开发差异较大。ARM-Linux应用开发和单片机的开发主要有以下几点不同:
(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,内核启动,应用启动等阶段。
来源:ARM-Linux开发与单片机开发的异同 - 21ic电子网
ARM-Linux开发与单片机开发的异同相关推荐
- linux 下51单片机开发环境搭建
linux 下51单片机开发环境搭建(arch linux) 编译sdcc 软件: sdcc 命令:sdcc file.c 得到一堆文件需要( .inx) 命令: packihx file.inx & ...
- linux下51单片机开发解决方案
上篇: 最近从学长那里淘到了一套单片机开发板,他给我的开发工具,驱动等都是 windwos 下的,而我一直用的是 linux--花了一个周末的时间,终于找到了一个合适的解决方案. 首先,我问了一下狗狗 ...
- stc89c52c语言开发,STC89C52单片机开发板入门教程——简介(致雅科技)
ZY_STC89C52开发板提供了以下的实验源代码和相关说明文档,帮助广大初学者快速的掌握STC89C52单片机的使用方法,开发者可以基于示例代码开发自己的应用,加快产品开发进度,节省宝贵的开发时间. ...
- 单片机开发与Linux开发有何不同?
点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 针对ARM-Linux程序的开发,主要分为三类:应用程序开发.驱动程序开发.系统内核 ...
- 单片机开发与Linux开发区别
针对ARM-Linux程序的开发,主要分为三类:应用程序开发.驱动程序开发.系统内核开发,针对不同种类的软件开发,有其不同的特点.今天我们来看看ARM-Linux开发和MCU开发的不同点,以及ARM- ...
- linux 串口编程_ARM-Linux开发与MCU开发有何不同?上篇
ARM-Linux开发与MCU开发有何不同? 针对ARM-Linux程序的开发,主要分为三类:应用程序开发.驱动程序开发.系统内核开发,针对不同种类的软件开发,有其不同的特点.今天我们来看看ARM-L ...
- 单片机开发-软件架构与系统设计(工程实现使用的也是轮询系统、前后台系统和多任务系统)
目录 单片机开发1 轮询系统: 概述 详述 前后台系统 概述 详述 单片机开发1 单片机开发可以分为程序裸跑与多任务. 在单片机的工程使用中,可以分为裸机系统和多任务系统. 裸机系统一般被叫做裸跑,大 ...
- 最新linux伺服控制,基于ARM Linux的三轴伺服控制系统人机界面设计 毕设
基于ARM Linux的三轴伺服控制系统人机界面设计 毕设 洛阳理工学院毕业设计(论文) 基于ARM+Linux的三轴伺服控制系统人机界面设计 摘要 现代计算机技术的产业革命,将世界经济从资本经济带入 ...
- 一款简单易上手的ARM单片机开发IDE—STduino
一款简单易上手的ARM单片机开发IDE-STduino 前言 STduino介绍 前言 第一眼看到这个IDE,第一反应就是名字有点像TrueSTUDIO,然后我上网查了一下,当然是没有关系的,只能说是 ...
最新文章
- spring的aop整理
- 量子计算机首次成功模拟化学反应
- 【Java】用随机数打印hello world
- Maven的介绍与安装步骤
- x64技术之SSDT_Hook
- 内置RTK北斗高精度定位的智能安全帽完成调试,上报至smarteye平台
- Intel i5-7200U (3100MHZ),1*8GB(DDR3 1600) 在 Aida64 V5.97.4600 的测试结果
- 【python 保存生成的图片 (plt;opencv;PIL)】
- 爬虫精进(八) ------ selenium
- Android 7 soter,安卓首发!OPPO Find X全面支持微信人脸支付功能
- AutoJs学习-抖音自动评论
- iOS App 签名的原理
- win10计算机禁用用户账户控制,Win10系统用户帐户控制提示怎么取消 关闭用户账户控制的3种方法...
- win2003 iis 设置301转向
- 数学分析教程 第十三章学习感受
- 彩票小贩潜伏50天惊人绽放携12人合买中52万
- Java游戏开发 —— 五子棋
- 浅谈电机,如何选择步进电机的型号?
- ipone12为什么没虹膜识别
- JAVA基础语法——面向对象思想
热门文章
- mysql高阶语句一
- kotlin挂起函数
- iOS 录音pcm获取当前音量
- 倍福--伺服配置和电机型号设置
- windows tomcat无乱码 linux下乱码,解决linux服务器tomcat乱码问题
- vue弹出alert_Vue实现移动端 message-box 与 alert 弹框@郝晨光
- Swift语法之 ---- ?和!区别
- BUU-[极客大挑战 2019]Upload1
- 网站的SEO优化(提高搜索引擎收录,类似百度)
- 微型计算机2010年8月下,微型计算机(2008上半年合订本)(上下)(附光盘)