初学者必须知道:ARM和单片机有什么区别?
1. 软件
这可能是最大的区别。 操作系统被引入。 为什么要引入操作系统? 有什么好处?
1)方便。 主要体现在后期的开发上,即直接在操作系统上开发应用程序。 与微控制器不同,一切都必须重写。 操作系统移植前期还是需要专业人士来完成。
2)安全。 这是LINUX的一个特性。 LINUX的内核和用户空间内存管理是分开的,系统不会因为单个用户程序错误而死掉。 这在微控制器的软件开发中是从未见过的。
3)高效。 引入进程管理和调度系统,使系统运行更加高效。 传统的微控制器开发中,大多采用基于中断的前后端技术,在多任务管理方面存在局限性。
2. 硬件
如今的8位微控制器技术和硬件发展非常快,出现了很多功能非常强大的微控制器。 但与32arm相比还是有一定差距。
大多数Arm芯片都将SDRAM、LCD和其他控制器集成到薄膜中。 在8位计算机中,大多需要外部扩展。
总的来说,单片机就是微控制器,而arm显然就是微处理器。
引入嵌入式操作系统后,可以实现许多单片计算机系统无法完成的功能。 例如:嵌入式Web服务器、java虚拟机等。也就是说,有很多免费资源可用,上面提到的两个服务就是例子。 如果在微控制器上开发这些功能,难度可想而知。
初学者如何选择ARM开发硬件?
1、如果你有做硬件、单片机的经验,建议自己做一个最小系统板:如果你没做过ARM开发,建议一开始不要太大太全,做一下一切应用都很好,由于ARM的启动方式与DSP或单片机不同,经常会遇到各种问题,所以建议先安装一块只有Flash、SRAM或SDRAM、CPU、JTAG和复位信号的小系统板,留有扩展接口。 要让最小系统正常运行,你的任务就完成了一半。 好在arm的外围接口基本都是标准接口。 如果您有连接这些硬件的经验,这对您来说将是一件非常容易的事情。
2. 手写启动代码。 首先写一段可以根据硬件地址启动的小代码,包括以下部分:
初始化端口,屏蔽中断,并将程序复制到SRAM; 完成代码的重新映射; 配置中断处理程序,连接C语言入口。也许你看到了一些给你的示例程序,bootloader有很多东西,但是不要被这些复杂的程序所困扰,因为你不是在做开发board,你的任务是制作一个小程序,使你的应用程序能够运行
3、如果是做硬件的话,每个厂家基本上都有该芯片的DEMO板原理图。 首先消化原理图。 这样,你以后设计的时候,对资源的分配就会有一个清晰的思路。 必须充分理解设备的数据表。
4.仔细研究你所使用的芯片的信息。 虽然arm核心是兼容的,但是每个芯片都有自己的特点。 编写程序时必须考虑这些问题。 尤其是女孩子,这里不要有依赖心理。 你总是想修改别人的示例程序,但修改得越多,它们就越乱。
5.多阅读操作系统程序。 在arm中应用源代码的程序有很多。 如果你想提高自己,就应该多看别人的节目。 Linux、uc/os-II等都是很好的源代码。
6.如果是做软件,最好了解操作系统的机制。 当然这对于软件工程师来说是小菜一碟。 但如果你是硬件人,那就有点困难了。
问:最小系统板做2层好还是4层好?
答:只有AT91可以使用两层板,其他至少必须是4层; 如果44b0的地和电源处理得当,也可以使用两层板。