Microsoft Word - mcu-an z-10.doc

Similar documents
Microsoft Word - mcu-an z-10.doc

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - mcu-an z-11.doc

Microsoft Word - mcu-an z-10.doc

目录

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

C语言的应用.PDF

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

AL-M200 Series

学习MSP430单片机推荐参考书

bingdian001.com

Microsoft Word - 11.doc

Microsoft Word - mcu-an z-11.doc

EK-STM32F

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

目 录

PIC16F F MPLAB 08 16F LED 15 LED

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

Tel:

行业

ICD ICD ICD ICD ICD

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

a b c d e f g C2 C1 2


B 6 A A N A S A +V B B B +V 2

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

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

1 TPIS TPIS 2 2

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

untitled

¬¬

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

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

audiogram3 Owners Manual

2005.book

INTRODUCTION TO COM.DOC

<4D F736F F D A F E45BDA8C1A2B9A4B3CCBFAAB7A2BBB7BEB3CFEABDE22E646F63>

C/C++ - 文件IO

Microsoft Word - template.doc

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

untitled

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

USB解决方案.ppt

Microsoft Word - IRFWX-A124_A_SM59D03G2_SM59D04G2_PCA_ APN_SC_.doc

2 12

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

untitled

Microsoft Word - ~ doc

2 2 3 DLight CPU I/O DLight Oracle Solaris (DTrace) C/C++ Solaris DLight DTrace DLight DLight DLight C C++ Fortran CPU I/O DLight AM

SA-DK2-U3Rユーザーズマニュアル

Panaboard Overlayer help

說 說 留 說 參 了 不 弄 弄 不 落 不 異 列 切 TOA 連 異 異 落 露 2

P4V88+_BIOS_CN.p65

untitled

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

TX-NR3030_BAS_Cs_ indd

CC213

untitled

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

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

Logitech Wireless Combo MK45 English

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++;

C++ 程式設計

iml v C / 0W EVM - pplication Notes. IC Description The iml8683 is a Three Terminal Current Controller (TTCC) for regulating the current flowin

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

Section1_16bit Arc.ppt

Applied Biosystems StepOne™ Real-Time PCR System Quick Reference Card for Installation

Microsoft PowerPoint - OPVB1基本VB.ppt

行业

Chn 116 Neh.d.01.nis

ebook140-8

自然辩证法索引

<30312E20B9EFB7C5AF66BEC7A4A4A175A5CDAC7ABE69B3B1A176AABABDD7AA522E706466>

概述

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


FY.DOC

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

A Preliminary Implementation of Linux Kernel Virus and Process Hiding


untitled

WARNING RISK OF ELECTRIC SHOCK DO NOT OPEN AVIS RISQUE DE CHOC ELECTRIQUE NE PAS OUVRIR S35A Ct-

P4VM800_BIOS_CN.p65

Transcription:

富士通微电子 ( 上海 ) 有限公司应用笔记 MCU-AN-500009-Z-10 F²MC-8FX 家族 8 位微控制器 MB95200H/210H 系列 DBG 引脚的使用方法 应用笔记

变更履历 变更履历 日期作者修改记录 2008-03-18 Raven Peng V1.0, 第 1 版 本文档由 12 页构成 1. 本文档记载的产品信息及规格说明如有变动, 恕不预先通知 如需最新产品信息和 / 或规格说明, 联系富士通销售代表或富士通授权经销商 2. 基于本文档记载信息或示意图的使用引起的对著作权 工业产权或第三方的其他权利的侵害, 富士通不承担任何责任 3. 未经富士通明文批准, 不得对本文档的记载内容进行转让 拷贝 4. 本文档所介绍的产品并不旨在以下用途 : 需要极高可靠性的设备, 诸如航空航天装置 海底中继器 核控制系统或维系生命的医用设施 5. 本文档介绍的部分产品可能是 外汇及外贸管理法 规定的战略物资 ( 或专门技术 ), 出口该产品或其中部分元件前, 应根据该法获得正式批准 2008 富士通微电子 ( 上海 ) 有限公司版权所有 MCU-AN-500009-Z-10 Page 2

