Content.indd

Size: px
Start display at page:

Download "Content.indd"

Transcription

1 将 851 应用程序迁移到 ARM Cortex-M 处理器上 作者 :Joseph Yiu 和 Andrew Frame Cortex-M 处理器系列包括广泛使用的 Cortex-M3 处理器 针对 FPGA 的 Cortex-M1 处理器 29 年初推出的 Cortex-M 处理器 ( 最小的 ARM 处理器 ) 和 21 年初推出的 Cor tex-m4 处理器 ( 支持浮点和数字信号处理增强指令 ) 这些处理器具有先进的功能特点和简单易用的编程模型, 对于想从 851 微控制器迁移到 ARM 架构的开发人员来说, 极具吸引力 本文是一篇入门指南, 目的是帮助 851 微控制器的开发人员了解 851 和 A R M C or tex-m 处理器系列在架构 软件和硬件设计上的主要差异, 从而加快迁移过程 架构概述对于一些嵌入式程序员 ( 尤其是那些习惯使用汇编语言编程的程序员 ), 首先要做的事情就是了解编程模型 寄存器 ARM Cortex-M 处理器具有一个 32 位寄存器库和一个 xpsr( 组合程序状态寄存器 ) 而 851 具有 ACC( 累加器 ) B DPTR( 数 的 RISC 架构, 处理器寄存器加载数据, 然后将数据传给 ALU 进行单周期执行 而 851 寄存器 (ACC B PSW SP 和 DPTR) 可在 SFR( 特殊功能寄存器 ) 的内存空间中访问 据指针 ) PSW( 处理器状态字 ) 和四个各含八个寄存器的寄存 器库 (R-R7) Registers in Cortex-M 为了确保普通的 C 函数能够用 R Processor status 作中断处理程序, 在需要处 Registers in 851 R1 APSR EPSR IPSR 理中断时,Cor tex-m 的寄存 R2 ACC B DPH DPL R3 xpsr 器 (R - R 3 R12 L R P C 和 PSW SP R4 xpsr) 会被自动压入堆栈, 而软 DPTR R5 件仅需在必要时将其他寄存器 R6 PRIMASK Bank R R1 R2 R3 R4 R5 R6 R7 R7 Interrupt 压入堆栈 虽然 851 具有 4 个寄 Masking Bank 1 R R1 R2 R3 R4 R5 R6 R7 R8 BASEPRI R9 Registers 存器库, 但是 ACC B DPTR 和 Bank 2 R R1 R2 R3 R4 R5 R6 R7 R1 FAULTMASK PSW 寄存器并不会自动压栈, 因 Bank 3 R R1 R2 R3 R4 R5 R6 R7 R11 Cortex-M3/M4 only 此通常需要通过中断处理程序 R12 对这些寄存器进行软件压栈 R13 (SP) R14 (LR) R15 (PC) 在 851 中, 一些指令会频繁使用某些寄存器, 如 ACC 和 DPTR 这种相关性会极大降低系统的性能, 而在 ARM 处理器中, 指令可 36 使用不同的寄存器来进行数据处理 内存存取和用作内存指针, 因此不会有这个问题 从根本上说,ARM 架构是一个基于加载 (Load) 和存储 (Store) CONTROL 内存空间 ARM 处理器具有 32 位寻址, 可实现一个 4GB 的线性内存空间 该内存空间在结构上分成多个区 每个区都有各自的推荐用法 ( 虽

2 xffffffff xe System region System components (NVIC) debug components xa x6 x4 x2 x Device region RAM region Peripheral region SRAM region CODE region Off chip peripherals Off chip memory peripherals SRAM Program flash xff x7f x Internal Memory Space Internal RAM (indirect addressing) Internal RAM Register banks Special Function Registers (SFR) (direct addressing) External Memory Space 64k byte program memory (Instruction accesses, MOVC accesses) 64k byte data memory (MOVX accesses) Memory Map in the ARM Cortex-M processors Memory Map in the 851 microcontrollers 然并不是固定的 ) 统一内存架构不仅增加了内存使用的灵活性, 而且降低了不同内存空间使用不同数据类型的复杂性 相反地,851 微控制器具有多个内存空间 内存空间的分割使得有效地利用全部内存空间变得困难, 而且需要借助 C 语言扩展来处理不同的内存类型 851 在外部 RAM 内存空间上最高支持 64KB 的程序内存和 64KB 的数据内存 理论上, 可以利用内存分页来扩展程序内存大小 不过, 内存分页解决方案并未标准化, 换句话说, 不同 851 供应商的内存分页的实现并不相同 这不仅会增加软件开发的复杂性, 而且由于处理页面切换所需的软件开销, 还会显著降低软件性能 在 ARM Cortex-M3 或 M4 上,SRAM 区和外设区都提供了一个 1MB 的位段区 (bit band region) 此位段区允许通过别名地址访问其内部的每个位 由于位段别名地址只需通过普通的内存存取指令即可访问, 因此 C 语言完全可以支持, 不需要任何特殊指令 而 851 提供了少量的位寻址内存 ( 内部 RAM 上 字节和 SFR 空间上 字节 ) 处理这些位数据需要特殊指令, 而要支持此功能,C 编译器中需要 C 语言扩展 ARM Cortex-M 处理器的内存映射包含多个内置外设块 例如,ARM Cortex-M 处理器的一个特性是具有一个嵌套矢量中断控制器 (NVIC) 此外, 系统区中内存映射有数个指定控制寄存器和调试组件, 以确保优异的中断处理并极大方便开发人员使用 堆栈内存堆栈内存操作是内存架构的重要组成部分 在 851 中, 堆栈指针只有 8 位, 同时堆栈位于内部的内存空间 ( 上限为 256 个字节, 并 由工作寄存器 ( 四个各由 R 至 R7 构成的寄存器库 ) 和内部数据变量共享 ) 堆栈操作基于空递增模型 xff SP current value N SP initial value x8 x Last stacked item at N -1 Register banks 与 851 不同的是,ARM Cortex-M 处理器使用系统内存作为堆栈, 采用满递减模型 SP current value N SP initial value determine by first word in vector table x Last stacked item at N Vector table 满递减堆栈内存模型更受 C 语言的支持 例如, 微控制器中的 SRAM 的使用可组织为 : 使用动态分配内存空间的 C 库和应用程序通常需要堆内存 尽管 C ortex-m 处理器的每次压栈需要 32 位的堆栈内存, 总 PUSH ACC xff SP new value N+ 1 Stacking in 851 PUSH R x SP new value N - 4 Stacking in ARM Cortex -M processor xffffffff x Stack New stacked item at N Register banks Heap Static data New stacked item at N - 4 Vector table RAM 37 RAM usage in ARM Cortex -M

