Microsoft PowerPoint - university training.ppt

Size: px
Start display at page:

Download "Microsoft PowerPoint - university training.ppt"

Transcription

1 ARM 体系结构及基于 ARM 的嵌入式开发 费浙平 ARM 中国 议程 ARM 简介 ARM 在嵌入式产品中的应用 ARM 的体系结构 嵌入式系统开发 嵌入式系统调试 ADS 使用介绍 Q & A 2

2 知识产权公司 SOC 片上系统 begin if (!DBGENintD) CoreWrFlgNS = 2'b00; else 知识产权 IP + AMBA = ARM7TDMI Thumb OAK DSP 3 ARM 知识产权 无处不在 4

3 M1 M1 M2 M2 M3 M3 High-speed 64-bit multi-layer architecture Bridge Bridge S1 S1 S2 S2 S3 S3 M4 M4 M5 M5 Arb iter Arb iter S3 S3 S4 S4 S5 S5 S6 S6 Lo wer sp eed, 32-b it, single- layer subsystem ARM 近况 世界上最大的半导体 IP 公司 伦敦证交所 : ARM; 纳斯达克 : ARMHY 总部, 剑桥 ; 分部位于 8 个国家和地区 6 个研发中心, 740+ 员工 引领 RISC 和嵌入式计算技术潮流 1991 年率先推出 RISC 内核 授权 ARM 内核的设计给各大半导体公司 ARM 自己不生产芯片 合作伙伴已付运 20 亿个 ARM 内核微处理器 2002 年贡献约 79% 市场份额 全球技术网络 130+ 半导体和系统合作伙伴 70+ 操作系统合作伙伴 35+ 技术共享合作伙伴 2002 年 ARM 在上海成立全资子公司 : 安谋咨询 ( 上海 ) 有限公司 Info-china@arm.com 5 ARM Complete IP Portfolio 知识产权 : 产品 规划和路线图 CPUs 从 ARMv4T 到 ARMv6 结构体系 ARM 系统级 IP 和设计方法 AMBA PrimeCell, MBX, Reference methodologies 软件 IP Media engines - Move, Swerve 3D 先进技术 Java, security, multiprocessor 软件开发工具 RealView - 开发工具和平台 AMB A Interconnect AMB A Intercon nect AMB A Interconnect AMB A Intercon nect 6

4 从IP到产品的各种授权 大学 7 ARM Connected Community 50家 2 过长 超 数 继续增 中国公司 员 成 - 仍在 越多的 来 -越 8

5 成功的 ARM 中国合作伙伴项目 中国无晶圆厂半导体公司 中兴集成购买 ARM922T CPU 授权, 用于网络系统芯片 上海华虹集成电路购买 ARM SC100 CPU 授权, 用于 Java 智能卡 大唐购买 ARM946E CPU 授权, 用于 SCDMA 基带芯片 上海复旦微电子购买 ARM7TDMI CPU 授权, 用于多媒体芯片 上海杰得微电子购买 ARM926 CPU Prime Starter Kit 授权, 用于多媒体芯片 晶原代工厂 中芯国际 (0.18u, ARM7TDMI, ARM922T) 大学及政府机构 东南大学 : ARM7TDMI 上海集成电路设计研究中心 (ICC): ARM7TDMI 上海交通大学 : ARM922T 北京工业大学 : ARM7TDMI 香港科技园 :ARM7TDMI ARM RealView 开发工具中国分销商 香港科汇宏盛分部 北京旋极 (ATC) ARM Approved Design Centre 众华 SoC 主要的中国原设备制造商 (OEM) 均支持 ARM 结构 RTOS 公司 普天慧信, 科银京成 北京凯思昊鹏 中科红旗, 世纪科泰等 应用 上海汉峰等 9 ARM 大学计划 大学计划的形式和内容 IP research license Tools and boards University bundle: Multi-ICE + ADS 硬件开发平台 :Integrator, Versatile 支持关于 ARM 的科研和教学 培训 资料 ( 实验课程 ) 在 ARM 网站上搜索 educational 与国内学校的合作 22 所大学与科研机构 第一个 ARM 芯片已由东南大学国家专用集成电路系统工程技术研究中心设计流片成功 10

6 大学计划内的主要产品 用户硬件 ARM 内核 开发板 11 ARM在嵌入式产品中的应用 何谓嵌入式运用 嵌入式控制指系统由输入/输出 I/O 中断 嵌入式计算 数据处理 通话和数据传输等 控制方案组成 12

7 嵌入式控制和计算机的芯片使用量比较 ( 个 ) 4,500 4,000 嵌入式产品拥有璀璨的明天 3,500 3,000 Millions of Units 2,500 2,000 1,500 1, PC/WS Embedded Source: Semico Research Corp MCU 销售量总计 $M $30,000 $25, 位产品的销额高于 8 位产品 $20,000 $15,000 $10,000 $5,000 $ Bit + 16-Bit 8-Bit 4-Bit Source: Semico Research Corp

8 不同体系结构的 CPU 在高端嵌入式控制 1,400 1,200 1, Millions of units ARM 68K MIPS SH-7XXX PowerPC 80X86 SPARC ST 嵌入式应用产品的开发 应用软件调试 应用软件开发 RealView Developer Suite + RealView ISS RealView Developer Suite RealView Developer Suite + 软件调试 芯片 RealView ICE + RealView Trace 软件调试 - 模型 RealView Developer Suite + RealView ICE 初始化调试 固件开发 模型仿真 RealView Integrator Boards RealView Developer Suite + RealView Model Library RealView Developer Suite 16

9 议程 ARM 简介 ARM 的体系结构 结构特点 (ARM7 和 ARM9) 编程模型 指令集 嵌入式系统开发 嵌入式系统调试 ADS 使用介绍 Q & A 17 What is ARM? 教育 培训 设计服务 成功的产品应用 先进的制造工艺 可集成性 庞大的开发者社区 高效 易用的指令集 优秀的速度 功耗特性 大量的芯片供应 强大的 EDA 工具支持 长期的发展规划 杰出的硬件架构 开放的互连体系结构 多方的开发工具和平台 丰富的外围 IP 资源 丰富的 OS 支持 众多的应用软件资源 18

10 ARM 体系结构的演变发展 version V6 ARM1136J(F) V5TE V5TEJ ARM1020 XScale TM ARM1022E ARM9E ARM926EJ ARM1026EJ V4 V4T StrongARM ARM720T ARM7TDMI ARM920T time StrongARM, XScale 是英特尔持的有商标 19 ARM 架构 (Architecture) Architecture v4t v5te v5tej v6 特性集 THUMB TM DSP Jazelle TM Media 不断创新以提升性能 THUMB TM : 35% 代码压缩 DSP 扩充 : 定点 DSP 的高性能 Jazelle TM : Java 性能显著提高, 最高到 8 倍 Media 扩充 : 音频 / 视频性能显著提高, 最高到 4 倍 向下兼容以保护软件投入 20

11 ARM processor s name ARM 926EJ-S Family number 7: ARM7 9: ARM9 10: ARM10 11: ARM11 Memory system 2: Cache, MMU, Process ID 4: Cache, MPU 6: Write buffer, no cache Memory size 0: Cache size (4-128KB) 2: Reduced cache size 6: TCM Synthesizable Extensions E: DSP extension J: Jazelle extension T: Thumb support ARM920T = ARM9 + Thumb + MMU + 16K/16K cache 21 Why Do We Need ARM Processors? Processors for Open Platforms Processors with MMU support for WinCE, Linux, Symbian and Palm-OS Wireless, Consumer, Imaging Processors for embedded real-time systems Storage, Automotive, Industrial, Networking Market Segments have Different Requirements Processors for secure applications SmartCard, SIM 22

12 ARM CPU Roadmap 0.13u Samsung ARM10 Application Processors Performance DMIPS XScale ARM1176JZF-S 480 ARM1136JF-S 440 ARM1156T2F-S ARM1026EJ-S 280 ARM926EJ-S ARM946E SC210 Secure ARM720T SC110 ARM7TDMI Embedded Control More about ARM7 and ARM9 24

13 ARM7TDMI Processor Core 冯 诺依曼架构 三级流水线 快速中断响应 性能指标 : 0.9 Dhrystone MIPs/MHz EmbeddedICE-RT 调试逻辑 No memory management No cache CPI = 1.9 世界上使用最广泛的 32 位嵌入式内核 主要应用领域 : 个人音频设备 手机和移动通信终端 Modems, xdsl, Cable Modems ATM and Ethernet 网络设备 打印机 数码相机 PDA 机顶盒 25 指令流水线 ARM7 内核使用 3 级流水线, 以提高指令流传递给处理器的速度 使得某些操作达到并行处理的效果, 比单纯的串行处理要好 ARM Thumb PC PC FETCH 从存储器读取指令 PC - 4 PC-2 DECODE 译码 PC - 8 PC - 4 EXECUTE 读寄存器移位和算术逻辑运算写寄存器 PC 指向处于指令读取级的指令地址, 而不是处于执行级的指令地址 26

