IT博客 联系 聚合 管理  

Blog Stats

News

龙人嵌入式产品事业部专业提供ARM开发板(ARM9和ARM7)、ARM教学系统、ARM工控模块、DSP开发工具和仿真器等产品,另外龙人还提供ODM研发和嵌入式开发。想做嵌入式,找龙人! 网址:http://www.armodm.com 联 系 电 话:+86-0755-83346939 83662100 余小姐 销 售 Email:beijingshenzhen@126.com 联 系 地 址: 深圳市福田区福虹路世界贸易广场B座13F 邮 编:518033

随笔分类

随笔档案

相册

嵌入式开发和ARM解决方案


龙人嵌入式系统-嵌入式开发-ARM开发板-ARM开发工具

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

#

Tag:嵌入式系统 嵌入式开发 arm9 嵌入式软件开发工具

嵌入式系统的更新变化越来越快,我们的嵌入式系统设计开发工程师面临着强烈的市场需求以及日益错综复杂的设计挑战,对开发时间要求比较紧,尤其是做消费类产品,更是要求快速开发、生产、上市。正确选择一套先进的、功能强大的,同时又使用方便,界面友好的开发工具就显得至关重要。本专题旨在介绍目前业界主要的嵌入式开发工具,提供软件开发工具的正式版/试用版、用户手册、教程下载以及工程师们的工作笔记、开发经验及常见问题等文章。为工程师们及新进业者提供一个提升、学习的空间。

Keil 是业界最受欢迎的51单片机开发工具之一,它拥有流畅的用户界面与强大的仿真功能。

·                       常见问题:Keil c51 c166 c251常见问题集锦

·                       应用技巧:Keil软件仿真的串口调试技巧

·                       使用手册:Keil C51中文说明

·                       软件下载:Keil C251  Keil C166  Keil C51

RealView MDK 开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。

·                            工具剖析:从ADSRealView MDK

·                            应用技巧:ADS to MDK 转换例程

·                            使用手册:RVDS使用手册

·                            软件下载:RealView MDK3.12开发工具评估软件

MPLAB 是一种易学易用的PIC系列单片机产品的集成开发工具软件。该软件由MPLAB编辑程序、MPLAB项目管理程序(Project manager)MPASM汇编程序(Windows)MPLABSIM模拟调试程序等工具软件组成

·                       工具剖析:面向快速嵌入式MCU设计的仿真

·                       应用技巧:MPLAB IDE快速入门指南

·                       使用手册:MPLAB编辑器入门 MPLABIDE用户指南

·                       软件下载:MPLAB IDE v7.60a   MPLAB IDE v7.62

Xilinx Platform Studio 集成开发环境包含很多嵌入式工具IP、库、向导和设计生成器,能帮助快速创建定制的嵌入式平台。

·                       工具剖析:为嵌入式处理设计选择合适的开发工具

·                       应用技巧:Platform Studio视频演示 ISE多媒体教程

·                       使用手册:Platform Studio帮助专题 EDK原理和技巧

·                       软件下载:Platform Studio ChipScope™ Pro

风河公司的新一代Workbench开发平台继承了其原有的Tornado集成开发平台的一贯优势,并且功能更加强大,由于新采用了先进的Eclipse软件框架结构,从而使整个系统更加开放和易于扩展。

·                       工具剖析:Workbench嵌入式开发平台的特点和优势

·                       应用技巧:多核环境中的高效率调试方法

·                       使用手册:Workbench特性在线视频介绍

·                       软件下载:Wind River Workbench 2.6.1

IAR EWARM 集成开发环境
支持ARM7 / ARM9内核芯片
操作简单,易学易用
多种代码优化方式,极高的代码效率

·                            驱动程序:ST-Link仿真器驱动程序

·                            应用技巧:EK-STR711F演示程序

·                            使用手册:IAR EWARM快速入门

·                            软件下载:EW8051 V7.20D集成开发环境(免费4K版本)

 

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

ARM入门——龙人ARM开发板和ARM开发工具

ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。深圳龙人计算机在提供嵌入式系统开发技术的同时提供一些列ARM产品,包括:ARM开发板如ARM9系列的S3C2440开发板、S3C2410开发板,Intel XScale系列的IXP425开发板和270开发平台,更高的还有ARM10、ARM11系列开发板;ARM开发工具如ARM9仿真器、ARM7仿真器;ARM教学系统;ARM工控模块等。

一 首先说说ARM的发展

广义的嵌入式无非几种:

    传统的什么51、AVR、PIC称做嵌入式微控制器

    ARM是嵌入式微处理器;

    DSP

    FPGA

客观的讲,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。

DSP因为数字处理与通信领域的空前发展而火暴,小到MP3 射象头,大到我们军品里的控制器,应用面很广。