目录 目录 变更履历目录 1 概要 2 DBG 引脚的功能 变更履历... 2 目录... 3 概要... 4 引脚的功能... 5 2.1 DBG 引脚硬件连接 ( 调试模式 )... 5 2.2 调试模式下的性能... 5 2.3 自由运行模式下的性能... 5 引脚的使用方法... 6 3 DBG 引脚的使用方法 3.1 用作单线 UART 引脚 /P12 引脚... 6 3.2 用作 EC0 引脚... 6 引脚使用时的注意事项... 7 4 DBG 引脚使用时的注意事项 示例代码... 8 MCU-AN-500009-Z-10 Page 3

1 概要 1 概要 本应用笔记介绍 DBG 引脚的使用方法 调试模式下,DBG 引脚可用作单线 UART 通信端口 ; 自由运行模式下,DBG 引脚可用作 P12/EC0 MCU-AN-500009-Z-10 Page 4

2 DBG 引脚的功能 2 DBG 引脚的功能 本章介绍各个模式下 DBG 引脚的功能 2.1 DBG 引脚硬件连接 ( 调试模式 ) 2.2 调试模式下的性能 图 2-1 DBG 引脚硬件连接 ( 调试模式 ) 目标 MCU 进入调试模式时,DBG 引脚用作单线 UART 引脚 为保证和 BGM 适配器实时通信, 禁止该引脚的其他功能 禁止 P12 的功能 用户模式下,P12 的任何操作均无效 EC0 功能也被禁止, 但另一引脚可用作 EC0 引脚 向 SYSC [EC0SL] 写 1 可使 P04/EC0 引脚用作外部计数器时钟输入 切勿同时将 P04 设为 EC0 输入和 HCLK1 输入 2.3 自由运行模式下的性能 目标 MCU 进入自由运行模式时, 禁止单线 UART 功能 用户代码中支持 P12/EC0 功能, 但 DBG 引脚不能设为单线 UART 引脚 MCU-AN-500009-Z-10 Page 5

3 DBG 引脚的使用方法 3 DBG 引脚的使用方法 本章介绍各个模式下 DBG 引脚设定示例 3.1 用作单线 UART 引脚 /P12 引脚 调试模式下 DBG 引脚自动用作单线 UART 引脚 UART 处于空闲状态时,DBG 引脚保持高电平 自由运行模式下 DBG 引脚默认用作 P12 引脚 若写入以下用户代码, DDR1_D12 = 1; // set P12 as output pin PDR1_P12 = 0; // pull P12 to low. 调试模式下运行以上代码后,DBG 引脚仍保持高电平 但自由运行模式下运行这些代码后, DBG 引脚设为低电平 3.2 用作 EC0 引脚 调试模式下 DBG 引脚不能用作 EC0 引脚 为使能 8/16 位多功能定时器的外部时钟输入, 调试模式下 P04 引脚可设为 EC0 引脚 SYSC = 0xEB; // set P04 as EC0 pin, disable HCLK1 T00CR0 = 0x71; // interval timer, external clock source. TMCR0 = 0x43; // 8bit mode, output T00. T00DR = 0x08; // set counter. T00CR1 = 0x81; // enable output, start T00. 以上代码将 P04 设为 EC0 引脚并在连续间隔定时器模式下设定 T00 输入时钟信号到 P04 引脚 调试模式下运行这些代码 确认 T00 引脚, 执行以上操作后, 可看到输出时钟变为 8 分频输入时钟 SYSC = 0xE3; // set P12 as EC0 pin, disable HCLK1 T00CR0 = 0x71; // interval timer, external clock source. TMCR0 = 0x43; // 8 bit mode, output T00. T00DR = 0x08; // set counter. T00CR1 = 0x81; // enable output, start T00. 以上代码将 P12 设为 EC0 引脚并在连续间隔定时器模式下设定 T00 输入时钟信号到 P12 引脚 自由运行模式下运行这些代码 确认 T00 引脚, 执行以上操作后, 可看到输出时钟变为 8 分频输入时钟 MCU-AN-500009-Z-10 Page 6

