龙人嵌入式系统开发和ODM研发

龙人嵌入式系统开发和ODM研发—arm9开发板和arm7开发板

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  8 随笔 :: 5 文章 :: 0 评论 :: 0 Trackbacks

2008年6月24日 #

谈起嵌入式系统板,大家应该很熟悉了。那么如何自己动手做一块嵌入式系统开发板呢?这里我将自己在做arm开发时的一点小经验总结如下,希望多初学嵌入式arm开发的朋友有所帮助。

Tag:嵌入式系统 arm开发 嵌入式开发 arm开发板

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

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

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

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

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

7.
如果做软件最好对操作系统的机理要有所了解。当然这对软件工程师来说是小菜一碟。但如果是硬件出身的就有点费劲。

经过以上7步相信你定会做出自己满意的嵌入式系统板,如果在制作过程中有什么问题随时可拨打电话:手机:13148818895   小灵通:21192100余焕丽我们共同探讨。另外我人龙人公司研发的嵌入式开发板还不错介绍给大家网址:http://www.embedm.com有时间不防去看看噢!

posted @ 2008-08-25 15:32 龙人嵌入式开发 阅读(165) | 评论 (0)编辑 收藏

近日龙人嵌入式系统开发工程师经过不断研究,终于对嵌入式arm仿真器断点的分类做了全面的概括。目前,越来越多的嵌入式开发公司和工程师开始采用JTAG方式的ICE仿真器来进行程序的调试工作。传统的全仿真方式(Full ICE)正在逐渐被使用灵活、成本低廉的JTAG仿真方式所取代。下面龙人向您具体讲解:

Tag:嵌入式系统开发 arm7 arm9 arm11 arm仿真器

断点可分为硬件断点和软件断点两大类:

1.硬件断点需要目标CPU的硬件支持,当前流行的ARM7/9内部硬件设计提供两组寄存器用来存贮断点信息,所以ARM7/9内核最多支持两个硬件断点,而ARM11则可以支持到8个硬件断点。这与调试器无关。

2.软件断点则是通过在代码中设置特征值的方式来实现的。当需要在某地址代码处设置软件断点的时候,仿真器会先将此处代码进行备份保护,然后将预先设定好的断点特征值(一般为0x0000等不易与代码混淆的值)写入此地址,覆盖原来的代码数据。当程序运行到此特征值所在的地址时,仿真器识别出此处是一个软断点,便会产生中断。当取消断点时,之前受保护的代码信息会被自动恢复。

硬件断点可以设置在任何位置的代码上,包括ROMRAM;而软件断点由于需要修改相应地址的值,所以一般只能设在RAM上,但是数量可以不受限制。由于硬件断点设置的灵活性,所以是最优先选用的断点资源,但是两个断点往往很难满足工程师进行深入调试的需要,于是软件断点可以作为硬件断点的补充资源来使用。

由于通常的软件断点只能设在RAM运行的代码上,而随着系统的代码量越来越大,特别是在移动通信领域,扩充大容量的RAM势必会增加产品的成本,所以现在很多系统直接在FlashROM上运行代码。对于这种在FlashROM上运行代码的系统,一般的软件断点是无法设置的,这也是软件断点的局限性。对于这样的系统,只能通过交替使用两个硬件断点满足需要,但是会带来一定的不便。

要很好的解决这一矛盾,只有使仿真器增加在FlashROM上设置软件断点的功能,拓展仿真器中可供利用的断点资源。

FlashROM上设置软件断点的原理与在RAM上设置软断点类似,也是在设定的断点处用特征码替换原有代码,通过识别特征码使断点事件发生。不同的是,在FlashROM上设置软件断点需要对Flash进行擦写操作,这就需要仿真器能够有Flash编程功能,并且能够在尽可能短的时间内完成特征码的写入。完成这一系列的读写操作,就可使在FlashROM上调试代码的工程师获得更充裕的断点资源,从而大大提高了开发效率。

但是,由于对Flash进行擦写需要一定的时间,所以在执行到Flash断点的时候会感觉到有一个停顿的时间。虽然这一点比RAM上的软件断点要差些,但是相对于给工程师调试工作整体上带来的便利而言,这一点是完全可以接受的。

设置断点进行调试是最基本的一种调试手段,选择具有丰富断点资源的ICE仿真器,可以明显地提高调试效率。当然,前提是工程师能够灵活使用各种断点资源。

注:【深圳龙人arm公司是一家专业arm开发板 arm9开发板 arm9的嵌入式开发嵌入式系统公司,能根据客户的需求,提供最好的嵌入式arm开发板S3C2440 2440开发板 Xscale开发板 PXA270 270开发板 EP9315 IXP425。详情:http://www.embsky.com/,电话:0755-83676200 手机:13686880106陈晓联】

posted @ 2008-08-25 15:32 龙人嵌入式开发 阅读(55) | 评论 (0)编辑 收藏

关于嵌入式系统离线测试——龙人嵌入式开发技术

嵌入式系统离线测试方法增量测试模型综合测试方法及互通性测试三种方法,以下龙人计算机嵌入式系统开发工程师就分别为您介绍嵌入式系统离线测试的这三种方法。

