ARM嵌入式开发基础

开发
ARM嵌入式开发是嵌入式开发领略比较热门的技术,本文针对ARM嵌入式开发的入门者给出嵌入式开发的基础知识和入门必要步骤。

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

2. 写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分:

初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,连接到C语言入口。也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去

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

4. 多看一些操作系统程序,在ARM嵌入式开发的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原码。

5. 如果你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。

6.如果做软件***对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的想做ARM嵌入式开发的人就有点费劲。

问: 做最小系统板是2层还是4层好?

答: 只有AT91可以用两层板,其他的最少4层;44b0的地和电源处理好也可用两层板;

谈四层板和33欧电阻:

选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗。33欧电阻一般加在驱动器端,也是起阻抗匹配作用的;布线时要先布数据地址线,和需要保证的高速线;

在高频的时候,PCB板上的走线都要看成传输线。传输线有其特征阻抗,学过传输线理论的都知道,当传输线上某处出现阻抗突变(不匹配)时,信号通过就会发生反射,反射对原信号造成干扰,严重时就会影响电路的正常工作。采用四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为“微带”(microstrip) 的传输线,它的阻抗比较固定,而且可以计算。对于两层板就比较难以做到这样。这种传输线阻抗主要于走线的宽度、到参考平面的距离、敷铜的厚度以及介电材料的特性有关,有许多现成的公式和程序可供计算。

33欧电阻通常串连放在驱动的一端(其实不一定33欧,从几欧到五、六十欧都有,视电路具体情况) ,其作用是与发送器的输出阻抗串连后与走线的阻抗匹配,使反射回来(假设解收端阻抗没有匹配) 的信号不会再次反射回去(吸收掉),这样接收端的信号就不会受到影响。接收端也可以作匹配,例如采用电阻并联,但在数字系统比较少用,因为比较麻烦,而且很多时候是一发多收,如地址总线,不如源端匹配易做。

这里所说的高频,不一定是时钟频率很高的电路,是不是高频不止看频率,更重要是看信号的上升下降时间。通常可以用上升(或下降) 时间估计电路的频率,一般取上升时间倒数的一半,比如如果上升时间是1ns,那么它的倒数是1000MHz,也就是说在设计电路是要按500MHz的频带来考虑。有时候要故意减慢边缘时间,许多高速IC其驱动器的输出斜率是可调的。

 

【编辑推荐】

  1. 基于ARM的指纹采集仪的设计与实现
  2. 基于ARM的智能无线信号变送器
  3. 嵌入式系统开发:Arm与Linux的***结合
  4. 嵌入式开发单片机几个重要的概念
  5. 关于ARM开发板和嵌入式开发的方向
责任编辑:佚名 来源: todayrobot
相关推荐

2011-01-14 13:13:23

嵌入式Linux开发

2009-04-10 13:11:33

opensusesuselinux

2009-04-10 13:17:32

opensusesuselinux

2010-01-07 10:45:38

嵌入式Linux入门

2010-01-13 09:15:35

嵌入式

2021-10-26 21:50:10

Rust嵌入式开发

2011-07-05 15:42:02

QT 嵌入式 Embedded

2011-07-05 15:59:18

Qt 嵌入式 linux

2011-06-13 14:00:55

Qt Designer linux

2009-12-23 10:33:30

Silverlight

2011-01-06 15:11:09

嵌入式linux

2011-06-17 08:59:27

QT Embedded Arm

2010-01-12 17:32:40

ARM平台

2010-01-06 09:53:08

嵌入式

2020-03-23 10:15:10

Google 开源技术

2018-10-10 14:34:27

ARM嵌入式系统硬件

2010-01-13 09:51:21

微软Linux嵌入式

2021-10-28 19:23:27

界面嵌入式 UI

2022-03-11 15:44:11

嵌入式开发技巧技术

2017-08-14 15:01:19

点赞
收藏

51CTO技术栈公众号