3 的 RAM 使用仍然要比 851 小 851 的变量通常是静态地放在 IDATA 上, 而 ARM 处理的局部变量是放在堆栈内存上的, 因此, 只有当函数执行的时候, 局部变量才会占用 RAM 空间 此外,ARM Cortex-M 处理器提供有第二个堆栈指针, 以允许操作系统内核和进程堆栈使用不同的堆栈内存 这使得操作更可靠, 也使操作系统设计更高效 ( 堆栈指针切换是自动处理的 ) x43) /* define base address */ SomePeripheral->register2 = x3; /* Set register #2 to x3 */ 由于 ARM 处理器中外设总线协议的特性, 外设寄存器通常定义为 32 位, 即使只会用到其中几位 此外, 外设寄存器的地址是字对齐的 例如, 如果外设位于地址 x4 处, 那么对应外设寄存器的地址就是 x4 x44 和 x48 等 某些运行在主系统总线上的外设没有这个限制 外设 851 中的很多外设是通过特殊功能寄存器 (SFR) 来控制的 由于 SFR 空间只有 128 个字节, 而且其中一些已经为处理器寄存器和标准外设所占用, 剩余的 SFR 地址空间通常非常有限, 因此也就限制了可通过 SFR 控制的外设数量 虽然可以通过外部内存空间来控制外设, 但是与 SFR 存取相比, 外部存取通常需要更多的开销 ( 需要将地址复制到 DPTR, 数据必须通过 ACC 传输 ) xff x7f x Internal Memory Space Internal RAM (indirect addressing) Internal RAM Register banks Special Function Registers (SFR) (direct addressing) 851 Peripherals 在 ARM Cortex-M 处理器中, 所有外设都是内存映射的 由于所有寄存器都可用作指针或数据访问中的数据值, 因此效率非常高 在 C 语言中, 访问外设地址的一个简单方法就是使用指针, 如 : (*((volatile unsigned long *)(LED_ADDRESS))) = xff; // Output to LED ReceviedData = (*((volatile unsigned long *)(IO_INPUT_ADDRESS))); // Read from IO 此外, 您可以声明外设块的数据结构 使用数据结构, 程序代码只需要存储外设的基址, 而且每个寄存器访问可以利用带有立即数偏移量的加载或存储指令来执行, 因此效率会得到提高 例如, 具有四个寄存器的外设可以定义为 : typedef struct { volatile unsigned long register; volatile unsigned long register1; volatile unsigned long register2; volatile unsigned long register3; SomePeripheral_Type; #define SomePeripheral ((SomePeripheral_Type *) 异常 851 支持具有两个可编程优先级的矢量中断 一些较新的 851 支持四个级别和稍多的中断源 它们也支持嵌套中断 当中断发生时, 程序会保存返回地址, 然后跳转到矢量表中的固定地址 矢量表通常包含有另一个分支指令, 以便跳转至中断服务程序的实际开始位置 示例 : Interrupt sources In 851 Timer 2 UART Timer 1 Int1 Timer Int Vector table in 851 x2b x23 x1b x13 xb x3 x LJMP tim2_isr LJMP uart_isr LJMP tim1_isr LJMP int1_isr LJMP tim_isr LJMP int_isr LJMP reset Vector table in ARM Cortex-M x4 x Interrupt vectors System vectors NMI vector Reset vector Initial MSP 进入中断服务程序时, 需要通过软件代码将 PSW( 也可能包括 ACC 和 DPTR 等 ) 压入堆栈并切换寄存器库 ARM Cortex-M 处理器的中断处理由嵌套矢量中断控制器 (NVIC) 提供 NVIC 紧密地耦合到处理器内核, 支持矢量中断和嵌套中断 此外, 它还支持更多中断源 :Cortex-M/M1 支持最多 32 个 IRQ,Cortex-M3 支持最多 24 个 IRQ Cortex-M/M1 支持 4 个可编程优先级, 而 Cortex-M3 则支持 8 至 256 个级别, 具体数目视实现情况而定 ( 通常为 8 或 个级别 ) 与 851 不同的是,ARM Cortex-M 处理器的矢量表存储的是异常处理程序的开始地址 此外,Cortex-M 处理器支持 NMI ( 非屏蔽中断 ) 和一些系统异常 系统异常包括特别针对操作系统的异常类型和用于检测非法操作的故障处理异常 这些功能都是 851 上所没有的 851 中的中断服务程序需要通过 R E TI 指令来终止, 该指令与用于标准函数的 RET 指令不同 在 ARM Cortex-M 中, 中断服务程 38

