ARM嵌入式's profileARM开发板|S3C2440|S3C2410|A...BlogListsNetwork Tools Help

Blog


    October 27

    基于ARM9处理器的智能导游仪设计

    随着微电子技术和超大规模集成电路的发展,嵌入式微处理器技术已日趋成熟。嵌入式技术不但在工控系统、智能仪表、检测系统、测控单元等工业应用中有杰出表现,而且越来越深入地应用于各种消费类电子产品中。

      智能导游讲解系统主要分为两个模块:第一个模块是定位端,第二个模块是手持导游仪。定位端安装在各景区和各景点,可以发射所处景点的代码。手持导游仪则可接收定位端发射的代码,然后通过解码获得景点的位置信息。以便根据景点位置信息为游客显示、播放该景点位置的导游影音文件。

      本文主要介绍一种基于ARM9处理器的新型智能导游仪的设计方案。这种导游仪是基于ARM处理器强大的处理能力和丰富的外设设计来实现的。游客可以通过触摸屏操作来获得自己所需的信息,而且也可利用设备端与PC机的USB接口来完成导游影音文件的随时更新,其附加的多媒体播放功能还可以开拓ARM处理器在多媒体数码系统中的应用功能。

      1 系统整体硬件设计

      该导游仪主要由ARM处理器、音频处理模块、触摸显示模块、FLASH存储模块等组成。其硬件结构如图1所示。

     

      本设计中的核心处理器和操作系统分别选定三星公司基于ARM9内核的S3C2410X01处理器和目前比较流行的嵌入式操作系统Linux操作系统。

            S3C2410X01处理器是一种基于ARM920T内核的16/32-bit RISC CPU,拥有独立的16KB指令和16KB数据CACHE、MMU虚拟内存管理单元、NAND Flash boot loader、系统管理单元(SDRAM处理器等)、3通道UART、4通道DMA、4通道具备PWM功能的定时器、IO口、RTC(实时时钟)、8通道10 bit精度ADC和触摸屏处理器、IIC总线接口、IIS数字音频总线接口、USB HOST、USBDEVICE、SD/MMC卡处理器、集成LCD处理器(支持STN和TFT)、2通道SPI和PLL数字锁相环等。该处理器集成度高、功能强大,适用于便携设备和其它工控设备,如指纹识别器、车载系统等。

      本导游仪中的接收模块主要用于接收IDCode。出于小体积、低功耗、有效范围可控、便于跳频的角度考虑,本设计选用Nordic公司的nRF401单片UHF无线收发芯片,并让其工作在433 MHz ISM (Industrial,Scientific and Medical)频段。由于采用了FSK调制解调技术,因而其抗干扰能力很强。而采用PLL频率合成技术,可使其频率稳定性更好,该系统的发射功率最大可达10dBm,接收灵敏度最大为-105 dBm,数据传输速率可达20 kbps,工作电压在+3~5 V之间,同时nRF401无线收发芯片所需的外围元件也较少。nRF401芯片内包含有发射功率放大器(PA)、低噪声接收放大器(LNA)、晶体振荡器(OSC)、锁相环(PLL)、压控振荡器(VCO)、混频器(MIXFR)、解调器(DEM)等电路。在接收模式中,nRF401被配置成传统的外差式接收机,所接收的射频调制数字信号被低噪声放大器放大后,再经混频器变换成中频,放大、滤波后进入解调器,解调后将其变换成数字信号输出(DOUT端)。而在发射模式中,数字信号则经DIN端输入,然后经锁相环和压控振荡器处理后进入发射功率放大器的射频输出。由于采用了晶体振荡和PLL合成技术,故其频率稳定性极好;而采用FSK调制和解调技术则可使抗干扰能力更强。

      本系统中的USB通信子系统的设计目标是通过USB接口。并利用USB协议来实现与PC机及USB设备的数据交换和数据传输。即设备端通过USB接口载入导游影音文件并将其保存在Flash存储单元中,再由ARM处理器完成影音数据向音频处理模块和LCD显示模块的传送。音频处理模块和LCD显示模块可以实时处理并播放影音数据,从而完成对各旅游景点的综合描述。

      2 系统软件设计

      导游仪的软件要负责处理nRF401的接收数据,同时要调用和处理相应的导游文字、图片、语音信息,还要及时响应用户的触摸操作,并管理图形用户界面(GUI)、用户时钟和存储景点信息,此外,还要与各外围器件进行通信和接口。若采用传统MCU的前后台系统编写程序,其复杂性可想而知。因此,采用体积小、速度快、具有较好裁减性、扩展性和可移植性的实时嵌入式操作系统(RTOS)则成为必然选择。考虑到Linux操作系统可以完全开放源代码。且硬件兼容性较好,可以移植到不同处理器上,本系统选用Linux操作系统并通过ARM处理器来完成设计。

      嵌入式系统软件设计主要包括操作系统、驱动程序和应用程序。本系统对基于2.6.9版本的Linux内核进行了定制裁减,其驱动程序主要是触摸屏的驱动,应用程序则用于多媒体播放。这些软件应根据嵌入式开发流程来建立开发环境。

      2.1 系统工作流程

      系统开始工作时,其程序流程如图2所示。系统首先通过供电单元提供的电源给系统上电,并启动加载Boot loader,然后开始加载Linux的系统内核,接下来进行外设模块的初始化。当存储单元准备就绪后,系统将先后初始化显示单元(触摸屏/TFT/LCD)和GPIO(通用输入输出口)。如果外设未初始化成功,则将重新进行初始化,成功后再运行应用程序。运行结束后再关闭主程序,系统程序执行结束。

     

           2.2 触摸屏驱动程序

      触摸屏是用于嵌入式系统中最基本的用户交互设备之一。触摸屏的主要功能是随时报告用户的触摸操作并标识触摸位置的坐标。这通常在每次发生触摸操作时可通过生成一个中断来实现。然后,该触摸屏的设备驱动程序开始查询触摸屏处理器,并请求处理器发送触摸坐标。一旦驱动程序接收到坐标,它就将有关触摸和所有可用数据信号发送给用户应用程序,同时将数据也发送给应用程序,然后由用户应用程序根据它的需要处理数据。

      ADS7846电阻触摸屏数字转换器可以专门用于对电池供电的设备进行优化,非常适用于触摸屏设备(如PDA、手持设备、监视器、POS终端和传呼机等)。此触摸屏驱动芯片是一款12位A/D转换芯片,适合于4线制触摸屏中使用,可通过标准的SPI协议和CPU进行通信,而且操作简单、可靠性高。由于S3C2410X01芯片集成有同步串行外部SPI接口.故可将ADS7846与ARM芯片S3C2410X01相连。

      此触摸屏驱动程序的设计主要是进行初始化、数据采集与处理及中断处理函数的编写。而触摸屏驱动程序的核心是中断处理程序,因为在中断服务程序结束之前,来自同一个设备的后续中断都将丢失,所以,中断服务程序应该尽快执行完,否则就有可能丢失来自设备的另一个中断。由于整个触摸屏的驱动程序处理比较复杂,而且耗时较长(大约几十毫秒),因此,触摸屏驱动程序不可能在中断服务程序中完成。在Linux操作系统中,中断处理程序可以分为上半部(tophalf)和下半部(bottom half)。上半部是一般的中断服务程序,它由硬件中断触发,应当尽可能短小,处理应尽可能地快;而下半部是单独的一段处理程序,一般将其放人立即队列中快速执行。但是在此系统中,按触摸屏时,从ADS7846输出的数值有一个抖动的过程,即从ADS7846输出的A/D转换值有一个不稳定时期,这个过程大约会持续10 ms。所以,中断处理程序的下半部处理没有采用立即队列,而是采用定时器,来使下半部在中断发生10 ms后再作处理,这样就可有效地避开ADS7846输出值的不稳定时期。事实上,使中断服务程序和中断处理任务串行化,可以很好的完成那些需要长时间处理的触摸操作。

      2.3 应用程序

      应用程序的开发主要是多媒体功能的实现。这实际是基于音频处理子系统、触摸显示子系统、RAM单元、Flash单元等硬件资源的特点编写的应用函数模块的集合。此集合的编写源于对各个硬件模块的深入了解,以及对硬件资源的充分利用和挖掘、对时序的严格控制,同时包括精确的软件流程,合理分配存储资源,协调ARM处理能力等,从而完成音频播放、静态图片显示、影像播放、音频录制等多媒体所对应的函数集合。各函数集合包括方便的应用程序接口。通过这些接口可为调用这些函数的主函数提供便利。

    June 24

    ARM开发和嵌入式系统开发书籍推荐

    ARM开发和嵌入式系统开发书籍推荐

    随着嵌入式行业在中国的发展,国内学习ARM开发和嵌入式系统开发的人越来越多,但是嵌入式系统开发方面的书籍不是很多,为了提供学习速度和嵌入式开发效率,龙人计算机嵌入式系统开发工程师特向各位推荐如下几本书。

    主要推荐ZLG的三本书,有这3本再加网络就不用别的书了,其中主要推荐前2本,3是介绍体系结构的,也不错

    1 ARM嵌入式LINUX系统构建与驱动开发,北航版

    驱动写的很详细,前期开发介绍也很好

    ARM嵌入式系统实验教程(二),北航版

    有ZLG2200的原理图,实验程序和注释,了解人家是怎么开发的。

    3 ARM嵌入式系统基础教程

    最重要的是体系结构,汇编部分介绍,看看吧,增加理论素质。

    4 44B0数据手册

    写在这里是强调它的重要。

    ARM开发 嵌入式系统 嵌入式开发 嵌入式系统开发 ARM开发板

    不推荐ZLG早期出的红色皮的ARM什么体系结构~只类的

    写的太多,看烦了。

    其他的书没了几本,没看见好的,大家有看过的推荐吧。

    另外龙人计算机嵌入式系统开发网站上有很多嵌入式学习资料,欢迎对ARM开发和嵌入式系统开发感兴趣的登录。网址:http://www.armlab.net

    龙人计算机作为最专业的嵌入式系统开发商和ARM开发板供应商专业提供以三星S3C2440、S3C2410和S3C44B0处理器为核心的ARM9开发板及ARM7开发板并提供工业PDA、手持POS、GPS等各种嵌入式终端设备的ARM解决方案。网址:http://www.armodm.com

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

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

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

    增量测试模型 

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

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

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

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

    综合测试方法 

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

    互通性测试 

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

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

    May 26

    ARM9系列OMAP850与Xscale系列PXA272的对比—龙人

    ARM9系列OMAP850与Xscale系列PXA272对比龙人

    ARM9 Xscale OMAP850 PXA272 嵌入式开发

    龙人计算机嵌入式系统开发中心嵌入式工程师们通过对基于ARM9系列的OMAP850与Xscale系列的PXA272的特点和性能等全方位分析,最后得出以下总结:

    1、TI OMAP850采用双核心设计,但并不同于电脑上的双核处理器。TI OMAP850由两个不同的物理CPU组成的,一个是ARM926(负责PDA功能),另一个是ARM7(负责GSM电话功能),而Intel Xscale PXA272则只有一个ARM9处理器,它负责所有功能的运作。

    2、TI OMAP850的一个时钟周期能执行8条指令,而Intel Xscale PXA272的一个时钟周期则只能执行4条指令,但Intel Xscale PXA272的频率比TI OMAP850高出一倍有余,所以在指令的处理速度上相差不大。不过,如果运行的程序经过针对性的优化后,那195MHz的OMAP850在效能上就有可能等同于416MHz的Xscale PXA272,而如果针对Xscale PXA272的程序在OMAP850上运行则会缓慢许多。

    3、功耗方面,TI OMAP850在待机状态下只需要10μA的电流就可以了,一个晚上也就耗掉2-3的电量而已,待机时间二至三天是不成问题的。在芯片工艺上比较也是这样的,Xscale PXA272是0.18的,而OMAP850是0.13的。

    4、内存类型方面,Xscale PXA272采用的是SD-RAM,而OMAP850用的是DDR-RAM,其性能优越自然是DDR-RAM要好一些,这跟电脑上用的内存是同样原理的。

    5、TI OMAP850更适合在PPC Phone上使用,因为当GSM和PDA同时工作时,OMAP850的效能就完全发挥出来了。在PPC Phone上,电话接通的情况下,再执行其他任务,Xscale PXA272的性能便明显下降,但OMAP850就不会出现这样的现象,因为OMAP的两个内核都是195MHz,并分别处理PDA和GSM的功能,所以OMAP850更加适合在PPC Phone上使用,这也是为什么一些纯PDA不采用OMAP系列处理器的一个原因。

    6、TI OMAP850的架构与Intel Xscale PXA272的架构是完全不同的,TI OMAP850更适合应用在移动通信领域,这也是多普达产品为什么在TI官方明确指出OMAP850不适合应用到新产品当中之后,还继续使用OMAP850处理器的原因了。当然,WM5还针对OMAP850做了许多优化,所以大家在使用的时候不会明显感到缓慢,且OMAP850内部还有2D加速单元,这也为OMAP850带来了强悍的图形解析能力。

    龙人计算机嵌入式研发中心是国内最早进入嵌入式技术研发和应用推广的技术型企业之一成立以来专注于嵌入式底层应用技术的研究和开发的同时为广大客户提供嵌入式系统开发技术、嵌入式解决方案和嵌入式产品(嵌入式开发板、ARM开发板、ARM9开发板、ARM开发工具、ARM仿真器和ARM工控板、ARM实验仪等)。

    网址:http://www.armodm.com

    联 系 电 话:+86-0755-83346939  83662100   余小姐

    OMAP850与PXA272的特点分析—ARM嵌入式技术

    OMAP850与PXA272的特点分析—ARM嵌入式技术

    文章整理:深圳龙人嵌入式研发中心(arm9arm7)

    Intel PXA272与OMAP850将存在怎样的性能差异呢?PXA272的测试数据是否也如Samsung SC3 2442一样领先OMAP850两倍有余呢?针对有许多朋友对以上问题的困惑,龙人计算机嵌入式开发中心的嵌入式系统开发工程师们凭借在嵌入式行业多年工作经验解决这些问题。

    OMAP850的特点——ARM9系列

    OMAP850 是一款单芯片,集成了适用于应用处理的 ARM926EJ-S? 内核以及 TI 的 EDGE 数字基带调制解调器。此产品供高产量无线 OEM 和 ODM 使用,不通过经销商销售。

    OMAP850包括OMAP850的所有特性,并且还增加了对128Mb或256Mb堆栈式移动 SDRAM的支持。这使得OMAP850非常适用于空间有限的系统,或者更轻、更小的移动终端设计。此外,它的功耗要小于传统的外部存储器配置。

    这种灵活性使移动终端制造商可以进一步减小下一代高端智能电话和无线手持终端的尺寸。除了节省空间之外,堆栈式 SDRAM 还具有低功耗的特性。这点对于移动终端设计人员非常重要。

    PX27x特点——XScale系列

    PXA27x系列嵌入式处理器是Intel发布的面向移动电话和掌上电脑的XScale架构的最新处理器系列,是Intel于2004年4月发布的XScale处理器家族的升级产品,最高主频达624MHz,Intel内部开发代号为Bulverde。PXA27x是十分强大的嵌入式处理器,被广泛应用于手机和高端PDA。PXA27x扩展接口有SD/SDIO/MMC、CF/PCMCIA、CMOS/CCD CAMERA、MS/MSPRO、USB1.1、OTG、IDE、LAN、SIM接口、KEYBOARD等。更广泛地面对PDA、智能手机、PMP等设计。PXA27x所定位的市场是手持多媒体数码娱乐中心。

    ARM9 Xscale OMAP850 PXA272  ARM嵌入式

    PXA27x具备3D加速功能,满足了游戏应用;最大可支持400万象素的CCD摄像头,数码摄像功能强大;支持LAN接口,可以扩展网络应用。PXA27x加入了wireless MMX技术和SpeedStep动态电源管理技术,不但大大增强了PXA270的媒体处理能力,而且极大降低了系统功耗,延长便携产品的电池寿命。SpeedStep技术原用于英特尔移动处理器,这种技术用通俗的语言表述就是系统需要多高的主频,它就调节到多高的频率,系统不需要时,它就将处理器主频调节到最低,绝不浪费一点点。SpeedStep技术可以将PXA27x的主频在26MHz~624MHz(最高)之间自由调节。也就是说,在系统完全空闲时,PXA27x可以运行在26MHz的主频下,此时它的功耗将低于0.1毫安!

    PXA 27x完全整合了Bulverde开始提出的三个特点:Quick Capture、Wireless Speed Step和Wireless MMX:

    Intel同时还发表了配合PXA270使用的图形协处理器——2700G多媒体加速器。这颗芯片可以以每秒30帧,的速度播放MPEG4或WMV的图像,使PXA270的多媒体性能达到极大提升。

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

    4种嵌入式实时操作系统的介绍——龙人ARM嵌入式开发

    4嵌入式实时操作系统的介绍——龙人ARM嵌入式开发

    由于嵌入式实时操作系统可以支持多任务,使得嵌入式程序开发更加容易,在便于维护的同时还能提高系统的稳定性和可靠性,所以逐步成为嵌入式系统的重要组成部分,对嵌入式操作系统的研究变得尤为重要VxWorks、μClinux、μC/OS-II和eCos是4种性能优良并被广泛应用的嵌入式实时操作系统。本文龙人计算机就分别介绍这4种操作系统

    龙人计算机嵌入式研发中心是国内最早进入嵌入式技术研发和应用推广的技术型企业之一成立以来专注于嵌入式底层应用技术的研究和开发的同时为广大客户提供嵌入式系统开发技术、嵌入式解决方案和嵌入式产品(嵌入式开发板、ARM开发板、ARM9开发板、ARM开发工具、ARM仿真器和ARM工控板、ARM实验仪等)。

      (1)VxWorks

      VxWorks是美国WindRiver公司的产品,是目前嵌入式系统领域中应用很广泛,市场占有率比较高的嵌入式操作系统。VxWorks实时操作系统由400多个相对独立、短小精悍的目标模块组成,用户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接口)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的用户接口,在核心方面甚至町以微缩到8 KB。

      (2) μC/OS-II

      μC/OS-II是在μC-OS的基础上发展起来的,是美国嵌入式系统专家Jean J.Labrosse用C语言编写的一个结构小巧、抢占式的多任务实时内核。μC/OS-II能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点。

      (3)μClinux

      μClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。

      (4)eCos

    eCos(embedded Configurable operating system),即嵌入式可配置操作系统。它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。最大特点是配置灵活,采用模块化设计,核心部分由小同的组件构成,包括内核、C语言库和底层运行包等。每个组件可提供大量的配置选项(实时内核也可作为可选配置),使用eCos提供的配置工具可以很方便地配置,并通过不同的配置使得eCos能够满足不同的嵌入式应用要求。

    以上是对四种嵌入式实时操作系统的介绍,更多关于这四种操作系统的性能分析和比较请进龙人嵌入式事业部网站:http://www.armlab.net

    May 10

    S3C2410开发板上的中断编程-ARM9开发板学习心得

     

    S3C 2410开发板上的中断编程 -ARM9开发板学习心得

    文章整理: 深圳龙人嵌入式研发中心 (arm9arm7)

    一、 在S3C 2410 开发板上 实现中断编程的 目的

       中断服务程序在 嵌入式 操作系统中无疑占有非常重要的地位,编写中断程序不仅要会运用底层的汇编语言,还要了解AR M 的体系架构。那这一节我们就通过 中断编程 来响应  S3C 2410开发板 上的16个按键,实现依次按下16个键时,D9~D12 四个 Led 从 0~15 进行计数,并通过上个实验实现的 uart_printf 向串口发送数据 Kn is pressed!。

    二、 S3C 2410 开发板上的中断编程 代码

       我们直接分析代码,代码中只有简略的注释,必要时我会在整个代码文件的后面对相应的细节进行解释。先来分析 head.s:

       @文件 head.s

       .text

       .global _start

       _start:

            @ Set vector table for interrupt

    .............(这里部分代码省略,要看代码请进龙人计算机关于 嵌入式系统和嵌入式开发 的网站)

    我们来看一下它的执行流程:

    (1) 设置中断向量表。你也许在这里有疑问,为什么一开始就有 8 个分支跳转指令?我们

        先来研究一下 ARM 如何响应异常/中断,看下表:

          -------------------------------------------------------------

              Exception               Mode              Address

          -------------------------------------------------------------

              Reset                      Supervisor       0x00000000    

              Undefined               Undefined        0x00000004    

              Software Interupt    Supervistor      0x00000008    

              Prefetch Abort        Abort              0x0000000C    

              Data Abort             Abort              0x00000010    

              IRQ (interupt)         IRQ                0x00000018    

              FIQ (fast interupt)   FIQ                0x0000001C    

          -------------------------------------------------------------

    ARM9  ARM9开发板  S3C 2410开发板   嵌入式开发   中断编程

        可以看出 ARM 支持 7 种异常/中断,每种异常/中断都有固定的地址,这个地址叫中断向量,一般我们会在这个地址放一条分支跳转指令,当异常/中断发生时,ARM 就到这个地址执行这个跳转指令,从而调用相应的中断服务程序。

    (2) 关闭看门狗

    (3) 暂时屏蔽所有中断。

        1.地址 0x4A000008 是中断屏寄存器 INTMSK 的端口地址,复位 INTMSK 会导致所有的中断源被屏掉。

        2.地址 0x4A00001C 是子中断屏寄存器 INTSUBMSK 的端口地址,它的低 11 位对应外部11个中断源,高 21 位保留不用。复位它的低 11 位会导致相应的外部中断被屏。

    (4) 初始化内存 SDRAM 设置

    (5) Self-copying: 从 Nand Flash 将自身复制到 SDRAM

    (6) 进入 IRQ 模式,设置 IRQ 模式下的堆栈寄存器

    (7) 进入系统模式,并设置系统模式下的堆栈寄存器

    (8) 系统模式下调用 init_irq,这个函数用于初始化一些用于响应按键的中断寄存器

    (9) 再次进入系统模式,并打开当前程序状态寄存器 cpsr 的 IRQ 中断位,这样 ARM 就能 响应 IRQ 中断了

    (10)执行主函数 main 后返回,然后进入死循环,等待中断发生

    (11)中断发生时,ARM 响应中断并于 0x00000018 处执行 b HandleIRQ 跳转指令调用中断服务程序,处理完毕后返回循环处再等待下次中断的发生,如此往复...

    这就是中断处理的基本流程了 :-), 以下文件的代码在前面随笔均有详细说明,这里就仅附

    简略注释了

    注意:程序代码省略,详细代码请进龙人计算机网站下载

    深圳龙人嵌入式产品事业部是国内最强最精最专业的开发板集散地包括ARM开发板、ARM9开发板、 Xscale开发板 、2410开发板 (ARM9) 2440开发板 (ARM9) 、44B0X开发板 (ARM7) 、DSP开发板、单片机开发板、FPGA开发板、CPLD开发板等各类精品开发板! 网址: http://www.armodm.com

    三、编译、烧写、测试

       Make 一下就会生成我们要的文件 main, 将其通过 JTAG 烧入 Nand Flash。用超级终

    连接到开发板,注意波特率设为 57600,数据位 8,无奇偶校正,停止位1,无数据流控制。现

    在 Reset 一下的 开发板 ,然后静静的等待吧,生成的二进制文件 main 有 39K 大呢,要等它

    完全复制到 SDRAM 至少要两三分钟...哈哈,你会发现 D9~D12 四个led 灯被点亮了,并且

    当你按下某个按键时,这四个灯会指示你按下的是第几个键,你还会发超级终端上有文字显示,

    例如当你按下按键 2 时:

         K2 is pressed!

    嵌入式系统开发之基础-预处理器和Typedef

     

    嵌入式系统开发之基础- 预处理器 Typedef

    做为一个嵌入式开发程序员,必须很熟悉 预处理器 Typedef 的含义,以下龙人计算机( 深圳龙人嵌入式事业部 )就分别介绍。

    预处理器(Preprocessor) 

      1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) 

         #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL

      我在这想看到几件事情: 

      1) #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 

      2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。 

      3) 意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。 

      4) 如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。

    嵌入式   嵌入式系统   嵌入式开发   预处理器 Typedef

      2 . 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个。 

         #define MIN(A,B) ((A) <= (B) ? (A) : (B))

       这个测试是为下面的目的而设的: 

      1) 标识#define在宏中应用的基本知识。这是很重要的。因为在 嵌入(inline)操作符 变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。 

      2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。 

      3) 懂得在宏中小心地把参数用括号括起来 

      4) 我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事? 

      3. 预处理器标识#error的目的是什么? 

      如果你不知道答案,请 上龙人嵌入式系统开发技术的网站下载相关资料 。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。 

    Typedef  

      15 Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子: 

        #define dPS struct s *

        typedef struct s * tPS;

      以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么? 

      这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。答案是:typedef更好。思考下面的例子: 

        dPS p1,p2;

        tPS p3,p4;

      第一个扩展为 

        struct s * p1, p2;

      上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。 

    龙人计算机嵌入式研发中心 是国内最早进入 嵌入式技术 研发和应用推广的技术型企业之一 成立以来 专注于嵌入式底层应用技术的研究和开发 的同时为广大客户提供嵌入式系统开发技术、嵌入式解决方案和嵌入式产品(嵌入式开发板、ARM开发板、 ARM9开发板 、ARM开发工具、ARM仿真器和ARM工控板、ARM实验仪等)。 网址: http://www.armodm.com

    联 系 电 话:+86-0755-83346939  83662100   余小姐

    销 售  Email:beijingshenzhen@126.com

    联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F   邮 编:518033

    April 26

    龙人ARM9开发板:S3C2440开发板之用户手册(1)

     

    龙人ARM9开发板: S3C2440 开发板之用户手册(1)

    S3C2440 开发板是一三星 S3C2440 ( ARM9 系列微处理器)为核心的 ARM9系列开发板 ,下面龙人计算机介绍怎样使用 S3C2440 开发板,更多详细信息请进: http://www.armodm.com

    第一章 S3C2440 开发板 套件介绍 

    1.1  S3C2440 开发板 简介 (ARM9开发板)  

    1.2硬件资源分配 

    1.2.1 地址空间分配和偏选信号定义 

    1.2.2 跳线说明 

    1.2.3 接口说明 

    1.3 linux特性 

    1.4 windowsce特性

    第二章 S3C2440开发板使用说明 

    2.1 S3C2440开发板设置及连接 

    2.1.1 跳线设置 

    2.1.2 外部接口连接 

    2.1.3 设置超级终端 

    2.2 S3C2440BIOS功能及使用说明 

    2.2.1 如何进入BIOS模式  

    2.2.2 安装USB驱动 

    2.2.3 系统的启动 

    2.3 预装 linux 的功能和外围资源测试 

    2.3.1播放mp3 

    2.3.2 使用优盘/移动硬盘 

    2.3.3 使用SD卡 

    2.3.4使用USB摄像头抓图

    2.4.5 10M以太网测试 

    2.4.6 通过telnet登录目标板

    2.4.7 使用ftp向目标版传送文件

    2.4.8 web server测试  

    2.4.9 触摸屏校正保存 

    2.4.10 使用ActiveSync进行USB同步通讯 

    2.4.11 无线网卡测试

    ARM9开发板  ARM9  S3C2440 开发板  ARM开发板   S3C2440

    第三章 安装和更新S3C2440系统程序 

    3.1 使用SJF2440工具烧写BIOS

    3.1.1 安装GIVEIO驱动 

    3.1.2 使用SJF2440烧写BIOS 

    3.2 安装linux 

    3.2.1 对Nand Flash进行分区 

    3.2.2 恢复BIOS

    3.2.3 烧写linux内核 

    3.2.4 烧写基于yaffs的根文件系统 

    3.2.5 启动系统 

    3.3 安装wince  

    3.3.1 对Nand Flash进行分区

    3.3.2 恢复BIOS

    3.3.3 烧写Eboot 

    3.3.4 烧写wince内核 

    下接 S3C2440 开发板用户手册(2)

    March 15

    S3C2440A开发板-三星ARM9开发板-龙人嵌入式系统开发

     

    S3C2440A开发板- 三星ARM9开发板-龙人嵌入式系统开发

    S3C2440A开发板   ARM9  ARM9开发板   嵌入式系统   嵌入式开发

    S3C2440A开发板主要特点:S3C2440A开发板是深圳 龙人计算机 嵌入式系统开发有限公司开发设计制造的,S3C2440A是工业级工作温度范围,适合于苛刻的场合。S3C2440A主频高达400MHz,最高可达533MHz,低功耗,高性能,开发板适合于PDA,便携媒体播放器,卫星导航仪等多媒体终端开发评估。同时可以作为嵌入式操作系统和嵌入式硬件设计教学。目前市场大量产品采用该芯片,价格便宜,货源充足。

    S3C2440A ARM9 处理器, 2440 A 开发板也就是 三星 ARM9系列开发板

    2440A开发板硬件介绍:

    1:处理器:S3C2440A-40 400MHz主频,ARM 920T内核

    2:ROM:16Mbit NOR FLASH,16bit宽度

    3:电子盘:512M bit NAND FLASH,8bit宽度

    4:RAM:512M bit SDRAM,133MHz,32bit宽度(两片组成)

    5:电源:7-24V宽电压输入,LT1765高效DC/DC降压,标配12V电源

    6:网络:10Mbps低功耗嵌入式专用以太网网络芯片CS8900A-CQ3,接口为标准RJ45插座, 集成网络变压器,安全可靠

    7:串口,3路串口,两路带握手信号,可接调制解调器或者GPRS。COM3位3线制和IRDA共用CPU的UART2信号,COM3和IRDA只能同时使用其中一个

    8:IRDA:预留RPM851A红外收发模组,用户可以自行安装,标准配置没有焊接。和COM3共用

    9:液晶接口:支持CSTN,TFT等多种LCD

    10:摄像头接口:预留30pin插座,方便用户连接数字摄像头

    11:音频接口:立体声音频输入输出接口,外加一路麦克风输入

    12:USB HOST:2个USB HOST接口,USB FULL SPEED。可外接HUB扩展。

    13:USB DEVICE:1路USB DEVICE接口,USB FULL SPEED

    14:SD卡接口:支持SD/MMC和SDIO设备

    15:总线扩展:通过96针高可靠欧式插座提供外部扩展,32*3排列,集成总线和其他可能用到的信号。外部总线通过高速双向缓冲器隔离,保证系统的安全。

    16:PCMCIA:预留PCMCIA芯片和PCMCIA插座(在板子背面),标准配置没有焊接。

    17:JTAG接口:ARM标准20芯JTAG接口

    18:RTC时钟:S3C2440A内部集成,外部提供RTC电池,插座安装,可更换

    19:双时钟设计:采用有源晶振+无源晶振两种模式设计,用户可选用其中一种或者同时使用两个时钟,方便评估。

    20:电路不采用任何加密措施,如CPLD等器件,确保用户能100%用于项目。

    嵌入式系统开发商 和ARM开发工具提供商 龙人计算机 提供嵌入式系统全套解决方案包括ARM解决方案、ARM开发板( ARM9开发板 和ARM7开发板)、ARM工控模块、ARM教学系统、ARM教学平台、ARM实验室建设、ARM仿真器等。网址: http://www.armodm.com

    联 系 电 话:+86-0755-83346939  83662100   余小姐

    销 售  Email:beijingshenzhen@126.com

    联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F   邮 编:518033

    三星S3C44b0开发板-ARM7开发板- ARM7-龙人嵌入式

     

    三星S3C44b0开发板-ARM7 开发板-  ARM7- 龙人嵌入式

    S3C44b0开发板   ARM7 开发板   ARM7   ARM 开发板   嵌入式开发

    【产品名称】三星S3C44b0开发板(3.0) 

    【产品规格】ARM7 

    【产品单位】每套 

    【所属类别】ARM7开发板   

    【使用说明】产品详细规格说明 

    【市场参考价格】600元人民币 

    【本站价格】398元人民币( 有货 )

    三星S3C44b0开发板 产品配件:

    S3C44b0开发板一块 

    JTAG调试器一个 

    并口线一条 

    串口线一条 

    7.5V电源一个 

    光盘两张(相关的软件,Protel99se的原理图和PCB图)

    1 S3C44b0开发板 硬件规格: 

    Samsung S3C44B0X 66MHz (ARM7内核) 

    8M SDRAM 

    2M FLASH 

    10M以太网接口 

    IDE接口 

    USB1.1接口 

    音频输出接口 

    时实时钟,备有可充电电池,方便您的使用。 

    IIC总线接口 

    实时系统时钟 

    LCD接口:支持640*480以下单色或320*240以下STN/DSTN 256色

    2个RS232串行口 

    包括protel格式的原理图和PCB图,详细的焊接说明,材料清单,有利您硬件的学习。

    14针JTAG调试端口 

    1*4键盘 

    可扩展的总线接口,CPU的160个引脚全部用2.54标准插座引出,您可以任意扩展你的设想,我们也逐步推出可选组件(保持向下的兼容性,保护你的投资)供你选择。 

    2、供学习使用的ARM开发包 

    uClinux源码 

    uClinux交叉编辑环境 

    同时可为个人学习提供SDT2.5编译器和ADS1.2编译器。 

    ARMBootloader(u-boot1.1.1for s3c44b0)系统初始化、外设初始化 

    LCD演示样例代码 

    TFTP工具,可以通过以太网口下载程序,节省您宝贵的时间。 

    UCOS源码 

    超强的bootloader源 代码(u-boot1.1.1,可以支持多种文件系统) 

    FLASH烧写工具 

    USB驱动和测试 

    系统测试代码(目前:IIC读240C8;USB;;时钟;缓冲;定时器;看门狗;蜂鸣器;按键;256色LCD;串口; 播放WAV声音文件) 

    相关技术文档,数据手册 

    3 嵌入式开发 简单试验简介:

    基于windows下的GNU for ARM开发环境。提供完整的uClinux for 44B0源代码。 

    学习uClinux内核架构、剪裁调试方案。 

    UCOS源码,用于ARM移植试验 

    网口程序加载实验。 

    串口程序加载实验 

    键盘控制LED实验。 

    USB控制LED实验。 

    串口控制LED实验。 

    LED状态测试实验 

    实时时钟RTC实验。 

    IIC测试实验。 

    PWM测试实验 

    播放WAV声音文件 

    龙人计算机 作为最专业的嵌入式系统开发商和ARM开发板供应商专业提供以三星S3C2440、S3C2410和S3C44B0处理器为核心的 ARM9开发板 及ARM7开发板并提供工业PDA、手持POS、GPS等各种嵌入式终端设备的ARM解决方案。网址: http://www.armodm.com

    联 系 电 话:+86-0755-83346939  83662100   余小姐

    销 售  Email:beijingshenzhen@126.com

    联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F   邮 编:518033

    三星S3C2410开发板-ARM9开发板-龙人嵌入式系统开发

     

    三星S3C2410开发板- ARM9开发板 -龙人嵌入式系统开发

    S3C2410开发板   ARM9开发板   ARM开发板   ARM9   嵌入式开发

    【产品名称】三星S3C2410开发板 

    【产品规格】arm9 

    【产品单位】每套 

    【所属类别】 ARM9开发板    

    【详细说明】产品详细规格说明 

    【市场参考价格】2000元人民币 

    【本站价格】1180元人民币( 有货 )

    S3C2410开发板产品说明

    S3C2410开发板简介: 

       ●CPU:采用SAMSUNG S3C2410 ARM920t CPU, 集成有串口,SD卡控制器,USB Host 和USB device控制器,LCD控制器, Nand Flash控制器等

       ●存储器:

      1. 64M SDRAM 

      3. 64M Nand Flash 用于存放应用程序

      4. 32M Intel StrataFlash 32M(默认不焊接)

      5. SD卡 

       ●一个VGA(直接连接普通PC显示器)、一个TFT输出接口(可以选购3.5寸的夏普LCD)。

       ●CS8900以太网控制器

       ●IDE接口,直接连接硬盘

       ●一个USB 主机接口

       ●一个USB 设备接口(可以切换成第二主机,需要更改驱动)

       ●一个总线扩展接口(包含16位数据,12位地址,两个片选,可以通过CPLD控制)。

       ●2个串口输出

       ●一个MIC输入接口

       ●一个LINE音频输入接口。

       ●一个耳机输出接口。

       ●2个CPU可控LED等。

       ●AD转换输入接口

       ●SPI和IIC接口

       ●JTAG调试接口

       ●CPLD编程接口

       ●扩展GPRS和CDMA专用接口(包含3.3V电平的串口,SPI口,IO引脚,电源等)

       ●5个按键 

      

    S3C2410开发板 装箱配件: 

    S3C2410开发板 一块( ARM9系列开发板 ) 

    5V2000mA电源一个 

    串口线一根 

    并口线一根 

    USB线一个 

    交叉网线一根 

    CPLD下载线一个 

    ARM_JTAG下载下一个 

    光盘2张 

    龙人 嵌入式产品事业部 专业提供ARM开发板( ARM9 ARM7 )、ARM教学系统、ARM 工控模块 DSP开发工具 仿真器 等产品,另外龙人还提供 ODM研发 嵌入式开发 。想做嵌入式,找龙人!

    网址: http://www.armodm.com

    联 系 电 话:+86-0755-83346939  83662100   余小姐

    销 售  Email:beijingshenzhen@126.com  

    联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F   邮 编:518033