FPGA的兄弟一般做ANSIC(特殊芯片设计,好象是这么翻译的)。而ARM单纯说来并不比一个单片机强多少,但是它的独特就在于不断下降的价格和提升的性能。这完全依靠于ARM公司的战略,厉害!!很佩服他们的战略眼光!!

值得注意的是:在找工作中,企业(著名的,小的不算)对单纯的ARM硬件开发工程师并不比单片机重视,很少有大企业的职位里写“从事过ARM开发优先”。写的多的是什么?“嵌入式LINUX”到这相信大家看出来了吧,需要的是硬件中的软件。

ARM ARM开发板 嵌入式 ARM开发工具 ARM芯片

二 ARM是硬件还是软件

      很难说,ARM是硬件,LINUX是软件。ARM的硬件多半已经模块化了,像我这样把板子改成这样的就算动的多的了,这同样是ARM公司的战略,再次佩服。

      实际中的LINUX的开发工作更多,更耗时。从这方面说ARM应该算是软件了。

      在找工作中更是这样,举个例子,联想里和ARM最接近的是“BIOS工程师”是软件,MOTO里接近的是嵌入式LINUX工程师是软件。而其他很多公司把嵌入式产品开发归为硬件。所以,不要讨论这个,好好玩转自己的板子才是关键。实在不爽你就把自己叫“嵌入式开发工程师”

以上是龙人计算机介绍的ARM入门基础知识,对ARM开发和嵌入式系统有兴趣的朋友可以登录龙人计算机嵌入式系统开发网站学习相关内容,需要购买嵌入式ARM开发板和ARM开发工具的可以登录龙人嵌入式产品网站或来电咨询。http://www.armodm.com/arm-kf/arm.asp

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

销 售 Email:beijingshenzhen@126.com

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

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

嵌入式系统设计者在选择嵌入式处理器时考虑的主要因素-龙人 

嵌入式系统设计者在选择嵌入式处理器时要考虑的主要因素有: 

  ① 处理性能。一个嵌入式处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。如果是面向高性能的应用设计,那么建议考虑某些新的处理器,其价格相对低廉,如IBM和Motorola Power PC。 

② 技术指标。当前,许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个嵌入式系统的开发费用。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如DMA控制器,内存管理器,中断控制器,串行设备、时钟等的配套。 

嵌入式 嵌入式系统 嵌入式开发 嵌入式处理器 嵌入式系统设计

  ③ 功耗。嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器,典型的特点是要求高性能、低功耗。许多CPU生产厂家已经进入了这个领域。今天,用户可以买到

一颗嵌入式的微处理器,其速度像笔记本中的Pentium一样快;而它仅使用普通电池供电即可,并且价格很便宜。如果用于工业控制,则对这方面的考虑较弱。 

  ④ 软件支持工具。仅有一个处理器,没有较好的软件开发工具的支持也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。 

  ⑤ 是否内置调试工具。处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。 

  ⑥ 供应商是否提供评估板。许多处理器供应商可以提供评估板来验证理论是否正确,决策是否得当

以上是深圳龙人计算机介绍的嵌入式处理器的选择因素,更多关于嵌入式系统开发、嵌入式软件和嵌入式硬件的设计开发的技术问题请进龙人嵌入式事业部的网站:http://www.armlab.net

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

基于ARM9系列S3C2410的PDA人机接口电路嵌入式开发

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

龙人计算机介绍基于ARM9系列S3C2410的PDA人机接口电路设计,包括S3C2410 LCD控制器的电路设计PDA的触摸屏设计以及PDA的键盘电路设计。本文先介绍S3C2410 LCD控制器的电路设计。其他的请进龙人嵌入式系统开发技术网站:http://www.armodm.com

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

S3C2410是三星公司设计的32位RISC(精简指令集计算机)嵌入式处理器。该芯片基于ARM920T内核,集成了众多的常用资源,如LCD控制器、SDRAM控制器、1个触摸屏接口、2个SPI接口等,内核最高工作频率可达266 MHz。适用于信息家电、智能电话、平板(Tablet)电脑、PDA、移动终端等领域。

1 S3C2410 LCD控制器的电路设计

  1.1S3C2410的LCD控制器

S3C2410的LCD控制器用来传输图像数据并产生相应的控制信号,该控制器由REGBANK(控制寄存器组)、LCDCDMA(专用DMA)、VIDPCS(视频信号处理单元)、LPC3600和TIMEGEN(时序信号产生单元)组成。其中:REGBANK包含17个可编程寄存器和几个256×16的调色板存储器,用来配置LCD控制器,并设置相应的参数;LCDCDMA提供了视频信号的快速传输通道,自动通过系统总线从系统帧缓存中取出视频数据,并传输到视频信号处理单元;VIDPCS将专用DMA中取出的信号进行整形并提高驱动能力等处理后,输出到外部数据端口VD[23:0];TIMEGEN和LPC3600产生LCD屏所需要的控制时序。