14 优秀的流水线结构 Cycle Operation ADD SUB MOV AND ORR EOR CMP RSB Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Fetch Decode Fetch Execute Decode Fetch Execute Decode Fetch 本例中 6 个时钟周期内一共完成了 6 条指令 全部对寄存器进行操作 ( 单周期执行 ) 指令周期数 (CPI) = 1 27 流水线执行举例 :LDR Cycle Operation ADD SUB LDR MOV AND ORR Fetch Decode Execute Fetch Decode Execute Fetch Decode Execute Data Writeback Fetch Decode Execute Fetch Decode Fetch 本例中 6 个时钟周期内一共完成了 4 条指令 指令周期数 (CPI) =

15 ARM9TDMI Harvard 架构 提升了有效的存储器带宽 指令存储器接口 数据存储器接口 同时访问指令和数据存储器 5 级流水线 性能改进 提升 CPI 至 ~1.5 提高时钟频率 29 ARM9TDMI 流水线 ARM7TDMI Instruction Fetch Thumb ARM 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 30

16 LDR 内部周期 1 Cycle Operation ADD R1, R1, R2 SUB R3, R4, R1 LDR R4, [R7] ORR R8, R3, R4 AND R6, R3, R1 EOR R3, R1, R2 F - Fetch F D - Decode D E F D E W F D E M F D I E F I D E F D W E - Execute I - Interlock W Write-back W W W E W M - Memory 本例中 7 个时钟周期完成 6 条指令 CPI 等于 1.2 Interlock: LDR 后面的指令马上要用到LDR 的结果寄存器 导致插入一个内部 周期 31 ARM926EJ Jazelle, DSP 增强的带cache和 紧密偶合存储器的应用处理器 MMU Symbian, Linux, WinCE,Palm 指令和数据 caches 指令和数据 TCM 接口 独立的指令和数据 AHB 总线 ETM MHz* on TSMC 0.13µm ARM9E适合于DSP/control 混合的各种应用 无线平台 - PDA 和 手机 存储设备和侍服控制 - HDD & DVD 语音编解码 - 支持多种标准 视频/音频解码 网络应用 - G VoIP 汽车控制应用 调制解调器 32

17 议程 ARM 简介 ARM 的体系结构 结构特点 (ARM7 和 ARM9) 编程模型 指令集 嵌入式系统开发 嵌入式系统调试 ADS 使用介绍 Q & A 33 数据宽度和指令集 ARM 是 32 位的架构体系. 在 ARM 应用中约定 : Byte 指 8 位 Halfword 指 16 位 Word 指 32 位 多数 ARM 内核支持两套指令集 32 位的 ARM 指令集 16 位的 Thumb 指令集 包含 Jazelle 技术的内核还可以执行 Java 的 8 位指令 34

18 寄存器 ARM 一共有 37 个 32 位的寄存器 1 个 PC 寄存器 1 个 CPSR( 当前状态寄存器 ) 5 个 SPSR( 状态保存寄存器 ) 30 个通用寄存器 当前的处理器模式决定了可以访问到的寄存器组. 以下是对所有模式都有的寄存器 一组特定的 r0-r12 寄存器 一个特定的 r13 ( 堆栈指针, sp) 和 r14 ( 连接寄存器, lr) PC 寄存器 r15 当前状态寄存器 cpsr 特权模式 (System 模式除外 ) 独有的 特定的 spsr ( 状态保留寄存器 ) 35 处理器模式 ARM 一共有 7 种执行模式 : User: 非特权级模式, 多数应用程序使用的模式 FIQ: 进入快速中断响应时 IRQ: 进入一般中断响应时 Supervisor: 复位后的缺省模式, 或进入软件中断响应时 Abort: 遇到存储器访问出错时 Undef: 遇到未定义指令时 System: 特权级的 User 模式 36

19 寄存器组织 Current Visible Registers IRQ FIQ Abort User Undef SVC Mode r0 r1 r2 r3 r3 r4 r5 r6 r7 r7 r8 r9 r10 r11 r11 r12 r13 (sp) r14 (lr) r15 r15 (pc) (pc) cpsr spsr User FIQ IRQ SVC Undef Abort r8 r9 r10 r11 r12 r13 (sp) r14 (lr) r8 r9 r10 r11 r11 r12 r13 (sp) r14 (lr) spsr spsr Banked out Registers r13 (sp) r14 (lr) spsr spsr r13 (sp) r13 (sp) r13 r13 (sp) (sp) r14 (lr) r14 (lr) r14 r14 (lr) (lr) spsr spsr spsr spsr spsr 37 状态寄存器 31 N Z C V Q 条件标识位 N = 结果为负 Z = 结果为零 C = 进位 V = 溢出 Q 标识位 J 只在 5TE/J 系列中有效 指示 sticky overflow 的发生 U n d e f i n e d 中断使能位 I = 1: 禁止 IRQ. F = 1: 禁止 FIQ. T 标识位 I F T f s x c mode 只在 xt 系列内核中有效 T = 0: 处理器处于 ARM 状态 T = 1: 处理器处于 Thumb 状态 J 标识位 仅在 5TEJ 系列中有效 J = 1: 处理器处于 Jazelle 状态 模式位 指示当前处理器模式 38

20 PC 寄存器 (r15) 当处理器处于 ARM 状态时 : 所有指令都是 32 位长度 所有指令存储必须 word 对齐 pc[31:2] 有效, [1:0] 未定义 当处理器处于 Thumb 状态时 : 所有指令都是 16 位长度 所有指令存储必须 halfword 对齐 pc[31:1] 位有效, 最低位未定义 当处理器处于 Jazelle 状态时 : 所有指令都是 8 位长度 处理器一次执行 1 个 word 的读取指令获得 4 条 Java 指令 注意在指令中访问 PC 寄存器的值 不是当前指令地址 39 Endian Configuration ARM 可以通过配置支持两种 endian r0 = 0x r1 = 0x100 STR r0, [r1] Byte Lane Memory R2 = 0x LDRB r2, [r1] R2 = 0x11 Little endian Big endian 40

21 Memory map 所有存储器 外设寄存器 输入 / 输出端口都是统一编址的 必须有适当的启动 ROM/Flash 其他地址空间的分配没有任何限制 Registers 4 GB RAM ROM Boot ROM 0x 议程 ARM 简介 ARM 的体系结构 结构特点 (ARM7 和 ARM9) 编程模型 指令集 嵌入式系统开发 嵌入式系统调试 ADS 使用介绍 Q & A 42

22 ARM 指令 所有指令都是 32 位的 指令能够条件执行 使用 load / store 结构 数据处理类指令 SUB r0,r1,#5 ADD r2,r3,r3,lsl #2 ANDS r4,r4,#0x20 ADDEQ r5,r5,r6 存储器访问指令 LDR r0,[r1],#4 STRNEB r2,[r3,r4] LDRSH r5,[r6,#8]! STMFD sp!,{r0,r2-r7,r10} 43 Thumb 指令 Thumb 是一套 16 位指令系统 优化代码密度 : 对 C 代码的编译结果, 仅是 ARM 的 ~65% 在窄宽度数据总线存储情况下提高性能 功能上是 ARM 指令的子集 内核有两种执行状态 -ARM 和 Thumb, 使用 BX 指令进行切换 在 Thumb 状态下 BX Rn 在 ARM 状态下 BX<condition> Rn BX ARM / Thumb 选择 0 - ARM 状态 1 - Thumb 状态 目标地址 44

23 ARM 和 Thumb 性能比较 Dhrystone 2.1 / ARM Thumb 位 16 位 16 位 32 位 stack Memory width (zero wait state) 45 协处理器指令 握手信号 ARM core Coprocessor X Coprocessor Y F D E F D E F D E 数据总线 最多可定义 16 个协处理器 扩展了 ARM 指令集 ARM 把协处理器作为 内部功能块 来使用, 不增加额外的存储器地址映射 ( 例如把 cp15 用作 cache 控制器 ) 46

24 Jazelle 带 Jazelle 的 ARM 内核能够执行 8 位的 Java 代码 95% 的代码由硬件执行完成 ( 典型情况 ) 通常的 JVM: 1.0 Caffeinemarks/MHz ARM9EJ: 5.5 Caffeinemarks/MHz 显著的功耗节省 <12K 门的硬件增加 (ARM9EJ-S 比之 ARM9E-S) ARM JTEK (Java Technology Enabling Kit) 提供代码支持 HARDWARE 139 HARDWARE 95% STATIC CASE VFP HW SW SOFTWARE 88 (uses VFP if present) DYNAMIC CASE VFP HW SOFTWARE 5% SW 47 Quiz - GCD 求最大公约数 充分使用条件执行的特点 Start AREA gcd, CODE ENTRY r0 = r1? Yes Stop start start stop MOV r0, r0, #9 #9 MOV r1, r1, #15 #15 ; your code here CMP r0, r1 SUBLT r1, r1, r0 SUBGT B stop r0, r0, r1 BNE END start Yes r0 = r0 - r1 No r0 > r1? No r1 = r1 - r0 stop B END stop 你只需要使用 CMP SUB B 指令 充分使用条件执行 : LT GT EQ NE 48

