历史上的今天
返回首页

历史上的今天

今天是:2025年01月15日(星期三)

正在发生

2018年01月15日 | 理清ARM开发思路的四个必看知识点

2018-01-15 来源:21IC中国电子网

由于涉及编程,学习ARM单片机系统对于从事电子电路的设计者来说是有些困难的,学习知识不难,难的是理清其中的开发思路,找到一个好的起点。本文就将从这一步入手,为大家介绍初次接触ARM开发应该从哪几方面来理清开发思路。


做个最小系统板:如果从没有做过ARM的开发,建议一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash、SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果已有这些硬件的布线经验那就更好了。


写启动代码


根据硬件地址先写一个能够启动的小代码,包括以下部分:初始化端口、屏蔽中断、把程序拷贝到SRAM中、完成代码的重映射、配置中断句柄,连接到C语言入口。也许一些示例程序当中bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为这是设计开发板过程中需要设计,并不包含在ARM设计范畴中。


研究芯片资料


尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。尤其是女孩子,在这儿千万别有依赖心理,总想拿别人的示例程序修改,却越改越乱。


了解操作系统程序


在ARM的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。


硬件


如果设计者自己制作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。如果先将原理图消化。在以后做设计时就能做到对资源的分配心中有数。器件的DATSHEET一定要好好消化。


最小系统板


很多人会问,做最小系统板是2层还是4层好?答:只有AT91可以用两层板,其他的最少4层;44b0的地和电源处理好也可用两层板;谈四层板和33欧电阻:选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗。33欧电阻一般加在驱动器端,也是起阻抗匹配作用的;布线时要先布数据地址线,和需要保证的高速线;在高频的时候,PCB板上的走线都要看成传输线。


传输线有其特征阻抗,学过传输线理论的都知道,当传输线上某处出现阻抗突变(不匹配)时,信号通过就会发生反射,反射对原信号造成干扰,严重时就会影响电路的正常工作。采用四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为“微带”(microstrip)的传输线,它的阻抗比较固定,而且可以计算。


对于两层板就比较难以做到这样。这种传输线阻抗主要于走线的宽度、到参考平面的距离、敷铜的厚度以及介电材料的特性有关,有许多现成的公式和程序可供计算。33欧电阻通常串连放在驱动的一端(其实不一定33欧,从几欧到五、六十欧都有,视电路具体情况),其作用是与发送器的输出阻抗串连后与走线的阻抗匹配,使反射回来(假设解收端阻抗没有匹配)的信号不会再次反射回去(吸收掉),这样接收端的信号就不会受到影响。


接收端也可以作匹配,例如采用电阻并联,但在数字系统比较少用,因为比较麻烦,而且很多时候是一发多收,如地址总线,不如源端匹配易做。这里梭说的高频,不一定是时钟频率很高的电路,是不是高频不止看频率,更重要是看信号的上升下降时间。通常可以用上升(或下降)时间估计电路的频率,一般取上升时间倒数的一半,比如如果上升时间是1ns,那么它的倒数是1000MHz,也就是说在设计电路是要按500MHz的频带来考虑。


有时候要故意减慢边缘时间,许多高速IC其驱动器的输出斜率是可调的。Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中的仿真工具(ICE)的障碍。内核的完全开放使人们可以自己设计和开发出真正的硬实时系统,软实时系统在Linux中也容易得到实现。强大的网络支持使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。Linux提供了完成嵌入功能的基本内核和所需要的所有用户界面,它是多面的。它能处理嵌入式任务和用户界面。


一个小型的嵌入式Linux系统只需要下面三个基本元素:*引导工具*Linux微内核,由内存管理、进程管理和事务处理构成*初始化进程如果要让它能干点什么且继续保持小型化,还得加上:*硬件驱动程序*提供所需功能的一个或更多应用程序。再增加功能,或许需要这些:*一个文件系统(也许在ROM或RAM)中*TCP/IP网络堆栈。


本文从启动代码、芯片资料、操作系统程序、最小系统版这四个方面来为新手进行讲解,在针对ARM开发思路时首先需要从这四个方面来进行入手,那么在之后的学习过程中就会觉得豁然开朗而不是一头雾水,因此建议各位新手花上几分钟来阅读本文,相信会有意想不到的收获。

推荐阅读

史海拾趣

宜源科技(ETERNAL)公司的发展小趣事

宜源科技公司深知品质对于企业长远发展的重要性。因此,公司从原材料采购到生产流程控制,再到产品出厂检验,都严格遵循国际标准和行业规范。通过不断提升产品品质,宜源科技赢得了客户的信赖和市场的认可,逐渐树立起自己的品牌形象。

DART(英国达特)公司的发展小趣事