ARM9 S3C2410 嵌入式开发 PDA 电路设计

  S3C2410 LCD控制器可以产生用于控制TFT-LCD的时序信号,主要包括VCLK(像点时钟)、VDEN(数据有效信号)、VSYNC(垂直同步信号)、HSYNC(水平同步信号)、LEND(行结束信号)及LCD_PWREN(液晶屏使能信号)。其中:VCLK信号是LCD控制器和LCD驱动器的像素时钟信号,LCD控制器在VCLK信号的上升沿处将数据送出,在VCLK信号的下降沿处被LCD控制器采样;VSYNC信号是垂直同步信号(也称帧同步信号),用来指示新的一帧图像的开始;HSYNC信号是水平同步信号(或行同步信号),用来给出新的一行扫描信号的开始;VDEN信号是数据使能信号;LEND信号是行扫描结束信号,LCD驱动器在每扫描一行像素后给出该信号;LCD_PWREN信号用来控制LCD控制器的开或关,以便降低功耗,它需要LCD控制器硬件设计的支持。

  1.2S3C2410的LCD控制器寄存器操作和设置

  S3C2410的LCD控制器内部设有较多的寄存器,其中与时序信号高度相关的寄存器位于寄存器组中的LCDCON1/2/3/4/5。本系统设计的LCD驱动器需要LCD控制器给出VCLK、VDEN、LCD_PWREN和VD[23:0]信号。VCLK信号依赖于LCDCON1寄存器中CLKVAL和S3C2410的HCLK的取值,具体公式为: VCLK(Hz)=HCLK/[(CLKVAL+1)×2]

  VSYNC和HSYNC的产生依赖于LCDCON2/3寄存器及HOZVAL和LINEVAL的配置,其中:

  HOZVAL=水平像素数-1

  LINEVAL=垂直显示尺寸-1

  帧频率VSYNC与LCDCON1/2/3/4寄存器中的VSPW、VBPD、VFPD、LINEVAL、HSYNC、HBPD、HFPD、HOZVAL和CLKVAL有关。

1.3 S3C2410与LCD的接口电路

  S3C2410支持TFT/STN型的LCD,但是不能直接与LCD相连,需要接口板驱动,而本系统所用台湾建美电子股份有限公司的LCD集成了驱动电路,使得嵌入式系统设计更为方便稳定,该LCD应用了最新的QVGA技术,分辨率是240×320像素的液晶输出方式,使得显示的像素更高、更清晰。该LCD采用4线电阻触摸屏,4线电阻模拟量技术的2层透明金属层工作时每层均增加恒定电压:一个竖直方向YD、YU,一个水平方向XR、XL,总共需4根电缆。其特点是:高解析度,高速传输反应,表面硬度处理,减少擦伤、刮伤及防化学处理,具有光面及雾面处理,一次校正,稳定性高,永不漂移通过。JEMITEK的LCD通过50引脚的插座与S3C2410接口电路连接。

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

posted @ 2008-05-28 15:33 龙人嵌入式开发 阅读(191) | 评论 (0)编辑 收藏

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

posted @ 2008-05-28 15:33 龙人嵌入式开发 阅读(409) | 评论 (0)编辑 收藏

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

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

 

嵌入式系统开发之基础- 预处理器 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

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

 

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 241 0 开发板   嵌入式开发   中断编程

    可以看出 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!

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

 

嵌入式系统学习需要的条件,方法及步骤