25 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 49 Memory remap ROM or RAM at 0x0? Peripherals RO ARM Memory Controller Reset Handler Heap RW & ZI Request address = 0x0 Real memory mapping? Stack Exception Handlers Vector Table 50

26 ROM or RAM at 0x0? 需要一个有效的指令在 0x0 0x18000 ROM at 0x0 ROM/RAM Remapping 0x18000 RAM ROM 0x x10000 Reset Handler 0x4000 0x4000 ROM 0x0000 Reset Handler Vectors Aliased RAM ROM 0x0000 Reset Handler Vectors 51 ROM/RAM 重定向 (remap solution 1) 0x x18000 ROM ROM 0x10000 Reset Handler Reset Handler Reset Handler 0x x4000 Aliased ROM 0x0000 Reset Handler Branch to real ROM Reset Handler Remove alias Vectors 0x4000 RAM 0x 复位时,ROM 通常定位到 0x0; 2. 跳转到实际的 ROM 地址 :0x0 -> 0x10004; 3. 这时, 把 0x0 的 ROM 替换为 RAM, 把中断向量表拷贝到 0 4. 关键是从 ROM 到 RAM 的数据转移 52

27 ROM/RAM 重定向 (remap solution 2) 0x xxxxxx RAM ROM 0x10000 Vectors Reset Handler 0xxxxxx Copy Remap 0x4000 0x4000 ROM 0x0000 Reset Handler Execute Reset Handler Execute Vectors RAM 0x 复位时,ROM 通常定位到 0x0; 2. 向 RAM 拷贝数据 ; 3. 执行 reamp, 把 RAM 放置到 0; 4. 关键是从 ROM 到 RAM 的数据转移和 remap 前后程序流程的衔接 53 存储器映射例子 0x x Flash 0x x bit RAM 0x x4000 Fast 32 bit RAM 0x0000 Peripherals RO Reset Handler Heap RW & ZI Stack Exception Handlers Vector Table 外设控制寄存器的地址映射 直接在 FLASH 运行的代码大小 16 位 RAM 被用来保存数据和 HEAP 区 一些需要快速响应的代码和数据可放在快速的 RAM 区 54

28 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 55 嵌入式开发过程 hello world 移植 PC 软件 独立的嵌入式应用 PC 软件 开发移植 测试产品发布 当程序员开始开发一个基于 ARM 应用的时候, 你可以使用 ARM 的 ADS 编写类似于 HELLO WORLD 的程序, 使用 ARMulator 或者在评估板上来调试, 但当你把他移植到独立的嵌入式应用设备中时, 下面这些问题就成为我们首要考虑的 : 硬件环境中所使用的 C 库函数 目标板上的存储器资源 应用程序的初始化 56

29 默认的标准 C 库 ANSI C 应用程序调用的 C 库函数 eg: printf() C Library input/ output error handling stack & heap setup other 设备驱动层使用 semihosting SWI s eg: _sys_write() Debug Agent Semihosting Support 调试工具环境 C 库函数功能是支持 PC 软件的, 而目标板上的可执行软件则依赖相关的硬件资源 ; 在 ARM 体系中, 我们可以采用 semihosting 通过相应的驱动来进行调试 57 重定向 C 库函数 (1) 使用适合目标板硬件运行的驱动来替换标准 C 库函数中的设备驱动 Eg: printf( ) 可打印到 LCD 上, 而不是打印到调试器的控制台上 ANSI C ANSI C C Library input/ output Retarget input/ output User Code Debug Agent Semihosting Support Target Hardware 58

30 重定向 C 库函数 (2) 要重定向 C 库函数, 简单的办法是使用你自己的可执行代码代替原来使用 semihosting SWI 的库函数, 从而来满足你的系统要求 比如说,printf() 系列函数 (sprintf() 除外 ) 都会调用 fputc() 在默认情况下 fputc() 的执行使用了 semihosting SWI 可以用下面的函数来代替 : extern void sendchar(char *ch); int fputc(int ch, FILE *f) { /* e.g. write a character to an LCD */ char tempch = ch; sendchar(&tempch); return ch; } printf() fput() _sys_wite() 输出设备 其他函数 其他函数 59 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 60

31 Semihosting Application Code : printf( hello\n ); : Library Code : SWI : SWI Handler Communication with debugger running on host 代码在目标 ARM 上运行, 但是底层的 I/O 由主机提供 通过 SWI 机制实现对主机的访问 SWI 接口可以通过 ARMulator, Angel 或 Multi-ICE Semihosted 程序可以在所有的目标 ARM 上运行而不需要移植 使用着这项功能需要调试工具正确连接 hello 61 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 62

32 初始化内容 中断向量表 (vector table) 始终在 0 地址处开始, 保证在 remap 前后都存在 初始化存储器系统 Memory access interface: type, timing, etc. 初始化堆栈 为指定的模式分别设置 SP, 注意模式改变次序 初始化有特殊要求的端口 设备 初始化应用程序执行环境 全局变量区, 动态存储器分配区 改变处理器模式 包括中断使能控制 呼叫应用程序 跳转至主函数入口 部分次序可调整 63 中断向量表 AREA Vectors, CODE, READONLY IMPORT Reset_Handler ; import other exception handlers ENTRY B Reset_Handler B Undefined_Handler B SWI_Handler B Prefetch_Handler B Data_Handler B. ; Reserved vector B IRQ_Handler B FIQ_Handler END 0x1C B 0x18 B 中断处理函数 FIQ_Handler() IRQ_Handler() 0x14 (Reserved) 0x10 B DataAbt_Handler() 使用时需要定位在 0X00 或 0xFFFF0000 0x0C 0x08 0x04 B B B PreAbt_Handler() SWI_Handler() Undef_Handler() 0x00 B Reset_Handler() 64

33 堆栈初始化 通过转变处理器模式, 设置对应的 SP 寄存器 MRS R0, CPSR ; CPSR -> R0 BIC R0, R0, #MODEMASK ; 安全起见, 屏蔽模式位以外的其它位 ORR R1, R0, #IRQMODE ; 把设置模式位设置成需要的模式 MSR CPSR_cxsf, R1 ; 转到 IRQ 模式 LDR SP, =UndefStack ; 设置 SP_irq ORR R1,R0,#FIQMODE MSR CPSR_cxsf, R1 ; FIQMode LDR SP, =FIQStack ORR R1, R0, #SVCMODE MSR CPSR_cxsf, R1 ; SVCMode LDR SP, =SVCStack Note: 不要进入 User 模式! UndefStack FIQStack SVCStack Supervisor 多种特权模式变化 进入用户程序运行模式 65 应用环境初始化 Flash RAM Image$$RW$$Base RW RO ZI RW RO Image$$ZI$$Limit Image$$ZI$$Base Image$$RW$$Base 通过 main( ) 进行 通过访问连接器输出的符号进行 Image$$RO$$Limit Image$$RW$$Base Image$$ZI$$Base Image$$ZI$$Limit 66

34 初始化步骤 C Library main copy code and data zero uninitialized data User Code reset handler initialize stack pointers configure MMU/MPU setup cache/enable TCM Image Entry Point rt_entry initialize library functions call top-level constructors (C++) Exit from application user_initial_stackheap( ) set up stack & heap $Sub$$main( ) enable caches & interrupts main( ) tells linker to link in library initialization code 67 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 68

35 异常优先级 异常在当前指令执行完成之后才被响应 多个异常可以在同一时间产生 异常指定了优先级和固定的服务顺序 : Reset Data Abort FIQ IRQ Prefetch Abort SWI Undefined instruction 69 异常处理 异常处理 当异常产生时, ARM core: 拷贝 CPSR 到 SPSR_<mode> 设置适当的 CPSR 位 : 改变处理器状态进入 ARM 状态 改变处理器模式进入相应的异常模式 设置中断禁止位禁止相应中断 保存返回地址到 LR_<mode> 设置 PC 到相应的异常向量 返回时, 异常处理需要 : 从 SPSR_<mode> 恢复 CPSR 从 LR_<mode> 恢复 PC 这些操作只能在 ARM 态执行. 0x1C 0x18 0x14 0x10 0x0C 0x08 0x04 0x00 FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset Vector Table Vector table can be at 0xFFFF0000 on ARM720T and on ARM9/10 family devices 70

