3.ppt

Similar documents
untitled

IAR visualSTATE Workshop

EK-STM32F

untitled

一个开放源码的嵌入式仿真环境 ― SkyEye

ARM JTAG实时仿真器安装使用指南

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2

目 录

Abstract arm linux tool-chain root NET-Start! 2

IAR Embedded Workbench快速入门

Smart2.doc

STM32 STM3232ARM Cortex-M3 Cortex-M3 STM32Thumb-2 STM32MCU Cortex-M3ARM MCU STM32ARM 32 ARMCortex-M3 32 STM32 Cortex-M3 ARM Cortex-M3 ARM ARM

第七章 中断

简 介 本 白 皮 书 高 度 概 述 了 支 持 移 动 互 联 网 设 备 (Mobile Internet Device) 的 Intel C++ Software Development Tool Suite for Linux* OS, 目 标 读 者 主 要 是 技 术 决 策 制 订

言1.PDF

ICD ICD ICD ICD ICD

USB解决方案.ppt

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)

rz_Newsletter2016_en_ indd

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

untitled

PROTEUS VSM

例 如, 一 个 含 有 2000 个 记 录 的 文 件, 每 个 磁 盘 块 可 容 纳 250 个 记 录, 则 该 文 件 包 含 8 个 磁 盘 块 然 后 对 该 文 件 作 二 路 归 并 的 外 排 序, 每 次 往 内 存 读 入 两 个 磁 盘 块, 排 序 后 再 写 回 磁

chapt01.ppt

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1.

大学计算机基础B.doc

<4D F736F F D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>

ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica

Cortex-M3体系结构与接口编程

CC213

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

《计算机应用基础》学习材料(讲义)

indows CE 1996 Semiconductor Industry Association (SIA) Windows CE Windows Embedded CE 6.0 Windows CE Windows Embedded CE 6.0 Micr

Microsoft PowerPoint - 8-ADS介绍 [兼容模式]

先生別耍我

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

Microsoft Word - 正文.doc

IAR Embedded Workbench用户指南

epub83-1

PCM-3386用户手册.doc

