历史上的今天
返回首页

历史上的今天

今天是:2025年04月23日(星期三)

正在发生

2021年04月23日 | 为ARM初学者理清ARM开发思路

2021-04-23 来源:eefocus

简介: 我们从启动代码、芯片资料、操作系统程序、最小系统版这四个方面来为新手进行讲解,帮你理清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网络堆栈。


推荐阅读

史海拾趣

EUCHNER公司的发展小趣事

EUCHNER公司的历史可追溯到1940年,由艾米·安士能先生创立的工程事务所。艾米·安士能先生是一位热衷于机械运动和系统工程领域的创新者。在1952年,他成功发明了世界上第一个组合行程开关,这一创新技术为公司的未来发展奠定了坚实的基础。1953年,EUCHNER公司正式成立,开始专注于机电控制产品的研究与开发。

Central Semiconductor公司的发展小趣事

在20世纪70年代末,当许多半导体制造商纷纷转向硅器件的生产时,Central Semiconductor却洞察到了后缘半导体市场的空白。公司决定坚守锗器件的生产,并凭借这一决策填补了市场空白。这种对旧技术的坚持不仅让Central在一段时间内保持了竞争优势,也为公司在后续发展中积累了宝贵的经验。

随着技术的进步,Central并没有固步自封,而是逐渐将产品系列扩展到包括表面安装设备等更先进的产品。这种转型不仅满足了市场对小型化产品的需求,也展示了Central对市场变化的敏锐洞察和适应能力。

EWC Controls公司的发展小趣事

EWC Controls公司始终将产品质量视为企业的生命线。公司建立了一套严格的质量管理体系和检测流程,确保每一台产品都符合高标准的质量要求。同时,公司还不断追求卓越的品质和服务,通过持续改进和创新提升产品的性能和可靠性。这种质量为本、追求卓越的理念使得EWC Controls公司的产品赢得了客户的信任和好评。

ALCOA公司的发展小趣事

第一次世界大战期间,铝因其轻质且强度高的特性,被广泛应用于航空和汽车工业。ALCOA公司借此机会迅速发展壮大,为军方和汽车制造商提供了大量的铝材。这种需求推动了公司的技术进步和生产规模的扩大,也奠定了ALCOA在电子行业中的领先地位。

Hitachi (Renesas )公司的发展小趣事

第一次世界大战期间,铝因其轻质且强度高的特性,被广泛应用于航空和汽车工业。ALCOA公司借此机会迅速发展壮大,为军方和汽车制造商提供了大量的铝材。这种需求推动了公司的技术进步和生产规模的扩大,也奠定了ALCOA在电子行业中的领先地位。

Dynachip Corp公司的发展小趣事

Dynachip Corp始终将创新作为公司发展的核心动力。他们不断投入研发资源,探索新的技术方向和应用场景。同时,他们还积极关注行业动态和市场趋势,及时调整产品策略和市场布局。这种持续创新的精神使Dynachip Corp能够保持在行业中的领先地位,并为未来的发展奠定了坚实的基础。展望未来,Dynachip Corp将继续秉承创新、品质、合作的理念,致力于成为全球领先的半导体企业。

问答坊 | AI 解惑

关于音频驱动 求问

音频配置文件有alsa.conf 和 asound.conf  看了alsa.conf,里面有 @hooks [         {                 func load               ...…

查看全部问答>

请问一个安装arm-elf-tools-20030314的问题

我在安装的时候,先碰到一个问题是 tail: cannot open `+43\' for reading: No such file or directory 网上搜索了一下,普遍的解决方法是:找到arm-elf-tools-20040427.sh文件的第39行, tail +${SKIP} ${SCRIPT} ¦ gunzip ¦ tar xvf ...…

查看全部问答>

mibcomp使用

vxworks中 如何使用mibcomp编辑命令? 我运行命令行mibcomp -o snmpMib2.c -stub snmpMib2.mib 出现如下错误: exclude error: undefined value referefence \"egp\" 为什么呢? 不知mibcomp命令 是不是这样使用的,初学者,还请指教!…

查看全部问答>

ATmega16使用内部时钟

ATmega16使用内部时钟时,其外围电路是怎样的…

查看全部问答>

MSP430G2333

MSP430G2333哪几个IO具有处理触摸按键的功能?知道的麻烦说下,谢谢…

查看全部问答>

華為公司電路板(PCB)設計規範

華為公司電路板(PCB)設計規範…

查看全部问答>

【Nucleo+BLUENRG心得】+ 旋转方块

今天耍了个很好玩的功能,按键控制app中方框的转动,我把代码修改到了每按一次用户键,方块就会X,Y,Z一起转动,很好玩的功能 修改的代码如下 方块转动的图片: …

查看全部问答>

EEWORLD大学堂----TI SimpleLink轻松、快捷的无线解决方案

TI SimpleLink轻松、快捷的无线解决方案:https://training.eeworld.com.cn/course/396…

查看全部问答>