36 异常返回指令 异常返回 : 使用一数据处理指令 : 相应的指令取决于什么样的异常 带 S 位 把 PC 作为目标寄存器 在特权模式下, 这些操作不仅更新 PC, 而且拷贝 SPSR 到 CPSR 从 SWI 和 Undef 异常返回 MOVS pc,lr 从 FIQ, IRQ 和预取异常 (Prefect Abort) 返回 SUBS pc,lr,#4 从数据异常 (Data Abort) 返回 SUBS pc,lr,#8 如果 LR 之前被压栈的话使用 LDM ^ LDMFD sp!,{pc}^ 71 ARM or Thumb? Thumb / ARM 混合应用程序 FIQ IRQ (Reserved) Data Abort Prefetch Abort Software Interrupt Undefined Instruction Reset ARM Code ARM Code Thumb Code 72

37 中断分支处理 ARM 有两级外部中断 FIQ,IRQ. 可是大多数的基于 ARM 的系统有 >2 个的中断源 因此需要一个中断控制器 ( 通常是地址映射的 ) 来控制中断是怎样传递给 ARM 的 在许多系统中, 一些中断的优先级比其它中断的优先级高, 他们要抢先正在处理的低优先级中断 Note: 通常中断处理程序总是应该包含清除中断源的代码 nirq ARM 读控制器寄存器并找到 IRQ/FIQ 中断源 多种外设中断源 地址映射中断控制器 nfiq ARM ARM 写外设寄存器清相应中断源 73 FIQ vs IRQ FIQ 和 IRQ 提供了非常基本的优先级级别 在下边两种情况下,FIQs 有高于 IRQs 的优先级 : 当多个中断产生时,FIQ 高于 IRQ. 处理 FIQ 时禁止 IRQs. IRQs 将不会被响应直到 FIQ 处理完成. FIQs 的设计使中断处理尽可能地快. FIQ 向量位于中断向量表的最末. 为了使中断处理程序可从中断向量处连续执行 FIQ 模式有 5 个额外的私有寄存器 (r8-r12) 中断处理必须保护其使用的非私有寄存器 可以有多个 FIQ 中断源, 但是考虑到系统性能应避免嵌套 74