有些人以为搞嵌入式就是随便找本书看看,在电脑上编几个程序就完事。非也,其实嵌入式的门槛是比较高的。具体如下:  

  1、您得有一定数量的Money。

    (1)、开发板贵

    (2)、培训费更贵

    (3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)

  2、需要学习的东西多。(1)、window环境编程;(2)、Linux环境编程;(3)、单片机

  3、最后也是最重要的一点,你得有坚韧不拔之志和一颗平常之心。

   (1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)

   (2)、成功其实就是成为最好的您自己       

  嵌入式门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:

  1、《C语言》第二版 谭浩强 ; 《C程序设计语言》第二版 徐宝文译 机戒工业出版社

  你能区分开指针数组和数组指针吗?你知道函数指针吗?

  你能区分开定义一个变量时系统给它分配的空间与用malloc()函数给一个变量分配的空间有什么不一样吗?

  2、《数据结构》C语言版  黄国愉、叶乃青编  清华大学出版社

  你能合上书本,用C语言实现书中的单链表、双链表数据结构吗?

  3、《实用C++程序设计》第二板 中国电力出版社 Steve_Oualline著

  此阶段主要是学习其面向对象的编程思想,加深对C语言和数据结构的理解。

  4、学习单片机,最好能找个前辈带一带。

   你能用51单片机做出一样实际的东西吗?即使它再简单!

   要注意加深对中断的理解。

  5、学习ARM单片机。

   (1)、细读《ARM微控制器基础与实战》周立功编写 (注:即使你不用书中的开发板)

   (2)、细读相关芯片的原版英文文档。如:arm920TE.pdf  S3C2410_1.2.pdf

  6、学习uCOS!!操作系统。

   (1)、细读《嵌入式实时操作系统uC/OS-!!》第二版 召贝贝译

    你能把uCOS!!移植到自己的平台上吗?

   (2)、能编写在uCOS!!操作系统环境下运行的针对具体硬件的驱动程序

  7、熟悉Linux环境,学习Linux环境编程,学习交叉编程

   (1)、细读《linux命令大全.pdf》

   (2)、细读《GNU Make 使用手册(中译版).pdf》

   (3)、学习创建交叉编程环境.

  8、学习Linux操作系统。     

   (1)、《UNIX环境高级编程》

   (2)、细读“joyfire 笔记”,可在“www.qianrushi.com”网站的好书下载栏目获取

      (3)、细读《linux内核完全注释》

   (4)、细读《understanding the linux kernel 2》

   (5)、利用源代码阅读利器工具"Source Insight"进行真正的linux内核原码刨析

   (6)、最后进行内核移植,并能编写在linux操作系统环境下运行的针对具体硬件的驱动程序

  9、学习Linux设备驱动编写。可参考《Linux设备驱动程序》

 10、复习C++,学习用QT进行图形界面编程

   (1)、细读《QT编程宝典》

   (2)、学会通过查看QT电子文档进行QT GUI实地编程

   (3)、学习交叉编程.(其实就是把命令qmake变为tmake)

 11、当然,你也可学习一下PCB的制作和设计一个自己的CPU(即软壳)

  至此,你已学完嵌入式的整流程!但谨记:一个有思想的人才真是一个力量无边的人;有容乃大,能予方强!

 

 

posted @ 2008-03-13 16:46 龙人嵌入式开发 阅读(836) | 评论 (0)编辑 收藏

 

嵌入式系统开发之嵌入式开发工具

嵌入式系统的更新变化越来越快,我们的嵌入式系统设计开发工程师面临着强烈的市场需求以及日益错综复杂的设计挑战,对开发时间要求比较紧,尤其是做消费类产品,更是要求快速开发、生产、上市。正确选择一套先进的、功能强大的,同时又使用方便,界面友好的开发工具就显得至关重要。本专题旨在介绍目前业界主要的嵌入式开发工具,提供软件开发工具的正式版/试用版、用户手册、教程下载以及工程师们的工作笔记、开发经验及常见问题等文章。为工程师们及新进业者提供一个提升、学习的空间。

嵌入式软件开发工具:

1. Keil  是业界最受欢迎的51单片机开发工具之一,它拥有流畅的用户界面与强大的仿真功能。

2. RealView MDK  开发工具源自德国Keil公司,被全球超过10万的嵌入式开发工程师验证和使用,是ARM公司目前最新推出的针对各种嵌入式处理器的软件开发工具。

3. MPLAB  是一种易学易用的PIC系列单片机产品的集成开发工具软件。该软件由MPLAB编辑程序、MPLAB项目管理程序(Project manager)、MPASM汇编程序(Windows版)和MPLAB-SIM模拟调试程序等工具软件组成。

4. VisualDSP++  是一款针对ADI Blackfin、SHARC和TigerSHARC等处理器易安装易使用的软件开发和调试集成环境(IDDE)。通过单一界面可以从始至终高效地管理项目。该集成开发环境可以使您在编辑、构建、调试操作间快速轻松地切换。

5. Xilinx Platform Studio  集成开发环境包含很多嵌入式工具、IP、库、向导和设计生成器,能帮助快速创建定制的嵌入式平台。

6. Nios II IDE  提供了一个统一的开发平台,用于所有Nios II处理器系统。仅仅通过一台PC机、一片Altera的FPGA以及一根JTAG下载电缆,软件开发人员就能够往Nios II 处理器系统写入程序以及和Nios II处理器系统进行通讯。

7. 风河公司的新一代 Workbench 开发平台继承了其原有的Tornado集成开发平台的一贯优势,并且功能更加强大,由于新采用了先进的Eclipse软件框架结构,从而使整个系统更加开放和易于扩展。

8. IAR EWARM  集成开发环境支持多种代码优化方式,极高的代码效率ARM7 / ARM9内核芯片操作简单,易学易用

posted @ 2008-03-13 16:46 龙人嵌入式开发 阅读(221) | 评论 (0)编辑 收藏

仅列出标题
共2页: 1 2