DART公司成立于英国的一个小城市,最初只有几名工程师和少量的资金。然而,他们凭借着对电子技术的热爱和对创新的不懈追求,逐渐在行业中崭露头角。公司的创始人是一位资深的电子工程师,他带领团队开发了一款具有革命性的新型传感器,这款传感器在精度和稳定性上远超当时的同类产品。这一技术突破为DART公司赢得了第一个重要的客户,也为公司的未来发展奠定了坚实的基础。

Holmes Co Inc公司的发展小趣事

随着全球对环保和可持续发展的重视,Holmes Electronics积极响应号召,开始向绿色能源领域转型。他们投入巨资研发高效太阳能电池板和储能系统,并成功应用于多个光伏项目和智能电网项目中。同时,公司还不断优化生产工艺,减少生产过程中的能源消耗和废弃物排放。这一绿色能源转型不仅为公司赢得了良好的社会声誉,还开辟了新的业务增长点。

Global Mixed-Mode Technology Inc公司的发展小趣事
三相缺相报警灯电路的维护周期和注意事项应根据实际情况来制定。一般来说,建议定期检查电路的连接情况、继电器的动作情况以及报警灯的工作状态等。同时,还需要注意保持电路的清洁和干燥以防止短路或腐蚀等问题的发生。在维护过程中应严格遵守操作规程和安全规范以确保人员和设备的安全。
台湾双羽公司的发展小趣事

1954年,富士通研发出了日本第一台中继式自动计算机FACOM100,这一里程碑式的成就标志着富士通正式涉足信息产业。FACOM100的推出不仅在日本国内引起了轰动,也让富士通在国际上赢得了声誉。此后,富士通在计算机领域持续投入研发,不断推出新技术、新产品,逐渐成长为全球领先的计算机制造商之一。这一转变不仅推动了富士通自身的快速发展,也为全球计算机技术的进步做出了重要贡献。

Dell公司的发展小趣事

富士通的故事始于1935年,当时它作为一家电信设备制造公司在日本成立。在那个通信技术刚刚起步的时代,富士通凭借其创新精神和卓越的技术实力,迅速在电信设备领域崭露头角。公司最初专注于电话交换机的生产,随着技术的不断进步,富士通逐渐扩大了业务范围,为日本的电信基础设施建设做出了重要贡献。这一阶段的成功,为富士通后续在电子行业的蓬勃发展奠定了坚实的基础。

问答坊 | AI 解惑

绝好资料:模拟电子电路学习基础下载

这是许多电子类学生学习模电的经典教材,其中各种模拟器件的原理、应用应有尽有!…

查看全部问答>

求S3C2410+WINCE5.0+VS2005操作步骤

我接手同事的工作,但没有用过arm,求注意事项以及与开发这些东西相关的软件工具和操作步骤…

查看全部问答>

基于CS结构的远程数字视频监控系统

一、前言   当前视频监控系统正逐步由模拟化走向数字化。随着视频压缩技术和网络技术的发展,开发新一代基于计算机网络和多媒体MPEG-4压缩算法的视频监控系统已成为整个行业技术发展的主要方向之一。本文提出并研究设计了一种分布式网络视频监 ...…

查看全部问答>

驱动开发群

驱动开发群 66036721  欢迎加入…

查看全部问答>

VS 2005下没有开发驱动的工程选择的?新建的时候。

VS 2005下没有开发驱动的工程选择的?新建的时候。…

查看全部问答>

TMS320C5515/14/05/04

TMS320C5515 实现业界最低功耗,远远超过同类竞争产品 德州仪器 (TI) TMS320C5515/14/05/04 是 C5000 平台旗下的最新器件之一,是业界最低功耗的 16 位数字信号处理 (DSP) 平台,与前代器件相比,性能提升 20%。C5515是 ...…

查看全部问答>

电烙铁分类及锡焊操作指导

  电烙铁是电子组装和封装上必备的重要工具,其质量和操作工艺对产品质量和生产效率有较大的影响。  1. 电烙铁的构造、分类  1.1 电烙铁是手工施焊的主要工具。是一种电热器件,通电后产生高温,可使焊锡熔化,利用它将电子元件焊接。   ...…

查看全部问答>

STM32bxCAN设置Filter指向不同FIFO不成功,请指点!

贴代码: Filter代码: //CAN过滤器设置         CAN_FilterInitStructure.CAN_FilterNumber=0;         CAN_FilterInitStructure.CAN_FilterMode=CAN_FilterMode_IdMask;       ...…

查看全部问答>

FPGA 过程块触发

最近看了一篇文章,上面讲在FPGA时,最好要所有过程块都要系统时钟去触发。举个例子:例如数码管动态显示时,选通信号端,一一般频率要大于50HZ,这样人才感觉不到闪烁的效果!如果我用计数器分出50hZ的信号,作为另一个过程块的触发信号!与所有过 ...…

查看全部问答>

请教cc2510传输距离

请问下怎么确定cc2510传输的距离有多远?求指教…

查看全部问答>