38 C 语言简单中断处理程序 在 C 中可以在函数定义时使用关键词 irq 来写一个简单的中断处理程序. 这将导致 : 函数所有用到的寄存器被保护 如果可能, 任何远程调用所使用的其他寄存器也被保护 函数退出使用正确的返回指令 ( 修正 pc = lr-4 并从 spsr 恢复 cpsr) irq 仅仅可在 armcc 中使用. 可是被 irq 函数调用的子程序可以用 tcc 编译. 确保 IRQ 的堆栈指针已经设置! 75 C 中断处理示例 irq void IRQHandler (void) { volatile unsigned int *source = (unsigned int *)0x ; if (*source == 1) // which interrupt was it int_handler_1(); // process the interrupt // insert checks for other interrupt sources here *(source+1) = 0; // clear the interrupt } Output without irq Output with irq STMFD sp!,{r4,lr} STMFD sp!,{r0-r4,r12,lr} MOV r4,#0x MOV r4,#0x LDR r0,[r4,#0] LDR r0,[r4,#0] CMP r0,#1 CMP r0,#1 BLEQ int_handler_1 BLEQ int_handler_1 MOV r0,#0 MOV r0,#0 dfg STR r0,[r4,#4] STR r0,[r4,#4] LDMFD sp!,{r4,pc} LDMFD sp!,{r0-r4,r12,lr} SUBS pc,lr,#4 76

39 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 77 交互需求 Thumb 的代码密度和在窄存储器上性能, 使得它用在很多有大量 C 代码的系统上比较理想 然而在很多应用中还是需要在 ARM/Thumb 两种状态之间切换 : 在宽的存储器上 ARM 代码能提供很好的性能 在一个应用中, 速度是关键的部分用 ARM 代码实现是不错的选择 一些函数只能用 ARM 指令实现, e.g. 存取 CPSR ( 使能 / 禁止中断和状态的改变 ) 协处理器操作 异常处理 异常处理时自动进入 ARM 状态, 但系统要求主程序用 Thumb 代码实现 自动从 ARM 状态启动 独立的 Thumb 程序也需要一个 ARM 的汇编程序头来切换, 并调用 Thumb 程序 78

40 交互指令 交互的实现采用跳转交换指令 (BX) 在 Thumb 状态 BX Rn 在 ARM 状态 ( 支持 Thumb 的内核 ) BX< 条件 > Rn 不能通过改变 CPSR 的 T-bit 来实现交互 这将通过拷贝 Rn 到 PC 来实现在 4GB 空间内的一个绝对跳转 其中 Rn 的 Bit-0 表明切换到何种状态 0: 目标状态 ARM Rn 目的地址 1: 目标状态 Thumb BX ARM / Thumb 选择位 PC 79 交互子程序 任何包含使用交互调用函数的 C 模块的编译必须使用 -apcs /interwork 命令行选项 编译器将使用 BX 实现函数返回来替代 MOV PC,LR 连接器生成一小段代码 ( veneers ) 来完成状态切换 当发现交互调用时自动加入目标文件 使用 armlink -info veneers 可以看到加入的 veneers 的大小 func1 : BL : : BX 连接程序生成 veneer func2 : BX (compiled for interworking) 80

41 交互调用 最好使用交互选项 build 所有的程序 非交互的 Thumb 代码 不可调用 非交互的 ARM 代码 允许 Thumb-Thumb 调用 允许非交互的调用交互的 允许 ARM-ARM 调用 交互的 Thumb 代码 允许 ARM/Thumb 调用 交互的 ARM 代码 81 Architecture v5t Interworking ARM v5t 架构增加了对交互工作的支持 消除了对 veneers 的需求 兼容 ARM V4T 架构的代码 改进内容包括 新的 BLX 指令 修正了加载 PC 的动作 82

42 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 系统设计 开发过程 Semihosting 初始化过程 异常处理 ARM/Thumb 交互工作 代码优化 嵌入式系统调试 ADS 使用介绍 Q & A 83 变量类型 全局和静态变量保留在 RAM 里 需使用 loads/stores 访问外部存储器 局部变量通常放在寄存器中, 用来快速且高效的处理 如果编译器的寄存器分配算法认为超过现有的寄存器数量, 将把变量压入堆栈中 int f(void); int g(void); int errs; // f() 和 g() 不访问全局变量 errs // 全局变量 void test1(void) { errs += f(); errs += g(); } void test2(void) { int localerrs = errs; localerrs += f(); localerrs += g(); errs = localerrs; } // 定义冗余的局部变量 84

43 变量大小 对局部变量, 用 word-sized (int) 代替 halfword 和 byte 避免使用额外的移位操作, 确保 32 位的数据正确出现在寄存器里 int wordsize(int a) wordsize { 0x : MOV r0,r0,lsl #1 return (a*2); 0x : MOV pc,lr } short halfsize(short b) halfsize { 0x : MOV r0,r0,lsl #17 return (b*2); 0x00000c : MOV r0,r0,asr #16 } 0x : MOV pc,lr char bytesize(char c) bytesize { 0x : MOV r0,r0,lsl #25 return (c*2); 0x : MOV r0,r0,lsr #24 } 0x00001c : MOV pc,lr 85 参数传递 开始四个字长度的参数直接使用寄存器的 R0-R3 来传递 ( 快速且高效 ) 更多的信息可参看 ATPCS 如果需要更多的参数, 将使用堆栈 ( 需要额外的指令和慢速的存储器操作 ) 所以通常限制参数的个数, 使它为 4 或更少 如果不可避免, 把常用的参数放在前 4 个 extern void strcopy(char *d, const char *s); int main(void) { const char *src = Source ; char dest[10];... strcopy(dest, src);... } AREA StrCopy, CODE, READONLY EXPORT strcopy strcopy LDRB R2, [R1], #1 STRB R2, [R0], #1 CMP R2, #0 BNE strcopy MOV PC, LR END 86

44 循环条件设置 在循环条件设置中, 用减到 0 代替加到某个值 由 SUBS 指令代替了 ADD/CMP 指令对 比如, 用 for (loop = total; loop!= 0; loop--) 来代替 for (loop = 1; loop <= total; loop++) 循环值只在开始时使用一次 代码要小, 且使用更少的寄存器 int fact1(int limit) { for (i = 1; i <= limit; i++) { fact = fact * i; } } int fact2(int limit) { for (i = limit; i!= 0; i--) { fact = fact * i; } } fact1 0x000010: MUL R2,R1,R2 0x000014: ADD R1,R1,#1 0x000018: CMP R1,R0 0x00001c: BLE 0x10 0x : MOV PC, LR fact2 0x000010: MUL R0,R1,R0 0x000014: SUBS R1,R1,#1 0x000018: BNE 0x10 87 指针的对齐 必须非常小心指针的对齐 可能导致程序的失败 #include <string.h> int *a = (int *)0x1000; int *b = (int *)0x2000; char *c = (char *)0x3001; packed int *d; void foo (void) { memcpy (b,a,12); memcpy (c,a,12); b = (int *)c; memcpy (b,a,12); d = ( packed int *)c; memcpy ((void *)d,a,12); } STMFD LDR LDR LDR LDMIA STMIA LDR LDR MOV BL LDR STR LDR LDMIA STMIA LDR LDR MOV STR LDR BL LDMFD r13!,{r4,r14} r4,0x58 r1,[r4,#0] r0,[r4,#4] r1,{r2,r3,r12} r0,{r2,r3,r12} r0,[r4,#8] r1,[r4,#0] r2,#0xc rt_memcpy r0,[r4,#8] r0,[r4,#4] r1,[r4,#0] r1,{r2,r3,r12} r0,{r2,r3,r12} r0,[r4,#8] r1,0x5c r2,#0xc r0,[r1,#0] r1,[r4,#0] rt_memcpy r13!,{r4,pc} memcpy inline d memcpy called memcpy inline d unsafely memcpy called safely 88

45 基地址指针的优化 extern int a; extern int b; void foo (int x, int y) { a = x; b = y; } a 和 b 在模块外部定义 LDR r2, [pc,#12] STR r0, [r2,#0] LDR r3, [pc,#8] STR r1, [r3,#0] MOV pc, lr DCD address of a DCD address of b b a int a; int b; void foo (int x, int y) { a = x; b = y; } a 和 b 在模块内部定义 LDR r2, [pc,#8] STR r0, [r2,#0] STR r1, [r2,#4] MOV pc, lr DCD base address of a and b 注意 : 在用 -o0 时无效 89 外部全局变量 变量访问 : 地址的产生 data.c code.c Assembler output int a; int b; extern int a; extern int b; int main(void) { return a+b; } main LDR r0,0x000080c ac LDR r1,0x000080c b0 LDR r0,[r0,#0] b4 LDR r1,[r1,#0] b8 ADD r0,r0,r bc MOV pc,lr c0 DCD 0x000083d c4 DCD 0x000083d8 struct data { int a; int b; }mystruct; extern struct data mystruct; int main(void) { return mystruct.a+mystruct.b; } main LDR r0,0x000080bc ac LDR r1,[r0,#0] b0 LDR r0,[r0,#4] b4 ADD r0,r1,r b8 MOV pc,lr bc DCD 0x000083cc 90

46 性能分析 例子输出 (ARM7TDMI) Reference Point(s) Number of instructions Core Cycles Seq Cycles Non-Seq Cycles Internal Cycles Copro Cycles Total Cycles 例子输出 (ARM940T) AMBA (ASB) 只有地址周期 91 关于代码优化 代码优化涉及编程风格 算法 针对特定平台的优化等等 主要目的是提高执行效率 减少存储器开销 减小功耗 ARM 网站在线文档提供高效程序的开发指南 但是, 对于代码优化最最重要的因素, 是 : 选择一个好的编译工具 92

47 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 嵌入式系统调试 问题与挑战 解决方案 ADS 使用介绍 Q & A 93 问题 没有外部可见的片上 ASIC 总线 ARM External Bus Interface RAM ROM ICE 版本必须在全速系统速度下运行 随着处理器速度的增加,ICE 越来越难. 每一个芯片同时必须提供 ICE 工具 Internal Memory Serial Ports Display Control Timer 实时跟踪需要确定的带宽接口 需要地址总线, 数据总线和控制信号 对于 ARM7TDMI, 有 80 多个引脚 很多 ASICs 使用相同的处理器核 ICE 必须为每一个 ASIC 定做?? 94

48 基本的调试需求 运行控制 设置数据访问断点 设置指令断点 代码的单步执行 异常捕捉 状态控制 处理器状态 读写寄存器值 系统状态 系统内存访问 下载代码 执行历史 执行跟踪信息 内存访问历史 95 更高的调试要求 更复杂的系统, 带来更多的调试问题! 多内核调试 DSP awareness OS awareness Sys Cntrl Timer W Dog ARM7TDMI Version 5 GPIO UART GPIO SCI RTC SSP ARM926 Caches TCMs Challengeable!! Multi-Layer AHB CLCD Version 7 DSP Version 4.NET DMAC SMC 96

49 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 嵌入式系统调试 问题与挑战 解决方案 ADS 使用介绍 Q & A 97 RealView 实时调试解决方案 SoC RealView Debugger RealView Trace RealView ICE JTAG Port ARM CPU Macrocell Execution Unit BREAKPT TAP EmbeddedICE Control Address Data ETM Trace Port Memory RMTarget 98

50 调试系统架构 ELF / DWARF2 image Host running debugger Angel ARMulator Emulator Instruction Set Simulator running within debugger Debug monitor running on target board On-chip debug extensions 99 ARM toolchain ARM SDT ADS, Multi-ICE, Multi-Trace RealView Developer Suite, RealView-ICE, RealView-Trace 第三方工具 GNU GCC, GDB 100

51 议程 ARM 简介 ARM 的体系结构 嵌入式系统开发 嵌入式系统调试 ADS 使用介绍 Q & A 101 ADS 的组件 ARM Developer Suite v1.2 Project manager: CodeWarrior Debugger: AXD Compilation tools: armcc, tcc, armlink ISS: ARMulator Online documents (DynaText,PDF) 安装及申请 license 从 ARM 申请光盘 从 ARM 得到一个序列号 从 license.arm.com 申请 license Register Longin Serial number and hostid Node Locked; 有效期 6 个月 102

52 工程管理及编译 IDE:CodeWarrior Makefile BAT file 编译选项设置 编译连接 103 编译设置 等效的命令行设置 104

53 编译输出 105 选择调试目标 ARMulator Multi-ICE 106

54 AXD 调试界面 File tree Source line Memory Register Variable 107 学习资源 学校 ARM 大学计划 在线资源 邮件组, 讨论组,BBS 培训 ATC: 旋极 第三方培训 参考书 研讨会, 展览 国内众多的设计 培训服务提供公司 108

55 众多的中文版 ARM 图书 109

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

ARM JTAG实时仿真器安装使用指南 ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1

More information

ARM与嵌入式Linux开发者大会

ARM与嵌入式Linux开发者大会 ARM 与嵌入式 Linux 开发者大会 2004 年 6 月 3 日, 北京 会议承办 : AKA Embedded:www.akaembed.org 协办单位 : 微芯力 :www.winsilicon.com 议程 9:30-10:00 携同创新的 ARM 谭军 @ARM 10:00-11:00 ARM/Linux and GNU Roadmap Philippe Robin@ARM 11:00-11:30

More information

Ch03_嵌入式作業系統建置_01

Ch03_嵌入式作業系統建置_01 Chapter 3 CPU Motorola DragonBall ( Palm PDA) MIPS ( CPU) Hitachi SH (Sega DreamCast CPU) ARM StrongARM CPU CPU RISC (reduced instruction set computer ) CISC (complex instruction set computer ) DSP(digital

More information

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

一个开放源码的嵌入式仿真环境 ― SkyEye SkyEye SkyEye http://hpclab.cs.tsinghua.edu.cn/~skyeye/ I hear and I forget, I see and I remember, I do and I understand. SkyEye SkyEye SkyEye SkyEye SkyEye 1. SkyEye PC pervasive computing PC I O PDA

More information

untitled

untitled http://www.embedded-soc.com/ J-LINK J-Link Rev2.1 http://www.embedded-soc.com/ 2007-11-11 http://www.embedded-soc.com/ J-LINK J-Link ARM JTAG J-LINK J-LINKJLINK J-FLASH ARM F.A.Q jlink GDBserver J-Flash

More information

P4i45GL_GV-R50-CN.p65

P4i45GL_GV-R50-CN.p65 1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

Smart2.doc

Smart2.doc Smart-ICE ARM RealView Developer Suite, ARM http://www.armzone.com 1 Smart-ICE Part 1.... 5 1.1... 5 1.1.1... 5 1.1.2... 6 1.1.3... 7 1.2 Smart-ICE... 7 1.2.1... 7 1.2.2... 8 1.3... 9 1.3.1... 9 1.3.2...

More information

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco

Windows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows

More information

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

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

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

Abstract arm linux tool-chain root NET-Start! 2 Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 1 2 1 2 3 4 5 6 7 8 9 10 3 1 150 2 150 1 1 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.4 1.4.1 CPU 1.4.2 I/O 1.4.3 I/O 1.5 1.5.1 CISC RISC 1.5.2 1.5.3 1.6 1.6.1 1.6.2 N 1.6.3 2 2.1 2.1.1 2.1.2 2.1.3

More information

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

NEXT SDT2.51 C:\ARM251 SDT2.51 ARM SDT 2.51 ARM PROJECT MANAGER SDT 2 S3C44B0 SDT DRAGNBOY MICROSTAR ARM 51 ARM S3C44B0 ARM SDT2.51 IAR ADS SDT2.51 S3C44B0 LEDTEST SDT ARM 1 2 SDT embed.8800.org SDT2.51 SDT2.51 ARM ARM CPU ARM SDT ADS ADS MULTI-ICE SDT JTAG JTAG SDT SDT2.51

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

P4Dual-915GL_BIOS_CN.p65

P4Dual-915GL_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date Total Memory DIMM 1 DIMM 2 [ 14:00:09] [Wed 01/05/2005] BIOS Version : P4Dual-915GL BIOS P1.00 Processor Type : Intel (R) Pentium

More information

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

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 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

P4V88+_BIOS_CN.p65

P4V88+_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Wed 12/22/2004] BIOS Version : P4V88+ BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

USB解决方案.ppt

USB解决方案.ppt USB USB? RS232 USB USB HID U modem ADSL cable modem IrDA Silabs USB CP210x USB UART USB RS-232 USB MCU 15 USB 12 FLASH MCU 3 USB MCU USB MCU C8051F32x 10 ADC 1.5%, Vref CPU 25MIPS 8051 16KB Flash -AMUX

More information

P4VM800_BIOS_CN.p65

P4VM800_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Fri 02/25/2005] BIOS Version : P4VM800 BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03

More information

uc/os 1

uc/os 1 uc/os 1 uc/os-ii Source Code ANSI C, uc/os-ii 8/16/32 bits microprocessor Preemptive real-time Task 64 Stack Size ROMable (C compiler, assembler and linker/locator) uc/os-ii Mailboxes, Queues, Semaphores,

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD2 1...2 1.1...2 1.2...2 1.3 /...2 2 SoftICE...2 3 SoftICE MCU...2 4 SoftICE...3 4.1 SST BootLoader SOFTICE...3 4.2 SoftICE SST MCU...6 5 SoftICE...7

More information

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63>

<4D F736F F D20B5DAC8FDCBC4D5C2D7F7D2B5B4F0B0B82E646F63> 第三章 Q3 1 1. 省略了 I/O 操作的复杂逻辑, 易实现, 耗费低 ; 2. 可以利用丰富的内存寻址模式实现灵活的 I/O 操作 Q3 2 假设存储单元 ds1 处寄存器地址为 0x2000, 代码如下 #define ds1 0x2000 while ( *ds1 == 0 ) ; Q3 3 假设设备 (dev1) 中有两个寄存器 ds1 和 dd1,dev1 的地址为 0x1000,ds1

More information

投影片 1

投影片 1 2 理 1 2-1 CPU 2-2 CPU 理 2-3 CPU 類 2 什 CPU CPU Central Processing Unit ( 理 ), 理 (Processor), CPU 料 ( 例 ) 邏 ( 例 ),, 若 了 CPU, 3 什 CPU CPU 了, 行, 利 CPU 力 來 行 4 什 CPU 5 2-2-1 CPU CPU 了 (CU, Control Unit) / 邏

More information

775i65PE_BIOS_CN.p65

775i65PE_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 14:00:09] [Wed 10/20/2004] BIOS Version : 775i65PE BIOS P1.00 Processor Type : Intel (R) CPU 3.20 GHz Processor Speed : 3200

More information

Slide_Master

Slide_Master ARM 编程技巧 T H E A R C H I T E C T U R E F O R T H E D I G I T A L 1 W O R L D Agenda ARM 编译器优化 C/C++ 和汇编混合模式编程使用 ARM 编译器编码局部和全局数据讨论 2 2 优化级别 使用的编译器优化级别是可选择的 -O0---DEBUG 关闭大多数优化. 最好的调试信息, 最少的优化 -O1---DEBUGREL

More information

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt

Microsoft PowerPoint - CA_03 Chapter5 Part-II_multi _V1.ppt Chapter5-2 The Processor: Datapath and Control (Multi-cycle implementation) 臺大電機系 吳安宇教授 V1. 03/27/2007 For 2007 DSD Course 臺大電機吳安宇教授 - 計算機結構 1 Outline 5.1 Introduction 5.2 Logic Design Conventions 5.3

More information

邏輯分析儀的概念與原理-展示版

邏輯分析儀的概念與原理-展示版 PC Base Standalone LA-100 Q&A - - - - - - - SCOPE - - LA - - ( Embedded ) ( Skew ) - Data In External CLK Internal CLK Display Buffer ASIC CPU Memory Trigger Level - - Clock BUS Timing State - ( Timing

More information

ARM处理器中ARM和THUMB状态的切换(Interworking)

ARM处理器中ARM和THUMB状态的切换(Interworking) http//www.elecfans.com 电子发烧友 http//bbs.elecfans.com ARM 处理器中 ARM 和 Thumb 状态的切换 (Interworking) 潘朝霞北京交通大学电气学院王毅北京交通大学电气学院 摘要 主要介绍了在 ARM 处理器中,ARM/Thumb 状态切换的原因和方法 在基于 ARM 处理器的嵌入式开发中, 为了增强系统的灵活性以及提高系统的整体性能经常需要使用

More information

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

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 CP Chip Power ARM Cortex-M3 (STM32F) 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 multiplication and hardware

More information

第8章

第8章 ARM S3C4510B 8 ARM ADS ARM ADS(ARM Developer Suite) CodeWarrior IDE ADS AXD ADS ADS AXD 8.1 ADS ARM ADS ARM Developer Suite ARM ARM ADS 1.2 ADS1.1 ADS1.0 Windows NT4 Windows 2000 Windows 98 Windows 95

More information

Andes Technology PPT Temp

Andes Technology PPT Temp 晶心科技線上技術研討會 AndesCore 便捷的全 C 嵌入式编程 晶心科技市場及技術服務部毛礼杰軟件經理 WWW.ANDESTECH.COM 大纲 系统初始化介绍 异常和中断说明 全 C 语法例子说明 总结 2 CPU 相关特性 1: 中断向量表 系统初始化 (1) 2: 系统寄存器 通常需要用 assembly( 汇编 / 组合 ) 语言来操作 AndesCore 全 C 嵌入式编程 C 扩展语法

More information

audiogram3 Owners Manual

audiogram3 Owners Manual USB AUDIO INTERFACE ZH 2 AUDIOGRAM 3 ( ) * Yamaha USB Yamaha USB ( ) ( ) USB Yamaha (5)-10 1/2 AUDIOGRAM 3 3 MIC / INST (XLR ) (IEC60268 ): 1 2 (+) 3 (-) 2 1 3 Yamaha USB Yamaha Yamaha Steinberg Media

More information

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

《计算机应用基础》学习材料(讲义) 计 算 机 应 用 基 础 学 习 材 料 ( 讲 义 ) Fundamentals of Computer Application 2014-3-22 JIANGSU OPEN UNIVERSITY 第 二 学 习 周 计 算 机 基 础 知 识 ( 一 ) 导 学 在 本 学 习 周, 我 们 主 要 的 任 务 是 认 识 计 算 机 你 将 知 道 计 算 机 是 什 么 时 候 产 生 的,

More information

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10

Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10 Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10 Ác Åé å Serial ATA ( Silicon Image SiI3114) S A T A (1) SATA (2)

More information

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

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

untitled

untitled niosii H:\DB2005\project\niosDK\Example\NiosSmall QuartusII4.2 File -> New Project Wizard Diectory,Name,Top-Level Entity Add Files EDA Tools Setting Finish, OK H:\DB2005\project\niosDK\Example\NiosSmall

More information

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP Serial ATA ( Sil3132)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 10 (5) S A T A... 12 Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

ARM中C和汇编混合编程及示例.doc

ARM中C和汇编混合编程及示例.doc ARM 中 C 和汇编混合编程及示例 在嵌入式系统开发中, 目前使用的主要编程语言是 C 和汇编,C++ 已经有相应的编译器, 但是现在使用还是比较少的 在稍大规模的嵌入式软件中, 例如含有 OS, 大部分的代码都是用 C 编写的, 主要是因为 C 语言的结构比较好, 便于人的理解, 而且有大量的支持库 尽管如此, 很多地方还是要用到汇编语言, 例如开机时硬件系统的初始化, 包括 CPU 状态的设定,

More information

ch08.PDF

ch08.PDF 8-1 CCNA 8.1 CLI 8.1.1 8-2 8-3 8.1.21600 2500 1600 2500 / IOS 8-4 8.2 8.2.1 A 5 IP CLI 1600 2500 8-5 8.1.2-15 Windows 9598NT 2000 HyperTerminal Hilgraeve Microsoft Cisco HyperTerminal Private Edition (PE)

More information

solutions guide

solutions guide solutions guide Tridium 01 Table of Contents Tridium... 1 Frameworks... 4 Niagara AX Framework... 5 Sedona Framework... 6.... 7 NPM... 8 Sedona Chip... 9 AX Supervisor... 10 AX SoftJACE...11...12. JACE

More information

ARM s3c2410 中断问题的解决

ARM s3c2410 中断问题的解决 ARM s3c2410 中 断 问 题 的 解 决 popsonic@126.com QQ:52179095 sonyer 赵 海 涛 一 状 况 7 月 的 某 一 天, 一 时 兴 起 觉 得 ARM 9 应 该 比 较 好 玩 于 是 跑 到 淘 宝 上 去 逛 逛, 搜 了 半 天 发 现 开 发 板 基 本 上 是 44B0 和 2410 2 种 难 道 三 星 的 东 西 最 便 宜?

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

逢 甲 大 學

逢  甲  大  學 益 老 年 不 易更 例 不 異 列 - I - 錄 錄 流 錄 六 來 錄 - II - 錄 錄 錄 錄 錄 錄 參 料 錄 - III - 料 讀 讀 錄 讀 數 錄 錄 錄 錄 錄 - IV - 錄 錄 行 錄 錄 錄 錄 讀 錄 錄 錄 讀 錄 錄 - V - 了 說 力 兩 了 - 1 - 列 邏 路 列 不 不 FLEX 10K Devices at a Glance Feature

More information

C/C++ - 文件IO

C/C++ - 文件IO C/C++ IO Table of contents 1. 2. 3. 4. 1 C ASCII ASCII ASCII 2 10000 00100111 00010000 31H, 30H, 30H, 30H, 30H 1, 0, 0, 0, 0 ASCII 3 4 5 UNIX ANSI C 5 FILE FILE 6 stdio.h typedef struct { int level ;

More information

Oracle 4

Oracle 4 Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B

More information

Simulator By SunLingxi 2003

Simulator By SunLingxi 2003 Simulator By SunLingxi sunlingxi@sina.com 2003 windows 2000 Tornado ping ping 1. Tornado Full Simulator...3 2....3 3. ping...6 4. Tornado Simulator BSP...6 5. VxWorks simpc...7 6. simulator...7 7. simulator

More information

mvc

mvc Build an application Tutor : Michael Pan Application Source codes - - Frameworks Xib files - - Resources - ( ) info.plist - UIKit Framework UIApplication Event status bar, icon... delegation [UIApplication

More information

+01-10_M5A_C1955.p65

+01-10_M5A_C1955.p65 Notebook PC User s Manual C1955 1.01 2005 4 2 50 70 3 (0 30 ) (50 122 ) 4 pre-load Fn+F7 5 ...2...3...6 1-1...12...12...13...14...15...16...17 1-2...18 1-3...20...20...21...21...21...21...22...22...22...22...23...23

More information

第七章 中断

第七章 中断 嵌入式系统 SOPC(SOC),A case study llxx@ustc.edu.cn 内容提要 本讲的目的 : 介绍嵌入式系统 ; 了解 SOPC 的开发过程 现代计算机系统 嵌入式系统的应用 llxx@ustc.edu.cn 4/87 嵌入式控制系统的软 / 硬件框架 llxx@ustc.edu.cn 5/87 基于 FPGA 的嵌入式系统硬件平台 基于 FPGA 的嵌入式系统结构 FPGA

More information

1 MTK 2 MTK 3 MTK

1 MTK 2 MTK 3 MTK 1 MTK 2 MTK 3 MTK MTK MTK MTK MTK 1997, ( 10 DVD : 2000, 3G GSM/GPRS/WCDMA/ EDGE Multimedia Phone 2.5G MT6218/ MT6217 GSM/GPRS Multimedia Platform MT6205 GSM Low-End Platform MT6219 GSM/GPRS Video Platform

More information

KT-SOPCx开发套件简明教程

KT-SOPCx开发套件简明教程 V2.03 2005-9-1 FPGA SOC FPGA/SOPC IT QuartusII NiosII IDE FPGA/SOPC FPGA/SOPC FPGA/SOPC CT-SOPCx FPGA/SOPC CPLD/FPGA www.fpga.com.cn CPLD/FPGA FPGA QuartusII NiosII CPU SOPC SOPC Builder NiosII IDE 1 www.21control.com

More information

Microsoft Word - print.doc

Microsoft Word - print.doc 基于 ARM 的嵌入式系统程序开发要点 ( 一 ) 嵌入式程序开发过程 ARM 系列微处理器作为全球 16/32 位 RISC 处理器市场的领先者, 在许多领域内得到了成功的应用 近年来,ARM 在国内的应用也得到了飞速的发展, 越来越多的公司和工程师在基于 ARM 的平台上面开发自己的产品 与传统的 4/8 位单片机相比,ARM 的性能和处理能力当然是遥遥领先的, 但与之相应,ARM 的系统设计复杂度和难度,

More information

Chapter 24 DC Battery Sizing

Chapter 24  DC Battery Sizing 26 (Battery Sizing & Discharge Analysis) - 1. 2. 3. ETAP PowerStation IEEE 485 26-1 ETAP PowerStation 4.7 IEEE 485 ETAP PowerStation 26-2 ETAP PowerStation 4.7 26.1 (Study Toolbar) / (Run Battery Sizing

More information

02

02 Thinking in C++: Volume One: Introduction to Standard C++, Second Edition & Volume Two: Practical Programming C++ C C++ C++ 3 3 C C class C++ C++ C++ C++ string vector 2.1 interpreter compiler 2.1.1 BASIC

More information

PROFIBUS3.doc

PROFIBUS3.doc PLC PLC ProfiBus 3. PROFIBUS-DP PROFIBUS-DP PROFIBUS-DP PROFIBUS S7 STEP7 SIMATIC NET S5 COM PROFIBUS COM5431 PROFIBUS-DP GSD GSD *.GSD *. GSE GSD S7 STEP7 PROFIBUS DP S7-400 CPU416-2DP S7-200 PROFIBUS

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

More information

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot

OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot OSI OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Protocol OSI OSI OSI OSI OSI O S I 2-1 Application

More information

untitled

untitled ATARM AT91SAM7S ARM Team Mcuzone http://www.mcuzone.com Rev1.0a 2006-11 Rev1.0a: 2006-11 QQ 8204136 13957118045 MSN hdapple_2000@hotmail.com 1 ARM 2 AT91 3 ARM KEIL,IAR,ADS,RV,WINARM 4 ARM WIGGLER,MULTI-ICE,XLINK,ULINK

More information

第五章 重叠、流水和现代处理器技术

第五章 重叠、流水和现代处理器技术 2006 5 l t 1 t 2 t 3 t 4 I: add r1,r2,r3 J: sub r4,r1,r5 : (Hazard) : (Hazard) Instr 1 Instr 2 ( ) Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle 5 Cycle 6 Cycle 7 Load Ifetch ALU DMem Instr 1 Ifetch ALU DMem

More information

Embargoed until May 4, 2004 EXPRESS 40 NI HQ 3000 1000 5000 ~ 500 10% / 500 85% NI LabVIEW 7 Express Express EXPRESS : #1 GPS Navigation PC/WWW/Email CD+RW Mobile Phone PDA DVD+RW Satellite Car Alarm/Radio

More information

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

Microsoft PowerPoint - 8-ADS介绍 [兼容模式] ARM Developer Suite 介绍 T H E A R C H I T E C T U R E F O R T H E D I G I T A L W O R L D 1 ADS 1.2 ADS1.2 是为嵌入式 ARM 设计的一整套软件开发工具 从最初的软件原型到最终优化的 ROM 代码 ADS1.2 发布于 2001 的 12 月份 支持的主机系统 IBM compatible PCs

More information

untitled

untitled CPU!! 00-11-8 Liping zhang, Tsinghua 1 : ADD(r1, r, r) CMPLEC(r, 5, r0) MUL(r1, r, r) SUB(r1, r, r5) ADD r, ( ) r CMP. CMP r.. t t + 1 t + t + t + t + 5 t + 6 IF( ) ADD CMP MUL SUB RF NOP ADD CMP MUL SUB

More information

Go构建日请求千亿微服务最佳实践的副本

Go构建日请求千亿微服务最佳实践的副本 Go 构建 请求千亿级微服务实践 项超 100+ 700 万 3000 亿 Goroutine & Channel Goroutine Channel Goroutine func gen() chan int { out := make(chan int) go func(){ for i:=0; i

More information

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

Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE Project Properties IDE makefile 1. Oracle Solaris Studio 12.2 IDE 2010 9 2 8 9 10 11 13 20 26 28 30 32 33 Oracle Solaris Studio makefile C C++ Fortran IDE Solaris Linux C/C++/Fortran IDE "Project Properties" IDE makefile 1. "File" > "New

More information

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6B0B8C0FDB5BCD1A75FD1F9D5C22E646F63> 因 为 路 过 你 的 路, 因 为 苦 过 你 的 苦, 所 以 快 乐 着 你 的 快 乐, 追 逐 着 你 的 追 逐 内 容 简 介 本 书 根 据 2005 年 下 半 年 实 施 的 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 嵌 入 式 系 统 设 计 师 级 考 试 大 纲 精 神, 在 深 入 研 究 历 年 计 算 机 技 术 与 软

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

如 果 此 設 備 對 無 線 電 或 電 視 接 收 造 成 有 害 干 擾 ( 此 干 擾 可 由 開 關 設 備 來 做 確 認 ), 用 戶 可 嘗 試 用 以 下 一 種 或 多 種 方 法 來 消 除 這 個 干 擾 : 重 新 調 整 與 確 定 接 收 天 線 方 向 增 大 此 設

如 果 此 設 備 對 無 線 電 或 電 視 接 收 造 成 有 害 干 擾 ( 此 干 擾 可 由 開 關 設 備 來 做 確 認 ), 用 戶 可 嘗 試 用 以 下 一 種 或 多 種 方 法 來 消 除 這 個 干 擾 : 重 新 調 整 與 確 定 接 收 天 線 方 向 增 大 此 設 版 權 前 言 本 出 版 物, 包 括 所 有 照 片 插 圖 與 軟 體 均 受 國 際 版 權 法 之 保 護, 所 有 權 利 均 被 保 留 此 說 明 書 和 其 中 所 包 含 的 任 何 材 料 都 不 可 以 在 沒 有 作 者 的 書 面 許 可 下 被 複 製 版 本 1.0 免 責 聲 明 製 造 商 不 對 說 明 書 內 容 作 任 何 陳 述 或 擔 保, 基 於 此

More information

PIC_SERVER (11) SMTP ( ) ( ) PIC_SERVER (10) SMTP PIC_SERVER (event driven) PIC_SERVER SMTP 1. E-

PIC_SERVER (11) SMTP  ( ) ( ) PIC_SERVER (10) SMTP  PIC_SERVER (event driven)  PIC_SERVER SMTP  1.  E- (2005-02-01) (2005-04-28) PIC_SERVER (10) SMTP E-mail PIC_SERVER (event driven) E-mail PIC_SERVER SMTP E-mail 1. E-mail E-mail 1 (1) (2) (3) (4) 1 1. 2 E-mail A E-mail B E-mail SMTP(Simple Mail Transfer

More information

Learning Java

Learning Java Java Introduction to Java Programming (Third Edition) Prentice-Hall,Inc. Y.Daniel Liang 2001 Java 2002.2 Java2 2001.10 Java2 Philip Heller & Simon Roberts 1999.4 Java2 2001.3 Java2 21 2002.4 Java UML 2002.10

More information

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

,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010) ,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN 7-5635-1099-0...............TP36 CIP (2005)076733 : ( 10 ) :100876 : (010 )62282185 : (010)62283578 : publish@bupt.edu.cn : : : 787 mm960 mm 1/

More information

C/C++ - 字符输入输出和字符确认

C/C++ - 字符输入输出和字符确认 C/C++ Table of contents 1. 2. getchar() putchar() 3. (Buffer) 4. 5. 6. 7. 8. 1 2 3 1 // pseudo code 2 read a character 3 while there is more input 4 increment character count 5 if a line has been read,

More information

Ps22Pdf

Ps22Pdf ( ) ( 150 ) 25 15 20 40 ( 25, 1, 25 ), 1. A. B. C. D. 2. A. B. C. D. 3., J = 1 H = 1 ( A B, J', J, H ) A. A = B = 1, J' =0 B. A = B = J' =1 C. A = J' =1, B =0 D. B = J' = 1, A = 0 4. AB + AB A. AB B. AB

More information

Chapter 2

Chapter 2 2 (Setup) ETAP PowerStation ETAP ETAP PowerStation PowerStation PowerPlot ODBC SQL Server Oracle SQL Server Oracle Windows SQL Server Oracle PowerStation PowerStation PowerStation PowerStation ETAP PowerStation

More information

概述

概述 OPC Version 1.6 build 0910 KOSRDK Knight OPC Server Rapid Development Toolkits Knight Workgroup, eehoo Technology 2002-9 OPC 1...4 2 API...5 2.1...5 2.2...5 2.2.1 KOS_Init...5 2.2.2 KOS_InitB...5 2.2.3

More information

SDP 1 2 3 4 8 9 10 12 19

SDP 1 2 3 4 8 9 10 12 19 SDP SDP 1 2 3 4 8 9 10 12 19 SDP 2 SDP CANBUS 3m/s 48 1 2 N 3 4 5 6 7 8 9 EMC EMC ENS008212 EN618003 10 IP21 SDP 3 1 1 4 2 5 3 P24 103 104 N24 G24 P24 101 102 N24 G24 J2 J3 n P2 P1 P3 J2 J1 J3 1 P2 P1

More information

201406002+大学计算机基础B.doc

201406002+大学计算机基础B.doc 目 录. 大 学 计 算 机 基 础 B( 非 独 立 设 课 ).... 计 算 机 操 作 基 础 ( 独 立 设 课 )...3 3. 程 序 设 计 基 础 ( 非 独 立 设 课 )...5 4. 面 向 对 象 程 序 设 计 ( 非 独 立 设 课 )...8 5. 数 据 库 原 理 ( 非 独 立 设 课 )...0 6. 算 法 设 计 与 分 析 ( 非 独 立 设 课 )...

More information

USB - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - DES Module FSM CONTROLLER 8 6 8 Key ROM 8 8 Data_in RAM Data_out RAM 8 USB Board - 8 - - 9 - - 10 - - 11 - - 12 - USB device INF Windows INF Device Function

More information

C/C++ - 函数

C/C++ - 函数 C/C++ Table of contents 1. 2. 3. & 4. 5. 1 2 3 # include # define SIZE 50 int main ( void ) { float list [ SIZE ]; readlist (list, SIZE ); sort (list, SIZE ); average (list, SIZE ); bargragh

More information

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

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 2004 5 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 Abstract The techniques of digital video processing, transferring

More information

Microsoft Word - MTK平台生产软件使用说明.doc

Microsoft Word - MTK平台生产软件使用说明.doc MTK 1. 1.1 SMT BSN 1.2 1 IMEI 2. 2 2.1 MTK Flash Flash NAND FlashMP3 1 SMT SOFT Flash 2 SOFT MKT USB-RS232 921600 8 2.2 COPY 2.3 USB PCUSB USB 8 USB USB USB-RS232 (USB ) RS232 PCRS232 8 4V2A 2.4 DA File

More information

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8

els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8 els0xu_zh_nf_v8.book Page Wednesday, June, 009 9:5 AM ELS-0/0C.8 Yamaha ELS-0/0C..8 LCD ELS-0/0C v. typeu LCD ELS-0/0C typeu / -6 / [SEARCH] / - ZH ELS-0/0C.8 els0xu_zh_nf_v8.book Page Wednesday, June,

More information

自由軟體教學平台

自由軟體教學平台 NCHC Opensource task force Steven Shiau steven@nchc.gov.tw National Center for High-Performance Computing Sep 10, 2002 1 Outline 1. 2. 3. Service DHCP, TFTP, NFS, NIS 4. 5. 2 DRBL (diskless remote boot

More information

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt

06721 main() lock pick proc() restart() [2][4] MINIX minix2.0 GDT, IDT irq table[] CPU CPU CPU CPU (IDTR) idt[] CPU _hwint00:! Interrupt MINIX ( 730000) ( 730000) MINIX MINIX2.0 MINIX : MINIX TP3 1 MINIX UNIX Tanenbaum UNIX MINIX LINUX MINIX MINIX MINIX1.0 UNIX V7 MINIX2.0[3] POSIX MINIX3 MINIX Gabriel A. Wainer 1994-1995 [5] 1998 I/O 2002

More information

PTS7_Manual.PDF

PTS7_Manual.PDF User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux

More information

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673

Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1-1MRS755673 Olav Lundström MicroSCADA Pro Marketing & Sales 2005 ABB - 1 - Contents MicroSCADA Pro Portal Marketing and sales Ordering MicroSCADA Pro Partners Club 2005 ABB - 2 - MicroSCADA Pro - Portal Imagine that

More information

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢

More information

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co

BYOD IP+Optical (IP NGN) API 4. End-to-End (Service Aware) 5. IP NGN (IP Next Generation Network) ( ) Prime Carrier Management Access Edge Co BYOD 228 2015 IT open source DIY ( ) Up/Down HP NNMi WhatsUp Gold Nagios HP SiteScope WhatsUp Gold HP NNMi WhatsUp Gold Cacti MRTG HP ispi Performance for Metrics WhatsUp Gold ( ) Open source Agent End-to-End

More information

1

1 SDT Uclinux SDT.alf.c 44blib.alf 44blib.c jtag ADS.alf.c make menuconfig make dep make clean make lib_only make user_only make romfs make image make uclinux ext2 cash lcd frambuffer 1 armsys-c uclinux

More information

rz_Newsletter2016_en_160111.indd

rz_Newsletter2016_en_160111.indd 2016 Android AUTOSAR Linux AUTOSARAU Reverse ging Target Communication Framework ARM CoreSight TM Requirements Analysis Nexus Timing Tools Intel Trace Hub GDB Infineon MCDS Unit Testing PIL Simulation

More information