历史上的今天
返回首页

历史上的今天

今天是:2024年10月21日(星期一)

正在发生

2018年10月21日 | ARM-Linux开发与MCU开发的区别

2018-10-21 来源:eefocus

      对于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,内核启动,应用启动等阶段。


推荐阅读

史海拾趣

Elektron公司的发展小趣事

Elektron公司的故事始于1942年,由威利·科伯以Elektron物理技术设备工厂Kerber的名称成立。当时,该公司主要生产基于汞蒸气整流器的固定电池电源和船用电池充电器。这些产品在市场上取得了良好的反响,为公司的发展奠定了坚实的基础。在随后的几年里,Elektron不断扩大产品范围,开始涉足汽车行业的电池充电器以及焊接和切割工艺的电源等领域。

Helium公司的发展小趣事

随着Helium在物联网领域的不断突破和发展,其市场认可度逐渐提升。在2021年,Helium通过Token销售完成了1.11亿美元的融资;次年年初,又以12亿美元估值完成了2亿美元的D轮融资。这些融资的成功不仅为Helium提供了充足的资金支持,也进一步验证了其在物联网和区块链领域的商业价值和发展潜力。同时,Helium还吸引了众多明星机构和投资者的青睐,为其未来的发展奠定了坚实的基础。

Ememory Technology Inc公司的发展小趣事

随着电子行业的快速发展和市场竞争的加剧,eMemory始终保持着对新技术和新市场的敏锐洞察力。公司不断推出新的硅智财产品和解决方案,以满足客户不断变化的需求。同时,eMemory还积极拓展国际市场,与全球多家知名芯片设计厂商建立了长期稳定的合作关系。这些努力使得eMemory在电子行业中保持着领先地位,并为其未来的发展奠定了坚实的基础。

FASTRAX公司的发展小趣事

1999年,FASTRAX在芬兰赫尔辛基成立,专注于为全球设备生产商和设计商提供高性能的GPS接收模块。公司凭借对GNSS技术的深入理解,迅速在市场中崭露头角。其首创的带天线GPS接收模块以其高效、稳定的性能,赢得了客户的广泛赞誉。

ADDtek公司的发展小趣事

在成立初期,FASTRAX就注重技术创新,不断推出新的产品和技术方案。其中,Fastrax iSuite MP SDK软件开发系统是其技术创新的代表,该系统为编程人员提供了丰富的资源,大大简化了GPS接收模块的开发过程。这一创新不仅提升了FASTRAX产品的竞争力,也推动了整个电子行业的发展。

AZ Displays公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,AZ Displays的产品应用领域也在不断拓展。除了传统的消费电子领域外,公司的产品还广泛应用于航空电子、医疗、导航系统、工业控制等多个领域。通过与各行业合作伙伴的紧密合作,AZ Displays成功打开了新的市场大门,实现了业务的快速增长。

问答坊 | AI 解惑

请各位高手指教,下面的电路能不能成立,不能成立的原因是什么?

电路是我自己画的,个人分析如下,有不对的地方希望大家指正:谢谢~ 1》通电,12V经R1到Q1的C极,经R2加至Q1的B极,Q1饱和导通,C极等于0 此时Q2,Q3,Q4的B极全部为0 Q2为PNP管,此时是导通状态,但对电路没影响 2》按S1, ...…

查看全部问答>

FM发射电路全集!!!

FM发射电路全集!!!…

查看全部问答>

单片机论坛

第二次免费开发板赠送,40mb 开发资料包:实例,原理图,keil 正式版,免费下载 第二次免费开发板赠送,40mb 开发资料包:实例,原理图,keil 正式版,免费下载下载50个单片机程序实例和开发板原理图,学林电子免费开发板暑期助学活动报名!暑假在家 ...…

查看全部问答>

6833的开发流程

请教各位大侠:   我近期在使用MT68332的单片机。请教一下开发流程。我使用的工具sds。我的笔记本没有并口。请教如何使用串口开发…

查看全部问答>

DXP里原理图转换WORD时候匡怎么去掉

请大家帮个忙!我在DXP 里画的原理图拷到WORD格式,不过原理图的外面的匡没法去掉,我就需要复制原理图,不要外面的匡和右下脚的匡,有什么办法只能把原理图复制过去呢! 谢谢你们了!…

查看全部问答>

eboot 中断只响应一次

我想在eboot中加入USB中断的方式下载功能。现在遇到这么一个问题,中断触发时,响应中断,进入中断处理函数,然后退出中断。等下一个中断到来时,就无法响应中断了。中断处理函数退出时,已经开了中断。也就是说,只响应一次中断,请问,这是什么原 ...…

查看全部问答>

wince 驱动开发 小问题?

wince下的驱动程序的编写是不是都可以用流驱动来做,, 我知道像键盘.显示.电源都是本机驱动... 想问一下打印机驱动可以用流驱动来做不??怎样实现与具体的硬件相连呢?…

查看全部问答>

DLL文件调试问题

我新学EVC,碰到一个很怪的问题(个人认为)。我在模拟器上调试我要调用的DLL文件,用TRACE宏写的语句在监视窗口可以看到,但在PDA上调试的时候却看不到,连设置的断点也进不去,但在模拟器下可以。试了很多方法都没用,希望各位大侠指点下小弟呀。…

查看全部问答>

F2812 的C编译器好像不分char和int都用一个16位来存储??

F2812 的C编译器好像不分char和int都用一个16位来存储??这岂不是很浪费? 比如 const unsigned char gImage_background[1000] = {。。。。} 我把.econst  分配在长度为0x200word(1024byte)的内存里,被告知: [Linking...] \\" ...…

查看全部问答>

使用ADC12测MSP430X149的供电电源的方法

将149的××cc与DVcc接到电源的正极,××ss接到负极,然后使用ADC12测试。程序如下; #include <msp430x14x.h> void main(void) { volatile unsigned int i; WDTCTL = WDTPW+WDTHOLD; ADC12CTL0 = ADC12ON+SH ...…

查看全部问答>