4 DBG 引脚使用时的注意事项 4 DBG 引脚使用时的注意事项 本章介绍使用 DBG 引脚时的注意事项 1 使用 BGM 适配器调试时, 连接到 DBG 引脚的外围电路不应影响单线 UART 通信 设计用户电路板时, 参考图 2-1 2 调试时, 推荐用户代码中将 P12 设为输入引脚或输出低电平 切勿将 P12 设为输出高电平 若自由运行模式下目标 MCU 运行, 则目标电路板连接到 BGM 适配器 当目标 MCU 中将 DBG 引脚设为高电平时,BGM 适配器使用单线 UART 引脚传输 0 这种情况下, 大电流可能穿过 DBG 引脚 MCU-AN-500009-Z-10 Page 7

Start.asm //================================================================== // F 2 MC-8L Family SOFTUNE C Compiler sample startup routine, //ALL RIGHTS RESERVED, COPYRIGHT (C) FUJITSU LIMITED 1986 // LICENSED MATERIAL - PROGRAM PROPERTY OF FUJITSU LIMITED //================================================================== //Sample code for initialization //-----------------------------------------------------------------------.PROGRAM start.title start // Settings #set OFF 0 #set ON 1 # set STACKSIZE 64 // Stack size //Clock Mode Selection # set SUB 0 //Sub clock mode # set MAIN 2 // Main clock mode //DIV Clock Selection (Machine clock division ratio) # set CLK_0 0 // Original oscillator div 1 # set CLK_4 1 // Original oscillator div 4 # set CLK_8 2 //Original oscillator div 8 # set CLK_16 3 //Original oscillator div 16 // external declaration of symbols.export start.import _main //definition to stack area.section STACK, STACK, ALIGN=1.RES.B STACKSIZE STACK_TOP:.RES.B 2 //========= =============================================== // Start-Up Code //======================================================= // // / / \ \ // \ / // \ ---- \ MCU-AN-500009-Z-10 Page 8

// / \ //Begin of actual code section DBG 引脚操作 V10 //======================================================== //The Mode Byte is defined at the beginning of the start.asm ; code area start: ; set stack pointer.section.data.b 0.DATA.W RESVECT, CONST, LOCATE=H'FFFD start.section CODE, CODE, ALIGN=1 MOVW MOVW A, #STACK_TOP SP, A // Set Register bank Pointer 0 / set Direct bank Pointer 0 (0x80..0xFF) MOVW A, PS MOVW A, #0x00BF // RP=0, DP=0, I=0 ANDW MOVW // Set ILM to the lowest level(3) MOVW A PS, A A, PS MOVW A, #0x0030 ORW MOVW A PS, A MOV A, 0X0FE4 // READ CRTH AND A, #0X9F //CLEAR CRTH[6:5] OR A, #0X60 // 10MHz, 0X00: 1MHz //0X20: 12.5MHz // 0X40: 10MHz 0X60: 8MHz MOV 0X0FE4, A // WRITE SYSC // call main routine CALL _main end: JMP end.end start MCU-AN-500009-Z-10 Page 9

Vector.c /******************************vector.c*********************************/ THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR INFRINGEMENT FOR ANY PURPOSES. /********************************************************************/ // VECTORS.C Interrupt level (priority) setting - Interrupt vector definition #include "mb95200.h" void InitIrqLevels(void) { ILR0 = 0xEF; // IRQ0: external interrupt ch4 --> 01 } ILR1 = 0xFF; ILR2 = 0xFF; ILR3 = 0xFF; ILR4 = 0xFF; ILR5 = 0xFF; // Prototypes // IRQ1: external interrupt ch5 --> 01 // IRQ2: external interrupt ch2 ch6 --> 01 // IRQ3: external interrupt ch3 ch7 --> 01 // IRQ4: UART/SIO ch0 // IRQ5: 8/16-bit timer ch0 (lower) // IRQ6: 8/16-bit timer ch0 (upper) // IRQ7: LIN-UART (reception) // IRQ8: LIN-UART (transmission) // IRQ9: 8/16-bit PPG ch1 (lower) UART/SIO ch1 // IRQ10: 8/16-bit PPG ch1 (upper) I2C ch1 // IRQ11: 16-bit reload timer ch0 // IRQ12: 8/16-bit PPG ch0 (upper) // IRQ13: 8/16-bit PPG ch0 (lower) // IRQ14: 8/16-bit timer ch1 (upper) // IRQ15: 16-bit PPG ch0 + ch2 // IRQ16: 16-bit reload timer ch1 I2C ch0 // IRQ17: 16-bit PPG ch1 // IRQ18: 10-biat A/D-converter --> 01 // IRQ19: TB timer // IRQ20: Watch timer / counter // IRQ21: external interrupt ch 8-11 // IRQ22: 8/16-bit timer ch1 (lower) external interrupt ch 12-15 // IRQ23: Flash Custom ch1 //================================================================ //Add your prototypes, each vector definition needs a prototype. Either do it here or include a header file containing them. MCU-AN-500009-Z-10 Page 10

