ARM的开发步骤 |
1. 做个最小系统板:如果你从没有做过ARM的开发,建议你一开始不要贪大求全,把所有的应用都做好,因为ARM的启动方式和dsp或单片机有所不同,往往会遇到各种问题,所以建议先布一个仅有Flash,SRAM或SDRAM、CPU、JTAG、和复位信号的小系统板,留出扩展接口。使最小系统能够正常运行,你的任务就完成了一半,好在ARM的外围接口基本都是标准接口,如果你已有这些硬件的布线经验,这对你来讲是一件很容易的事情。 2. 写启动代码,根据硬件地址先写一个能够启动的小代码,包括以下部分: 初始化端口,屏蔽中断,把程序拷贝到SRAM中;完成代码的重映射;配置中断句柄,连接到C语言入口。也许你看到给你的一些示例程序当中,bootloader会有很多东西,但是不要被这些复杂的程序所困扰,因为你不是做开发板的,你的任务就是做段小程序,让你的应用程序能够运行下去 3. 仔细研究你所用的芯片的资料,尽管ARM在内核上兼容,但每家芯片都有自己的特色,编写程序时必须考虑这些问题。尤其是女孩子,在这儿千万别有依赖心理,总想拿别人的示例程序修改,却越改越乱。 4. 多看一些操作系统程序,在ARM的应用开放源代码的程序很多,要想提高自己,就要多看别人的程序,linux,uc/os-II等等这些都是很好的原 码。 6.如果你是作硬件,每个厂家基本上都有针对该芯片的DEMO板原理图。先将原理图消化。这样你以后做设计时,对资源的分配心中有数。器件的DATSHEET一定要好好消化。 7.如果做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的就有点费劲。 问:做最小系统板是2层还是4层好? 答:只有AT91可以用两层板,其他的最少4层;44b0的地和电源处理好也可用两层板; 谈四层板和33欧电阻: 选用四层板不仅是电源和地的问题,高速数字电路对走线的阻抗有要求,二层板不好控制阻抗。33欧电阻一般加在驱动器端,也是起阻抗匹配作用的;布线时要先布数据地址线,和需要保证的高速线; 在高频的时候,PCB板上的走线都要看成传输线。传输线有其特征阻抗,学过传输线理论的都知道,当传输线上某处出现阻抗突变(不匹配)时,信号通过就会发生反射,反射对原信号造成干扰,严重时就会影响电路的正常工作。采用四层板时,通常外层走信号线,中间两层分别为电源和地平面,这样一方面隔离了两个信号层,更重要的是外层的走线与它们所靠近的平面形成称为“微带”(microstrip) 的传输线,它的阻抗比较固定,而且可以计算。对于两层板就比较难以做到这样。这种传输线阻抗主要于走线的宽度、到参考平面的距离、敷铜的厚度以及介电材料的特性有关,有许多现成的公式和程序可供计算。 33欧电阻通常串连放在驱动的一端(其实不一定33欧,从几欧到五、六十欧都有,视电路具体情况) ,其作用是与发送器的输出阻抗串连后与走线的阻抗匹配,使反射回来(假设解收端阻抗没有匹配) 的信号不会再次反射回去(吸收掉),这样接收端的信号就不会受到影响。接收端也可以作匹配,例如采用电阻并联,但在数字系统比较少用,因为比较麻烦,而且很多时候是一发多收,如地址总线,不如源端匹配易做。 这里梭说的高频,不一定是时钟频率很高的电路,是不是高频不止看频率,更重要是看信号的上升下降时间。通常可以用上升(或下降) 时间估计电路的频率,一般取上升时间倒数的一半,比如如果上升时间是1ns,那么它的倒数是1000MHz,也就是说在设计电路是要按500MHz的频带来考虑。有时候要故意减慢边缘时间,许多高速IC其驱动器的输出斜率是可调的 |
ARM开发详解全集[下载] |
本书比较适合于开发者和初学者,非常有学习价值,如对ARM感兴趣的可以留下邮箱或给我发邮件,大家共同讨论学习,我的邮箱henry518@163.com.下面是《ARM开发详解》全文和本书介绍,本书共八章: 第一章:简要介绍目前ARM微处理器的种类及主要结构特征。通过对本章的阅读,可使读者对ARM技术、ARM微处理器及应用有一个总体的认识。 第二章:介绍ARM编程模型的基本知识,包括寄存器的组织和ARM微处理器的工作模式,ARM体系结构中异常及处理等基本概念。通过本章的阅读,可使读者了解ARM编程模型的基本知识,为进一步的开发做准备。 第三章:详细介绍ARM体系的指令系统和寻址方式,着重介绍32位的ARM指令集。16 位的Thumb指令集为32位ARM指令集的一个子集,在了解了ARM指令集的基础上,就很容易理解Thumb指令。本章所介绍的内容适用于所有具有ARM7TDMI内核的ARM微处理器。 第四章:介绍ARM汇编语言程序设计的基本知识。通过阅读本章,读者可以掌握ARM汇编语言的设计方法。 第五章:本章是全书的重点,详细介绍基于S3C4510B的系统的设计全过程,包括存储器及外围芯片的选型,各单元电路的设计、调试等。通过对本章的阅读,具有一定系统设计知识的读者应该可以掌握基于S3C4510B的系统设计,同时由于ARM体系结构的一致性和系统外围电路的通用性,本章所描述的设计方法也同样适合于其他ARM芯片。 第六章:详细介绍基于S3C4510B的系统的各功能模块工作原理与应用编程示例,包括:通用I/O口、串行接口、定时器、中断控制器、GDMA控制器、MAC控制器等的工作原理与编程示例,Flash存储器的编程与擦除等。通过本章的阅读,可使读者了解S3C4510B各功能模块的编程方法,并在自己设计的系统中加以充分利用。 第七章:详细介绍嵌入式操作系统的基本概念、操作系统在S3C4510B上的编译、运行过程,以及在uClinux操作系统上的简单应用程序的设计。通过本章的阅读,可使读者了解uClinux操作系统及在S3C4510B的运行,并能进行进一步的应用程序的开发。 第八章:详细介绍ADS集成开发环境的使用方法,这也是进行应用程序开发的基本工具。 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Powered by Team Board