4 序与普通的 C 函数完全相同 异常机制使用异常进入期间 LR 中生成的特殊返回地址代码来检测异常返回 软件简单了解架构情况后, 我们现在来讨论软件代码的移植 在很多情况下, 针对 851 编写的 C 代码需要进行大量的修改 很显然, 内存映射和外设驱动代码是不同的 除此之外, 我们还需要特别注意其他一些地方 : 指针 或者, 如果你正在使用 ARM RealView 编译器或 KEIL MDK- ARM, 那么可以使用编译器特有的位段功能 attribute ((bitband)) --bitband command line option 有关此功能的更多详细信息, 请参阅 ARM RealView 编译器用户指南 或 Keil 在线文档 数据类型 851 和 ARM 处理器的数据类型有一些差异 由于数据大小不同, 如果程序代码依赖于数据大小或溢出行为, 不做修改可能会无法工作 下表所示为常见数据类型的大小, 具体视编译器而定 这里是指 851 的 KEIL C 编译器和 ARM RealView 编译器 ( 也适用于 KEIL RealView 微控制器开发套件 ) Type char, unsigned char enum short, unsigned short int, unsigned int long, unsigned long Number of bits in 数据类型大小不同的另一个影响是在 ROM 中保留常数数据所需的大小 例如, 如果 851 程序中包含一个整数型常数数组, 那么你需要修改代码, 将该数组定义为短整型常数 否则, 代码长度可能会因为该数组从 位变成 32 位而增加 由于 851 架构的特性,851 的 C 编译器还支持一些数据类型和内存类型扩展 这些数据类型在 ARM 处理器上是不受支持的 示例 : 32 对于外设地址, 您可以按照前文所述将 SFR 数据类型替换为易失性内存指针 由于 851 指令集的特性,SFR 地址是硬编码在指令中的 在 ARM 微控制器中, 您可以将外设的寄存器定义为内存指针, 并将寄存器作为数据结构或数组来访问 这要比 851 灵活很多 浮点由于 851 的处理能力限制, 大 8 多数 851 C 编译器会将 双 8//32 (smallest is 精度 数据类型 (64 位 ) 作为 chosen) 单精度 (32 位 ) 来处理 而在 ARM 处理器中使用相同代码 32 时,C 编译器将使用双精度, 32 因此程序行为可能会发生变化 例如, 如果您只需要单精度, 就需要对以下从 Whetstone 中提取的代码进行修改 : X=T*atan(T2*sin(X)*cos(X)/(cos(X+Y)+cos(X-Y)-1.)); /* double precision on ARM*/ Y=T*atan(T2*sin(Y)*cos(Y)/(cos(X+Y)+cos(X-Y)-1.)); 对于单精度运算, 代码需要更改为 : X=T*atanf(T2*sinf(X)*cosf(X)/(cosf(X+Y)+cosf(X-Y)-1.F)); /* single precision on ARM*/ Y=T*atanf(T2*sinf(Y)*cosf(Y)/(cosf(X+Y)+cosf(X-Y)-1.F)); Number of bits in ARM Type bit sbit sfr sfr idata xdata bdata Description Bit addressable memory in x2 to x3c Bit addressable memory in SFR space Special Function Register -bit Special Function Register Specify data is in internal data memory Specify data is in external data memory Specify data is in bit addressable memory Cortex-M3 处理器的用户可以使用位段区来管理位数据 由于位段允许利用位段别名地址通过普通的内存存取指令来访问位数据, 因此可以将位数据声明为指向位段别名地址的内存 Number of bits 对于不需要双精度精确度的应用程序, 将代码更改为单精度能够提高性能以及缩短代码长度 中断处理程序为了使 851 C 编译器为中断处理程序产生正确的代码, 需要用到一些函数扩展 这可确保函数使用 RETI( 而非 RET) 来返回并确保将所有用到的寄存器保存到堆栈中 在 851 的 KEIL C 编译器中, 这是通过 interrupt 扩展来实现的 示例 : 39