//=================================================================== //extern unsigned int delay_timer; interrupt void DefaultIRQHandler (void); // Vector definition // Use following statements to define vectors. // All resource related vectors are predefined. // Remaining software interrupts can be added hereas well. #pragma intvect DefaultIRQHandler 0 //IRQ0: external interrupt ch4 #pragma intvect DefaultIRQHandler 1 //IRQ1: external interrupt ch5 #pragma intvect DefaultIRQHandler 2 //IRQ2: external interrupt ch2 ch6 #pragma intvect DefaultIRQHandler 3 //IRQ3: external interrupt ch3 ch7 #pragma intvect DefaultIRQHandler 5 //IRQ5: 8/16-bit timer ch0 (lower) #pragma intvect DefaultIRQHandler 6 //IRQ6: 8/16-bit timer ch0 (upper) #pragma intvect DefaultIRQHandler 7 //IRQ7: LIN-UART (reception) #pragma intvect DefaultIRQHandler 8 //IRQ8: LIN-UART (transmission) #pragma intvect DefaultIRQHandler 14 //IRQ14: 8/16-bit timer ch1 (upper) #pragma intvect DefaultIRQHandler 18 //IRQ18: 10-biat A/D-converter #pragma intvect DefaultIRQHandler 19 //IRQ19: TB timer #pragma intvect DefaultIRQHandler 20 //IRQ20: Watch timer / counter #pragma intvect DefaultIRQHandler 22 //IRQ22: 8/16-bit timer ch1 (lower) // external interrupt ch 12-15 #pragma intvect DefaultIRQHandler 23 //IRQ23: Flash Custom ch1 interrupt void DefaultIRQHandler (void) { } DI(); While(1) Main.c // disable interrupts wait_nop(); // halt system //===================================================================== //following code created for DBG pin usage test #define DEBUGMODE //set DBG pin as P12 output void gpio_setting(void) { DDR1_P12 = 1; /* set P12 as output pin */ PDR1_P12 = 0; /* pull P12 to low. */ AIDRL_P04 = 1; /* port input enable */ MCU-AN-500009-Z-10 Page 11

} //set DBG pin as EC0 pin void p12_as_ec0(void) { } SYSC = 0xE3; // set P12 as EC0 pin, disable HCLK1 T00CR0 = 0x71; // interval timer, external clock source. TMCR0 = 0x43; // 8bit mode, output timer00. T00DR = 0x08; // set counter. T00CR1 = 0x81; // enable output, start timer00. //change EC0 pin to P04 void p04_as_ec0(void) { } SYSC = 0xEB; // set P04 as EC0 pin, disable HCLK1 T00CR0 = 0x71; // interval timer, external clock source. TMCR0 = 0x43; // 8bit mode, output timer00. T00DR = 0x08; // set counter. T00CR1 = 0x81; // enable output, start timer00. //main function void main(void) { gpio_setting(); //pull low P12 pin... #ifdef DEBUGMODE P04_as_ec0(); //set P04 as EC0 pin in debug mode #else P12_as_ec0(); //set P12 as EC0 pin in free run mode #endif } MCU-AN-500009-Z-10 Page 12