相 关 知 识 1 计 算 机 工 作 原 理 1946 年 2 月, 世 界 上 第 一 台 电 子 计 算 机 ENIAC (Electronic Numerical Integrator And Computer, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

Oracle Oracle Solaris Studio IDE makefile C C++ Fortran makefile IDE Solaris Linux C/C++/Fortran Oracle IDE "P

CH01.indd

Learning Java

IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I

KT-SOPCx开发套件简明教程

ebook140-9

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

SMART 7P 0 HR7P OTPMCU A/D I/O OTP ROM RAM HR7P HR7P HR7PPMB MSOP0 7+input HR7PPSC HR7PPSD SOP SOP6 +input input HR7PERB SSOP0 7

1 MTK 2 MTK 3 MTK

DPJJX1.DOC

投影片 1

Microsoft Word zw


Microsoft Word - A doc

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

大学计算机信息技术教程·配套习题集(印刷稿/理论题<必做/选做题>)

51 C 51 isp 10 C PCB C C C C KEIL

1 CPU

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

Advanced Debugging on Freescale Kinetis MCUs IAR Systems, Shanghai

经华名家讲堂

IC-900W Wireless Pan & Tilt Wireless Pan & Tilt Remote Control / Night Vision FCC ID:RUJ-LR802UWG

Microsoft PowerPoint - XMC4000系列开发环境介绍(DAVE3).pptx

目次 

untitled

378高雄市都市計畫說明書

Xilinx Alliance Program Certified GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM

2008 IT 亞東證券投資顧問蕭雅慧於 2007/11/19 上午 09:38:03 下載. 拓墣產研版權所有, 未 2007/11/15

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

2.1 n ~á CPU q ˆ ~ µƒã î ˆ C++ à nù eô 1. (edit) 2. Í (preprocess) 3. (compile) 4. (link) 5. (load) 6. ˆ (execute) µl ô Ãs nù (editor) Í (preprocessor

Selecting Your LabVIEW? Real-Time Deployment Platform

DSP


MSAC-EX1

Microsoft Word _2 課本1225_OK_0222修.doc

ARM 将是 32 位主流的 嵌入式 CPU Gartner Inc 今年 6 月统计 2002 年 ARM 在全球半导体 IP 供应商中排名第 1 占市场份额 19.8% 销售收入达 1.8 亿美元比 2001 年增长 10% ARM 是世界第一大 IP 知识产权厂商在全球已经有将近 200 多个

C语言的应用.PDF

1 LINUX IDE Emacs gcc gdb Emacs + gcc + gdb IDE Emacs IDE C Emacs Emacs IDE ICE Integrated Computing Environment Emacs Unix Linux Emacs Emacs Emacs Un

Ps22Pdf

Microsoft Word - PS2_linux_guide_cn.doc

Oracle 4

《將進酒》

21 flash

Altera SOC Devices

Transcription:

嵌入式培训专家 基于 ARM 的程序开发 与调试技巧 www.farsight.com.cn

今天内容 v 单片机的应用情况 varm 处理器的发展概况 varm 的开发平台和仿真器 varm 处理器的基础知识 v 开发高效程序的技巧 viar 公司 EWARM 介绍和演示 v 华清远见的 ARM 培训课程介绍

单片机的应用情况 v51/pic/avr 性能价格比较高 atmel/philp/.. 兼容 51 的 flash/ 掩膜单片机占据大量市场份额 v68hc 系列发展势头也不错, 另外专用单片机如 NEC/ 东芝 / 在特定行业应用广泛

v 单片机的应用情况

单片机应用存在的问题 v 一些客户开始向高端发展 目前单片机的外围扩充代码 / 数据空间困难 单片机缺少协议处理功能,mips 值低, 外接 ethernet/ 上 tcp/ip 协议困难 大屏幕 LCD 显示接口 /HDLC 等需求用 8 位机实现困难

varm 处理器的发展概况

ARM 公司简介 v ARM 公司作为 32 位处理器内核的提供者, 拥有 100 多家半导体合作伙伴,ARM core 是目前消费类电子市场中市场占有量第一的 CPU 体系 v ARM 是一个 CPU 内核 ARM 公司自己并不生产或销售芯片, 它采用技术授权模式, 通过出售芯片技术授权, 收取授权费与技术转让费 v 随着 ARM/MIPS/ARC 等成熟内核的推出, 很多过去没有 32 位 cpu 研发能力的半导体公司进入这一行列

ARM 处理器的发展进程

ARM 系列处理器 varm 系列内核的优势 v 低价格 v 低功耗 v 高处理能力 v 另外具有 Thumb, DSP, jazeller 功能扩展 v 新的 Thumb2

ARM 系列处理器 v 主流 ARM 内核 : v ARM7 :arm7tdmi,arm720t(mmu) v ARM9 v ARM10 v StrongARM/Xscale(Intel 公司的 arm 处理器 ) v ARM11 v SecurCore( 专门为安全产品设计的 ) v Cortex(ARM 新一代的处理器核心 )

关于 A-R-M Cortex 核心 v A 系列 用于复杂的带 OS 的大型应用的应用处理器 支持 arm thumb thumb2 指令集 v R 系列 用于嵌入式实时操作系统, 嵌入式处理器 支持 arm thumb thumb2 指令集 v M 系列 用于深嵌入的低成本处理器 只支持 thumb2 指令集

ARM 系列处理器 vatmel 公司 arm 系列 vat91 系列 : 优点 : 工业级 但缺乏 lcd 驱动等较吸引力的外围电路 vat75/76 系列 : 内置 arm7/dsp 双内核, 有 Arm+2DSP/ ARM+DSP+MAC, 两种配置, 加上 PHY 就 可实现 voip 终端

ARM 系列处理器 vcirrus logic 公司 机顶盒 /mp3/ia 等专用 SOC, 有数模混合和视频 / 音频处理优势 vep7211 vep7312 vep7209 vep9312

ARM 系列处理器 vsamsung: Arm 系列 SOC 芯片 44b0,4510, 2410, 2510, 2800 集成度高, 关注 mp3/pda 应用 vmotolora: 最近推出龙珠 MX21/31, 使用了 arm 内核 vphiliphs: LPC2xxx/3xxx

varm 的开发平台和仿真器

ARM 系列开发平台 vc/c++ 开发平台 ADS :ARM 公司提供 SDT:ARM 公司提供 RealView ARM 公司提供 EWARM 瑞典 IAR 公司提供 GNU: 免费平台

ARM 系列仿真调试器 v ARM 系列支持 JTAG 规范支持 ARM 调试的一些仿真器 : Angel---rommonitor Multi-Ice BDI2000/BDI1000 OPENICE A1000 J-link/J-trace Trace32 Wiggler Cable

varm 处理器的基础知识

ARM 处理器基础知识 v ARM 全 32 位指令系统 v THUMB 内部 32 位, 代码是 16 位 -- 增加代码密度减少成本 v THUMB2 最近 ARM 公司公布了一项新的发明 Thumb-2 指令集, 该指令集同时包含 32 位和 16 位指令, 在代码长度和性能之间作了最佳的平衡 ; 这样, 以后用户就可以用一个统一的 Thumb-2 编译器来解决现在面临的很多问题了

ARM/Thumb/Thumb2 应用比较

ARM7 处理器基础知识 v ARM7TDMI 是基于 ARM7 内核 3 级流水线 ---0.9MIPS/MHz 冯. 诺依曼架构 CPI(Cycle Per Instruction) 约为 1.9 T -Thumb 架构扩展, 提供两个独立的指令集 : ARM 指令, 均为 32 位 Thumb 指令, 均为 16 位两种运行状态, 用来选择哪个指令集被执行 D - 内核具有 Debug 扩展结构 M - 增强乘法器 (32x8) 支持 64 位结果. I -EmbeddedICE-RT 逻辑 --- 提供片上断点和调试点支持

ARM7 处理器基础知识 v 为增加处理器指令流的速度,ARM7 系列使用 3 级流水线. 允许多个操作同时处理, 比逐条指令执行要快 PC 指向正被取指的指令, 而非正在执行的指令 ARM Thumb PC PC Fetch 从存储器中读取指令 PC - 4 PC-2 Decode 解码指令 PC - 8 PC - 4 Execute 寄存器读 ( 从寄存器 Bank) 移位及 ALU 操作寄存器写 ( 到寄存器 Bank )

ARM9 处理器基础知识 vharvard 架构 增加了可用的存储器宽度指令存储器接口数据存储器接口 可以实现对指令和数据存储器的同时访问 v5 级流水线 v 实现了以下改进 : 改进 CPI 到 ~1.5 提高了最大时钟频率

ARM9 处理器基础知识 ARM7TDMI Instruction Fetch ThumbfiARM decompress ARM decode Reg Select Reg Read Shift ALU Reg Write FETCH DECODE EXECUTE ARM9TDMI Instruction Fetch ARM or Thumb Inst Decode Reg Decode Reg Read Shift + ALU Memory Access Reg Write FETCH DECODE EXECUTE MEMORY WRITE

ARM9E 的区别 varm9e 基于 ARM9TDMI 内核, 有以下扩展和增强 : 单周期 32x16 乘法器 EmbeddedICE 逻辑 RT 改进的 ARM/Thumb 交互操作 新的 32x16 和 16x16 乘法指令 新的计数到零指令 新的饱和算术指令

ARM9x6E-S 的区别 varm946e-s ARM9E-S 内核 指令和数据 cache, 大小可选择 指令和数据 RAM, 大小可选择 保护单元 AHB 总线接口 varm966e-s 与 ARM946E-S 相似, 但无 cache

ARM926EJ-S 的区别 vjazelle 状态允许直接执行 Java 8 位码 varm926ej-s ARM9E-S 内核 可配置的 cachetcm TCM(Terminal-to-ComputerMultiplexer 终端设备至计算机多路转接器 ) 内存管理单元 双重 32 位 AHB 总线接口 ( 多层 )

Intel StrongARM varm V4 架构 ( 无 Thumb 支持 ) v5 级流水线, 降低跳转损耗 -stage pipeline, reduced branch penalty v 改进的乘法器 ( 典型地比 ARM9TDMI 快 2 个周期 ) v 不支持 Multi-ICE 调试 (JTAG 限制在连通性测试 ) v 无外部协处理器接口

Intel XSCALE v V5TE 兼容架构 v 7-8 级流水线带统计分支预测 v 32k 的数据和指令 Cache, 外加 2k 的数据 Minicache 8 口写缓冲,4 口填充和追加缓冲 v 完整的 32 位协处理器接口 调试和性能监控逻辑 ( 通过 CP14 ) 乘 - 加模块 ( 作为 CP0 ) 可配置的内核时钟速度 100-733MHz, 来自 33-66MHz 输入时钟 异步输入总线时钟可到 100 MHz ( 最大总线内核时钟的 1/3 )

v 开发高效程序的技巧

开发高效程序的技巧 v 变量定义 变量定义虽然很简单, 但是也有很多值得注意的地方 看下面两组变量定义顺序

开发高效程序的技巧 定义的 4 个变量形式都一样, 只是次序不同, 却导致了在最终的映像中不同的数据布局

开发高效程序的技巧 v 循环条件 记数循环是程序中十分常用的流程控制结构 在 C 中, 类似下面的 for 循环 for (loop = 1; loop <= limit; loop++) 这种累加计数的方法符合一般的自然思维习惯, 所以比下面的递减计数方法使用的更多 for (loop = limit; loop!= 0; loop--) 这两者在逻辑上并没有效率差异, 但是映射到具体的体系结构中, 就有很大的不同

开发高效程序的技巧

开发高效程序的技巧 v 从图中可以发现累加法比递减法多用了一条指令, 当循环次数比较大的时候, 这两段代码就会在性能上产生出明显的差异来 分析其中的本质原因, 在于当进行一个非零常数比较时, 必须用专门的 CMP 指令来执行 ; 而当一个变量与零进行比较时,ARM 指令可以直接利用条件执行的特性 (NE) 来进行判别

v IAR EWARM 开发平台 介绍和演示

IAR EWARM 的组织结构 IDE Host Application Text Editor Project Manager Debugger GUI Third Party Editors, Source Code Control Systems, etc. Tool Chain C-SPY Debugger Kernel Compiler, Assembler Linker, Libraries Simulator RDI, J-Link, Angel, Macraigor, RTOS Support Custom Plug-Ins

EWARM 软件编译过程 <library>.r79 (Library File) <design>.xcl (Linker File) File with UBROF Object Debug Information ddf-file IAR Simulator <design>.c (C Code) <design>.h (Head File) <design>.s79 (Assembly) IAR C/C++ Compile r IAR Assembler <design>.r7 9 (Object File) <design>.r7 9 (Object File) IAR Linker <design>.map (Map File) <design>.d79 <design>.a79 Linker can produce multiple output files, e.g. Motorola s- record, Intel hex, coff, elf/dwarf,... IAR Debugge r RTOS Support e.g. ORTI CMX OSE ThreadX uc/os-ii Fusion Quadros... RDI IAR J-Link Macraigor Angel Third-Party Emulator Driver

开发环境 v IAR C-SPY 软仿真器 v 硬件调试器接口 RDI, J-Link/J-Trace, Macraigor, Angel, ROM-monitor 第三方的仿真器

EWARM 支持 arm 核时间表 ARM11 Cortex ARM9E ARM10 XScale VFP ARM 7 ARM 9 2.10 3.11 3.20 3.30 3.40 4.10 4.11 4.20 4.30 4.40 2001 2002 2003 2004 2005 2006

支持的实时操作系统 v 内置的 : v CMX-RTX v CMX-Tiny+ v ThreadX v OSE Epsilon v ORTI v embos v μc/os-ii v 第三方提供 : v RTXC Quadros v Fusion v MiSPO NORTi v SMX

文档和图书 v 重要的 PDF 文件 : IAR ARM Embedded Workbench User Guide IAR ARM C/C++ Compiler Reference Guide v 移植指导 : ADS to EWARM Migration Guide RVDS to EWARM Migration Guide v 书籍 : IAR EWARM 嵌入式系统编程与实践 v 手册 : EWARM 快速用户指南 v 其它资料 : IAR ARM Assembler Reference Guide IAR EWARM Flash Loader Developer Guide IAR Embedded Workbench MISRA C Reference Guide IAR Linker and Library Tools Reference Guide

IAR EWARM 演示

创建一个工程

增加文件 v 给工程增加文件 v 创建程序组, 给组增加文件 有效的组织源代码 帮助生成更好的代码

v 选择一个 ARM 核 v 选择一个 ARM 芯片 ( 推荐 ) 选择 ARM 核或者芯片

选择优化方式 v 体积优化 v 速度优化

选择链接定位文件

选择调试器驱动 v 软仿真 v 硬件仿真器接口

v 下载到 RAM v 用 Flash Loader 下载到 Flash v 在 Flash 中调试不下载代码 选择下载方式

v 编译 v 观察链接映射文件 *.map 编译和连接

v 启动调试 v 代码下载和调试 下载和调试

v 华清远见 ARM 培训课程介绍 课时 : 共 4 天, 每天 6 学时总计 24 学时

华清远见 ARM 培训课程介绍 varm 体系结构 varm 编程模型与寻址 varm 与 Thumb 指令集 v 混合使用 C C++ 和汇编语言 v 基于 ARM 处理器的高效 C 编程 varm 汇编与优化

ARM 课程详细情况请访问 : www.farsight.com.cn/courses/ts-arm.htm

让我们一起讨论!

The success's road www.farsight.com.cn 谢谢!