5 void timer_isr (void) interrupt 1 { /* 851 timer ISR */ return; 在 ARM Cortex-M 处理器中, 中断服务程序被作为普通的 C 函数那样来编译 因此, 可以去掉 interrupt 扩展 在 AR M RealView 编译器中, 你也可以添加 irq 关键词来加以说明 示例 : irq void timer_isr (void) { /* ARM timer ISR */ return; 851 编译器的另一 C 扩展用于指定所使用的寄存器库 示例 : void timer_isr (void) interrupt 1 using 2 { /* use register bank #2 */ return; 同样,ARM 处理器不需要此扩展, 可以将其删除 可重入函数对于 851, 普通的 C 函数无法用作可重入函数 这是因为局部变量是静态的, 如果重入函数, 局部变量可能会遭到损坏 为了解决此问题, 一些 851 C 编译器支持 reentrant 扩展 例如, 使用 KEIL 851 C 编译器时, 可以将函数声明为 : void foo (void) reentrant { return; ARM 处理器的局部变量存储在堆栈中, 重入普通函数并不会出现问题, 因此可以删除 reentrant 扩展 非对齐数据在 ARM 微控制器编程中, 数据变量的地址通常必须是对齐地址 换句话说, 变量 X 的地址应该是 sizeof(x) 的倍数 例如, 字变量的地址最低两位应该是零 ARM Cortex-M/M1 要求数据对齐 Cortex-M3 处理器支持非对齐数据访问, 然而 C 编译器通常不会生成非对齐数据 如果数据不对齐, 那么访问数据将需要更多的总线周期, 因为 AMBA AHB LITE 总线标准 ( 在 Cortex-M 处理器中使用 ) 不支持非对齐数据 访问非对齐数据时, 总线接口必须将其拆分成数个对齐传输 在使用不同大小的元素来创建数据结构时, 你可能会尝试各元素的不同排列方式使该数据结构所需的内存最少 例如, 像下面这样的结构 : struct sample { short field1; // 2 bytes Int field2; // 4 bytes char field3; // 1 byte Int field4; // 4 bytes ; 通过重新排列结构中的元素, 可以使该结构所需的内存减小 : struct sample { short field1; // 2 bytes char field3; // 1 byte Int field2; // 4 bytes Int field4; // 4 bytes ; Address Address Memory layout field4 field2 field1 Memory layout field3 field 4 field 2 field1 field3 由于 Cortex-M/M1 不支持非对齐数据处理, 如果应用程序尝试使用非对齐传输, 会触发故障异常 C 程序通常不会产生非对齐传输, 但如果你手动安排 C 指针的位置, 就可以生成非对齐数据, 并导致 Cortex-M/M1 的故障异常 Cortex-M3 可以配置异常陷阱来检测非对齐传输, 从而强制非对齐传输生成故障异常 故障异常 ARM 处理器和 851 之间的一个主要差别在于,ARM 处理器通过故障异常来处理错误事件 内存或外设可能会发生错误 ( 总线错误响应 ), 检测到异常操作时, 处理器内部也可能会发生错误 ( 如无效指令 ) 错误检测功能有助于构建可靠的系统 常见故障包括 : - 内存 ( 数据或指令 ) 访问无效内存空间 - 无效指令 ( 例如指令内存损坏 ) - 不允许的操作 ( 例如尝试切换到 ARM 指令集, 而非 Thumb 指令集 ) - 违反 MPU 内存访问权限 ( 非特权程序尝试访问特权地址 ) 在 Cortex-M/M1 处理器中, 检测到任何错误时, 都将使用称为硬故障的异常类型 硬故障处理程序的优先级要高于除 NMI 之外的其他异常 您可以使用此异常来报告错误, 或者在必要时复位系统 4

6 Cortex-M3 处理器中有两个级别的错误处理程序 当错误发生时, 如果已启用第一级错误处理程序, 并且这些处理程序的优先级高于当前的执行级别, 就执行这些处理程序 如果未启用第一级错误处理程序, 或者这些处理程序的优先级并不高于当前的执行级别, 就调用第二级错误异常, 即硬故障异常 Error Bus fault Usage fault Memory Management Fault Escalation of faults Hard fault 此外,Cortex-M3 处理器包含有数个故障状态寄存器, 用于对故障进行诊断 对于 Cortex-M/M1, 由于进入硬故障异常时会将数个核心寄存器 ( 如 PC 和 PSR) 压入堆栈, 因此可通过堆栈跟踪获取基本调试信息 设备驱动程序和 CMSIS 微控制器厂商会以设备驱动程序库的形式提供很多外设控制程序代码 这类代码可显著缩短软件开发时间 即使你不直接使用该设备驱动程序代码, 它也可为设置和控制各种外设提供颇具价值的参考 在一些 ARM 微控制器厂商提供的设备驱动程序中包含 CMSIS (C o r tex 微控制器软件接口标准 ) CMSIS 是用于 Cortex-M 处理器的一套函数和定义 这些函数和定义是多个厂商共同采用的标准, 它使得在不同 Cortex-M 微控制器之间移植软件变得更容易 CMSIS 由以下内容组成 : - 寄存器定义, 包括 NVIC 中断控制 系统控制块 ( 用于处理器控制 ) SysTick 定时器 ( 用于嵌入式操作系统的 24 位减法计数器 ) - 一些用于 NVIC 中断控制的函数 - 一些实现处理器核心功能的函数 - 标准化的系统初始化函数例如, 如果希望禁用或启用所用中断, 你可以使用 CMSIS 函数 disable_irq 和 e n a b l e _ i r q 借助 CMSIS, 此代码可以在不同的 Cortex-M 微控制器上使用, 并且得到了 A R M 开发工具 (ARM RealView 开发套件和 KEIL MDK-ARM) GCC( 如 CodeSourcey G++) 和 IAR C 编译器的支持 此外,CMSIS 包含一些隐含函数, 让你可以产生一些特殊指令, 这些指令无法用普通 C 代码由 C 编译器来产生 例如, 您可以使用隐含函数来访问特殊寄存器和创建独占访问 ( 对于 Cortex-M3 的多处理器编程 ) 等 同样,CMSIS 使得所开发的软件可以在多个 C 编译器产品之间进行移植 CMSIS 对所有 Cortex-M 开发人员都非常重要, 尤其是那些为多个项目开发嵌入式操作系统 中间件和可重用嵌入式软件的人员 CMSIS 包含在微控制器厂商提供的设备驱动程序中, 也可以从 网站下载 混用 C 语言和汇编程序大多数情况下, 您可以完全用 C 语言来编写 Cortex-M 应用程序 即使你需要访问一些 C 编译器无法通过普通 C 代码生成的特殊指令, 也可以使用 CMSIS 提供的隐含函数, 或者根据需要在应用程序中使用汇编语言 您可以在单独的汇编程序文件中编写汇编代码, 也可以使用 C 编译器的特定方法将汇编代码混合在 C 程序文件中 使用 ARM( 和 KEIL) 开发工具时, 将汇编代码插入 C 编程文件的方法称为 嵌入式汇编程序 汇编代码声明为函数, 并可以被 C 代码调用 示例 : int main (void) { int status; status = get_primask(); while(1); asm int get_primask (void) { MRS R, PRIMASK ; Put interrupt masking register in R BX LR ; Return 有关嵌入式汇编程序的更多详细信息, 请参阅 RealView 编译器用户指南 使用 GCC 和 IAR 编译器时, 您可以使用内嵌汇编程序将汇编代码插入到 C 程序代码 请注意, 虽然包括 RVDS 和 KEIL MDK-ARM 在内的 ARM 开发工具中也包含内嵌汇编程序 Common tasks Disable all interrupt Enable all interrupt IDLE mode / Sleep 851 EA = ; EA = 1; PCON = PCON 1; Cortex-M/M3 with CMSIS disable_irq(); enable_irq(); WFI(); /* Wait for Interrupt */ Vendor specific sleep modes access available in device driver libraries. 41

7 功能, 但是 ARM 工具中的内嵌汇编程序仅支持 ARM 指令, 并不支持 Thumb 指令, 因此不能用于 Cortex-M 处理器 跟踪输出 ( 仅限 Cortex-M3/M4, 通常在使用 ETM 跟踪时使用 它包含 5 个信号 ) 在汇编程序和 C 语言混合环境中, 您可以通过汇编程序代码调用 C 函数, 也可以通过 C 函数调用汇编程序代码 数据传输的寄存器使用可参见 A R M 架构程序调用标准 (A A P C S) 的文档 此文档可以从 ARM 网站获取 在简单的情况下, 您可以使用 R-R3 作为函数的输入 (R 作为第一个输入变量, 以此类推 ), 并使用 R 来返回结果 函数应该保留 R4 至 R11 的值, 而如果你调用 C 函数, 那么返回时该 C 函数可能会更改 R-R3 和 R12 的值 调试调试和跟踪功能概述 ARM Cortex 微控制器可以使用 JTAG 或串行线协议来调试嵌入式应用程序 串行线协议是在 Cortex-M3 中引入的 该协议可以完成相同的调试任务, 却仅需要 2 根信号线 (JTAG 需要 5 根信号线 ) 大多数 Cortex-M 微控制器允许使用 JTAG 或串行线协议, 但并不允许使用两者 Cortex-M 处理器包含有一些断点和观察点比较器, 你还可以使用断点指令向程序代码中插入其他断点 调试器允许你暂停 重新启动和单步调试程序执行, 并允许你检查核心寄存器和内存中的数据 你甚至可以在处理器运行时访问系统内存 此外,Cortex-M3 处理器支持可选的嵌入式跟踪宏单元 (ETM) 借助 ETM,RealView Trace 或 Keil ULINK Pro 等跟踪端口分析器可以跟踪程序指令执行序列并收集相关信息 在程序编译期间, 跟踪信息可用来对程序代码中的问题进行调试, 或者由 RealView Profiler 用来提高优化性能 对于一些不具备指令跟踪 (ETM) 的 Cortex-M3 微控制器, 仍然可实现基本的跟踪功能 Cortex-M3 处理器支持单线浏览器 (Single-wire Viewer) 输出, 允许通过单个引脚输出少量信息 您可以利用 ULINK2 等低成本的调试硬件来收集跟踪信息 利用单线浏览器提供的跟踪信息, 您可以实现数据跟踪 事件跟踪 ( 如中断 ) P C 采样和仪器跟踪, 其中仪器跟踪是一种新的调试功能, 允许调试器收集软件生成的消息 ( 例如, 可以实现 printf, 而不会对软件执行速度造成太大影响 ) 调试连接在 851 微控制器中, 调试连接通常非常少, 而 ARM 微控制器具有更多的调试连接 JTAG/ 串行线 串行线输出 ( 通常与 TDO 共享, 仅限 Cortex-M3/M4) 请注意,ARM 规定了调试连接的物理连接器标准 进行 PCB 设计时, 使用标准连接器会简单很多 对于新设计, 建议使用新的 Cortex 调试和 ETM 连接器 (.5 2 引脚头 - Samtec FTSH-12) 有关信号协议的详细信息, 请参阅 ETM 架构规范 和 CoreSight 架构规范 VTref KEY Detect /TgtPwr+Cap /TgtPwr+Cap 1 2 TMS/SWIO TCK/SWCLK TDO / SWO / TRACECTL / EXTa TDI / EXTb / NC nreset TRACECLK TRACEDATA TRACEDATA1 TRACEDATA2 TRACEDATA 对于没有 ETM 的设备, 您可以使用更小的.5i±1 引脚连接器 VTref KEY Detect 1 2 TMS/SWIO TCK/SWCLK TDO / SWO TDI 9 1 nreset 或者, 您还可以使用旧的 ARM JTAG/ 串行线 2 路 IDC 连接器 1 2 3V3 3V3 ntrst TDI TMS TCK (NC) RTCK TDO (NC) nsrst (NC) DBGRQ (NC) DBGACK nicedetect 19 2 此外, 还有一个旧的基于 38 位 Mictor 连接器的跟踪连接 对于新 设计, 不建议采用 跟踪信号引脚分配情况如下页左图所示 ARM 网站上有一篇有关调试连接器的技术文章, 网址为 : attached/13634/cortex_debug_connectors.pdf 42

8 Signal NC NC Pin Pin Signal NC NC TRACECLK Pullup (VRef) Pullup (VSupply) TRACEDATA[3] TRACEDATA[2] TRACEDATA[1] 1 (TRACECTL) TRACEDATA[] 结论由于架构上的差异, 在从 851 迁移到 ARM Cortex 微控制器时, 需要对应用程序代码进行一些修改 修改的原因主要在于数据类型大小上的差异, 以及 851 的一些 C 语言扩展并不适用于 ARM Cortex 微控制器 此外,ARM 微控制器上具有一些新的异常类型和架构特性, 需要修改软件代码才能使用这些新功能 结束 ARM Shenzhen Office The Architecture for the Digital World 43

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

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

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

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 [email protected] 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

CC213

CC213 : (Ken-Yi Lee), E-mail: [email protected] 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

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

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 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe   Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L 1 SH88F516 8051 64K FLASH 1024 EEPROM SH88F516 JET51 S-Lab Keil µ vision ISP51 Keil µ vision ISP51 ISP51 PC RS232 MCU SH88F516 SH88F516 1.1 SH88F516 1.1 SH88F516 SH88Fxx: QFP44, DIP40 RAM Flash E2 ADC

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 [email protected]! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

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

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

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

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

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

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

<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

学习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

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

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

untitled

untitled XILINX Platform Cbale USB www.hseda.com ...... Platform Cable USB Compatible.................. impact.........1 platform Cable USB Compatible.........1...1...1...1...1...1 Platform Cable USB Compatible

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

JLX

JLX PRODUCT:LCD MODULE. Model No.: JLX177-006 Product Type: 1.77 inch QVGA TFT Modoule. 产品规格书 晶联讯研发研发部 : Written By Checked By Approved By 客户名称 : 结构电子核准 地址 : 深圳市宝安区西乡宝安大道东华工业区 A3 栋 6 楼电话 :0755-29784961 Http://www.jlxlcd.cn

More information

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x

ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x 115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0

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

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

C/C++程序设计 - 字符串与格式化输入/输出

C/C++程序设计 - 字符串与格式化输入/输出 C/C++ / Table of contents 1. 2. 3. 4. 1 i # include # include // density of human body : 1. 04 e3 kg / m ^3 # define DENSITY 1. 04 e3 int main ( void ) { float weight, volume ; int

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

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc EEPROM 应用说明 1 适用产品 :SM59D03G2 SM59D04G2 series 2 应用范围 : 针对需使用 EEPORM 功能替换 STC 89C5X 的应用及汇编语言之范例程序 ( 使用内部扩充内存为暂存区 ) 3 功能说明 : 3.1 本公司上述产品 EEPORM 功能皆可替换 STC89C5X, 仅需对特殊功能缓存器定义 ( 详见表 1) 及 ISP 命令定义 ( 详见表 2)

More information

1 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

More information

STM32 for sensorless vector control

STM32 for sensorless vector control STM32 PMSM FOC Shanghai, March,2008 Agenda STM32 FOC Clark Parke Circle limitation Mar 08 1 Agenda / Hall PMSM PLL MC_State_observer_param.h Mar 08 2 Agenda MC_Control_param.h / PI Mar 08 3 Plan STM32

More information

untitled

untitled EDM12864-GR 1 24 1. ----------------------------------------------------3 2. ----------------------------------------------------3 3. ----------------------------------------------------3 4. -------------------------------------------------------6

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: [email protected] 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

Microsoft Word - ~ doc

Microsoft Word - ~ doc EEPROM 功能使用方法 1 适用产品 : 1.1 SM39R16A2/ SM39R12A2/ SM39R08A2 1.2 SM39R4051/ SM39R2051 1.3 SM39R04G1/ SM39R02G1 2 EEPROM 功能概述 : 2.1 使用 code flash 仿真为 Internal EEPROM, 在程序执行时, 可将 code flash 作为 data flash 储存数据使用

More information

1 CPU

1 CPU 2000 Tel 82316285 82317634 Mail [email protected] 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

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11

提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, / 11 .. 软件综合实验之操作系统 进入保护模式 陈香兰 中国科学技术大学计算机学院 July 1, 2016 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 1 / 11 提纲. 1 实验准备. 2 从实模式进入保护模式. 3 小结 陈香兰 ( 中国科学技术大学计算机学院 ) 软件综合实验之操作系统 July 1, 2016 2 / 11 实验准备 实验环境准备

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

W77E58中文手册

W77E58中文手册 W77E58 77E58 8051 8051 8051 77E58 8051 1.5 3 COMS 32K EEPROM 1K SRAM 1 8 2 40M 4 3 8051 4 8051 5 4 8 I/O 6 4 I/O 44 PLCC QFP 7 16 / 8 12 9 10 11 1K 12 13 16 DPTR 14 15 DIP40 W77E58 25/40 PLCC44 W77E58P

More information

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

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12 ... 3... 3... 3... 3... 4 1JTAG ICE PC... 4 2JTAG ICE... 4 3... 4 4... 4 5JTAG... 5 6ISP... 5 IDE... 6 1 AVR STUDIO... 6 2 JTAGICE... 6 3JTAGICE... 12 4.... 16 5.... 17 6. JTAG ICE... 19 ISP... 20 1PonyProg2000...

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

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 [email protected] 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

Microsoft Word - 專題封面.doc

Microsoft Word - 專題封面.doc 逢 甲 大 學 資 訊 工 程 學 系 專 題 研 究 報 告 8051 小 遊 戲 -21 點 指 導 教 授 : 陳 德 生 學 生 : 許 博 益 中 華 民 國 九 十 六 年 六 月 I 目 錄 第 一 章 緒 論 1 1-1 研 究 背 景 1 1-2 研 究 動 機 2 1-3 研 究 目 的 3 1-3-1 21 點 源 起 3 1-3-2 21 點 規 則 3 第 二 章 微 電

More information

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

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

More information

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40

C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 C C [email protected] C C C C The Most Beautiful Language and Most Dangerous Language in the Programming World! C 2 C C C 4 C 40 30 10 Project 30 C Project 3 60 Project 40 Week3 C Week5 Week5 Memory & Pointer

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

Microsoft Word - MAN2011A_CH_RTT.doc

Microsoft Word - MAN2011A_CH_RTT.doc 基于 SAM7X EK 和 IAR EWARM 文档编号 文档版本 Rev. A 文档摘要 基于 AT91SAM7X EK 开发板的代码解读,RTT 代码解读 关键词 AT91SAM7X256 SAM7X EK IAR EWARM J LINK RTT 创建日期 2010 06 08 创建人员 Cust126 审核人员 Robin 文档类型 公开发布 / 开发板配套文件 版权信息 Mcuzone 原创文档,

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

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++;

int *p int a 0x00C7 0x00C7 0x00C int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; Memory & Pointer [email protected] 2.1 2.1.1 1 int *p int a 0x00C7 0x00C7 0x00C7 2.1.2 2 int I[2], *pi = &I[0]; pi++; char C[2], *pc = &C[0]; pc++; float F[2], *pf = &F[0]; pf++; 2.1.3 1. 2. 3. 3 int A,

More information

C 1

C 1 C homepage: xpzhangme 2018 5 30 C 1 C min(x, y) double C // min c # include # include double min ( double x, double y); int main ( int argc, char * argv []) { double x, y; if( argc!=

More information

HCS08微控制器上有关内存分配的几个问题.doc

HCS08微控制器上有关内存分配的几个问题.doc HCS08 [email protected] HCS08 Tiny Small [email protected] HCS08...- 1-1.1. HCS08...- 2-1.1...- 2-1.2 RAM...- 5-1.3 FLASH...- 5-1.4 Vectors...- 6-1.2....- 7-1.3. HCS08 Tiny Small...- 9-1.4. heap segment...12

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

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi SPHE8202R Design Guide V2.0 JUN, 2007 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com SPHE8202R Design Guide Important Notice

More information

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family

Cube20S small, speedy, safe Eextremely modular Up to 64 modules per bus node Quick reaction time: up to 20 µs Cube20S A new Member of the Cube Family small, speedy, safe Eextremely modular Up to 64 modules per bus de Quick reaction time: up to 20 µs A new Member of the Cube Family Murrelektronik s modular I/O system expands the field-tested Cube family

More information

Microsoft PowerPoint - Application_HardFault的诊断_V2.1.ppt [Compatibility Mode]

Microsoft PowerPoint - Application_HardFault的诊断_V2.1.ppt [Compatibility Mode] Hard Fault 的诊断 Cortex-M3 异常模型 2 异常编号 IRQ 编号 异常类型优先级备注 1 Reset 3, 最高 2 14 NMI 2 永远被使能 3 13 Hard Fault 1 Hard Fault 4 12 MM Fault 5 11 Bus Fault 可配置 6 10 Usage Fault 7 10 11 5 SVCall 12 4 DebugMonitor 可配置

More information

Section1_16bit Arc.ppt

Section1_16bit Arc.ppt 16-bit Elite Program 2009 Summer Section-1 Microchip 16-bit 2005 Microchip Technology Incorporated. All Rights Reserved. Slide 1 MCU CPU (NOP),, (Data Memory), I/O CPU w. ALU/Working Reg. Data Mem. Data

More information

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode]

Microsoft PowerPoint - BECKHOFF技术_ADS通讯 [Compatibility Mode] 的架构 ADS 的通讯机制 ADS-Client Request -> Confirmation Indication

More information

PIC16F F MPLAB 08 16F LED 15 LED

PIC16F F MPLAB 08 16F LED 15 LED PIC16F877 PIC16F877 03 16F877 05 06 MPLAB 08 16F877 13 LED 15 LED 17 20 24 2 PIC16F877 PIC16F877 DIP VDD VSS CLOCK CPU :,AND,OR,XOR ROM: CPU ROM RAM: CPU,CPU I/O:CPU, CPU,, 16F877 RAM 512 128 Bank Bank

More information

员工签到录

员工签到录 Archivist 2002 Eletech Enterprise Co., Ltd. All Rights Reserved. 1-1 ELETECH VOICE SYSTEMS INC 2 / 2 VLR, 1-1-1 VP894AS-M11 1. VP894AS-M11 1 2. Y 4 3. RJII 4 4. 2-PIN 1 5. VLR 1 2 3 4 ELETECH VOICE SYSTEMS

More information

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

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 : [email protected] : : : 787 mm960 mm 1/

More information

第七章 中断

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

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

untitled

untitled 不 料 料 例 : ( 料 ) 串 度 8 年 數 串 度 4 串 度 數 數 9- ( ) 利 數 struct { ; ; 數 struct 數 ; 9-2 數 利 數 C struct 數 ; C++ 數 ; struct 省略 9-3 例 ( 料 例 ) struct people{ char name[]; int age; char address[4]; char phone[]; int

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

FM1935X智能非接触读写器芯片

FM1935X智能非接触读写器芯片 FM33A0xx MCU 2017. 05 2.0 1 (http://www.fmsh.com/) 2.0 2 ... 3 1... 4 1.1... 4 1.2... 4 1.3... 5 1.3.1... 5 1.3.2... 5 1.4... 8 1.4.1 LQFP100... 8 1.4.2 LQFP80... 9 1.4.3... 9 2... 15 2.1 LQFP100... 15

More information

从MCS51向AVR的快速转换.PDF

从MCS51向AVR的快速转换.PDF MCS51 AVR MCS51 AVR ATMEL AVR RISC MCS51 AVR 1 MHZ 1MIPS 8MHZ AVR 224MHZ MCS51 FLASH EEPROM ISP WatchDog AVR MCS51 AT90S1200/2313 AT89C1051/2051 AT90S4414/8515 AT89C51/52 PCB / AVR C ICCAVR60 AVR C IAR

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

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

Cortex-M3体系结构与接口编程 嵌入式培训专家 Cortex-M3 体系结构与接口编程 今天的内容 Cortex-M3 发展及应用 Cortex-M3 内核体系结构 Thumb2 指令集 Cortex-M3 接口设计 Cortex-M3 与操作系统 Cortext-M3 发展及应用 varm 公司简介 主要设计 ARM 系列 RISC 处理器内核 ( 芯片的体系结构设计与开发 ) 授权 ARM 内核给生产和销售半导体的合作伙伴,ARM

More information

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

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

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win

Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A... 11 (6) Microsoft Windows 2000... 14 Ác Åé å Serial ATA ( Nvidia nforce430)

More information

Cortex-M for Beginners

Cortex-M for Beginners 白皮书 ARM Cortex-M 处理器入门 ARM Cortex-M 处理器家族介绍和比较 Joseph Yiu, 高级嵌入式技术经理, ARM 三月 2017 Page 1 of 26 概要 ARM Cortex-M 处理器家族现在有 8 款处理器成员 在本文中, 我们会比较 Cortex-M 系列处理器之间的产品特性, 重点讲述如何根据产品应用选择正确的 Cortex-M 处理器 本文中会详细的对照

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63>

<4D6963726F736F667420576F7264202D20B9F9B0EABBCDBBAFAB48DEB3B4C1A5BDB3F8A7692E646F63> 臺 北 市 立 松 山 高 級 工 農 職 業 學 校 資 訊 科 專 題 製 作 報 告 題 目 : 反 彈 空 間 指 導 老 師 : 余 耀 銘 學 生 : 廖 國 銓 趙 信 瑋 中 華 民 國 102 年 5 月 摘 要 在 這 高 速 科 技 的 起 飛 下, 科 技 都 建 立 起 於 基 礎, 有 些 人 把 這 基 礎 轉 為 理 論, 教 給 大 眾 學 習 ; 有 些 人 利

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

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

STM32F05x training in Prague - DAY1

STM32F05x training in Prague - DAY1 Cortex-M0 内核 Cortex-M 系列处理器 跨越传统单片机 8/16/32 位的界限 跨越所用应用的无缝架构 每个产品都针对超低功耗做了优化, 且易于使用 Cortex-M0 Cortex-M3 Cortex-M4 8/16-bit applications 16/32-bit applications 32-bit/DSC applications 程序和开发工具都兼容 Cortex-M

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

CH559指令周期.doc

CH559指令周期.doc CH55X 汇编指令周期表 CH55X 汇编指令概述 : 型号包含 : a. 指令单周期型号 :CH557 CH558 CH559; b. 指令 4 周期型号 :CH551 CH552 CH553 CH554; c. 非跳转指令的指令周期数与指令字节数相同 ; d. 跳转指令含 MOVC/RET/CALL 通常比字节数多若干个周期 ; e.movc 指令多 4 或 5 个周期 ( 下条指令地址为奇数时多

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

r_09hr_practical_guide_kor.pdf

r_09hr_practical_guide_kor.pdf PRACTICAL GUIDE TO THE EDIROL R-09HR 3 4 PRACTICAL GUIDE TO THE EDIROL R-09HR 5 Situation 1 6 1 2 3 PRACTICAL GUIDE TO THE EDIROL R-09HR WAV MP3 WAV 24 bit/96 khz WAV 16 bit/44.1 khz MP3 128 kbps/44.1

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

untitled

untitled 2006 6 Geoframe Geoframe 4.0.3 Geoframe 1.2 1 Project Manager Project Management Create a new project Create a new project ( ) OK storage setting OK (Create charisma project extension) NO OK 2 Edit project

More information

untitled

untitled A, 3+A printf( ABCDEF ) 3+ printf( ABCDEF ) 2.1 C++ main main main) * ( ) ( ) [ ].* ->* ()[] [][] ** *& char (f)(int); ( ) (f) (f) f (int) f int char f char f(int) (f) char (*f)(int); (*f) (int) (

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

untitled

untitled FBC0409 V1.0 1.0 05.06.22 SIA 2005 SIA SIA SIA SIA SIA 114 86-24-23970133 HTTP://WWW.SIA.CN [email protected] 2 ...5...5...6 PIN...6...7 1 CPU...8 2...8 4...8 5 DMA...9 7....9 8...9 9...10 A...10 B...10...11.

More information

2 12

2 12 SHENZHEN BRILLIANT CRYSTAL TECHNOLOGIC CO.,LTD. The specification for the following models Graphic LCM serial communication control board CB001 PROPOSED BY APPROVED Design Approved TEL:+86-755-29995238

More information

典型自编教材

典型自编教材 河 南 科 技 大 学 计 算 机 实 验 教 学 中 心 1. 计 算 机 文 化 基 础 实 验 指 导 书 2. 数 据 结 构 实 验 指 导 书 3. 操 作 系 统 实 验 指 导 书 4. 面 向 对 象 程 序 设 计 实 验 指 导 书 5. 数 据 库 原 理 实 验 指 导 书 6. 编 译 原 理 实 验 指 导 书 7. JAVA 程 序 设 计 实 验 指 导 书 8.

More information