增量测试模型 

  在单板测试完成后,系统集成在一起之后有可能仍不能正常工作。主要原因是,模块相互调用时接口会引入许多新问题。例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响;模块之间的硬件连接不正确也可能造成通信不畅;误差不断积累达到不可接受的程度等等。所以需要通过综合测试来发现各种错误。 

  如果把所有模块按设计要求一次全部组装起来,然后直接运行系统软件,这称为非增量式集成。这种方法易出现混乱,在改正一个错误时又可能引入新的错误,新旧错误混杂,更难断定出错的原因和位置。增量式集成方法通过测试软件一段一段地扩展,测试的范围一步一步地增大,来逐步定位错误和纠正。根据系统的不同特点可以采用两种增量式集成模型:自底向上集成和自顶向下集成。 

  宽带机架系统由主控板和其它单板组成,离线系统测试软件采用自顶向下集成的方法。由主控板将各个单板的系统测试程序通过网络下载到目的板,然后主控板通过深度优先策略搜索单板。首先主控板发送消息到直连的单板,如果主控板、单板之间连线正确,且单板硬件及软件工作正常,单板收到消息后将自己的相关信息返回给主控板。接着主控板再通过直连的单板获取下层单板的相关信息,直到获得所有单板的相关信息(位置,单板类型等),然后就可以开始整个系统的综合测试。 

嵌入式 嵌入式系统 嵌入式开发 嵌入式测试 离线测试

综合测试方法 

  目前大型的嵌入式系统大部分是分布式处理系统,由多个模块协同工作完成复杂的功能,模块之间通过网络互联。一般将整个系统分成3个不同的层次:设备层、系统层和应用层。针对这3个层次,系统的离线综合测试可以通过互通性测试、功能测试和性能测试来进行。 

互通性测试 

  互通性测试包括物理连通性和一致性的测试,确保系统中的各模块之间进行互联时不会出现问题。物理连通性和一致性的测试是最基本的网络系统测试内容,其中主要是线缆测试, 用以查明所测线缆及布线是否符合设计要求和国际标准。在宽带交换机系统中,互通性测试由主控板按照网络连接的层次,依次发送消息给各块PBA单板,等待它们的回复。如果主控板能在规定时间内收到回复,说明从主控板到该单板的网络连线正确。同时,主控板从PBA的回复中也获取了有关单板的相关信息,为下一步的功能测试和性能测试奠定了基础。 

深圳龙人嵌入式事业部在向海内外提供嵌入式开发、嵌入式解决方案(ARM解决方案ARM9解决方案)与嵌入式产品(ARM开发板ARM9开发板ARM7开发板ARM工控板)的同时立志成为行业内最优秀最完备的嵌入式软件、嵌入式硬件技术及嵌入式系统解决方案提供商。网址:http://www.armlab.net

posted @ 2008-06-24 16:10 龙人嵌入式开发 阅读(70) | 评论 (0)编辑 收藏

ARM、DSP、FPGA的特点和区别

深圳龙人计算机嵌入式事业部专业从事嵌入式系统开发的研究工作多年,特整合一些研究过程的笔记和心得以供嵌入式爱好者和学习者参考。下面龙人计算机分别介绍ARM、DSP、FPGA的特点及三者之间的区别。

ARM DSP FPGA 嵌入式 ARM芯片

ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备 市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。 

DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的 空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大的提高了微处理器的速度 。另外还允许在程 序空间和数据空间之间进行传输,因为增加了器件的灵活性。其工作原理是接收模拟信号,转换为0或1的数字信号,再对数字信号进行修改、删除、强化,并在其 他系统芯片中把数字数据解译回模拟数据或实际环境格式。它不仅具有可编程性,而且其实时运行速度可达每秒数以千万条复杂指令程序,远远超过通用微处理器, 是数字化电子世界中日益重要的电脑芯片。它的强大数据处理能力和高运行速度,是最值得称道的两大特色。由于它运算能力很强,速度很快,体积很小,而且采用 软件编程具有高度的灵活性,因此为从事各种复杂的应用提供了一条有效途径。根据数字信号处理的要求,

DSP芯片一般具有如下主要特点: 

(1)在一个指令周期内可完成一次乘法和一次加法; 

(2)程序和数据空间分开,可以同时访问指令和数据; 

(3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问; 

(4)具有低开销或无开销循环及跳转的硬件支持; 

(5)快速的中断处理和硬件I/O支持; 

(6)具有在单周期内操作的多个硬件地址产生器; 

(7)可以并行执行多个操作; 

(8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。 

当然,与通用微处理器相比,DSP芯片的其他通用功能相对较弱些。 

ARM DSP FPGA 微处理器 嵌入式

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个 新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实 现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自由 的设计一个数字系统。通过软件仿真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电 路。使用FPGA来开发数字电路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片内RAM中的程序来设置其工作状态的, 因此工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA 编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可 以产生不同的电路功能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很 多,有XILINX的XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。 

ARM、DSP、FPGA区别?

ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这种能力可以用来进行系统升级或除错。

龙人嵌入式开发中心专业提供嵌入式系统开发和嵌入式ARM解决方案服务同时提供ARM9开发板、Xscale开发平台及ARM仿真器http://www.szarm.com

posted @ 2008-06-24 16:10 龙人嵌入式开发 阅读(93) | 评论 (0)编辑 收藏