Module Introduction! PURPOSE: The intent of this module, 68K to ColdFire Transition, is to explain the changes to the programming model and architectu

Similar documents
ARM Processors for Embedded Applications

EE 308: Microcontrollers

Course Introduction. Purpose: Objectives: Content: Learning Time:

ATmega128. Introduction

Prefetch Cache Module

1.2 Differences Overview

Contents of this presentation: Some words about the ARM company

Introduction to Netburner Network Development Kit (NNDK) MOD5282

Systemy RT i embedded Wykład 5 Mikrokontrolery 32-bitowe AVR32, ARM. Wrocław 2013

Calendar Description

ECE332, Week 2, Lecture 3. September 5, 2007

ECE332, Week 2, Lecture 3

Samsung S3C4510B. Hsung-Pin Chang Department of Computer Science National Chung Hsing University

Microcontrollers. Microcontroller

Introducing the Superscalar Version 5 ColdFire Core

The Nios II Family of Configurable Soft-core Processors

AVR Microcontrollers Architecture

Design Considerations The ColdFire architectures' foundation in Freescale's architecture allows designers to take advantage of the established t

MARIE: An Introduction to a Simple Computer

ECE 471 Embedded Systems Lecture 2

MICROPROCESSOR BASED SYSTEM DESIGN

Choosing a Micro for an Embedded System Application

18-349: Embedded Real-Time Systems Lecture 2: ARM Architecture

ARM ARCHITECTURE. Contents at a glance:

Nios Soft Core Embedded Processor

EE 354 Fall 2015 Lecture 1 Architecture and Introduction

Features nc. V3 COLDFIRE PROCESSOR COMPLEX JTAG Instruction Unit Branch Logic CCR General- Purpose Registers A0 A IAG IC1 IC2 IED Instruction Fe

FIFTH SEMESTER DIPLOMA EXAMINATION IN ENGINEERING/ TECHNOLOGY-MARCH 2014 EMBEDDED SYSTEMS (Common for CT,CM) [Time: 3 hours] (Maximum marks : 100)

Introduction to 68000

CISC RISC. Compiler. Compiler. Processor. Processor

systems such as Linux (real time application interface Linux included). The unified 32-

Migrating RC3233x Software to the RC32434/5 Device

Wed. Aug 23 Announcements

LX4180. LMI: Local Memory Interface CI: Coprocessor Interface CEI: Custom Engine Interface LBC: Lexra Bus Controller

Overview of Microcontroller and Embedded Systems

CPE300: Digital System Architecture and Design

SECTION 1 QUICC/POWERQUICC DIFFERENCES

1.2 Differences Overview

Chapter 4. MARIE: An Introduction to a Simple Computer

PRODUCT PREVIEW TNETV1050 IP PHONE PROCESSOR. description

Universität Dortmund. ARM Architecture

INTEL Architectures GOPALAKRISHNAN IYER FALL 2009 ELEC : Computer Architecture and Design

MCF548X Family Integrated Microprocessor Product Brief

Microcontroller systems Lec 2 PIC18LF8722 Microcontroller s s core

Babu Madhav Institute of Information Technology, UTU

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques.

Proven 8051 Microcontroller Technology, Brilliantly Updated

Introduction to Operating Systems. Chapter Chapter

ECE 1160/2160 Embedded Systems Design. Midterm Review. Wei Gao. ECE 1160/2160 Embedded Systems Design

COMP2121: Microprocessors and Interfacing. Instruction Set Architecture (ISA)

Zatara Series ARM ASSP High-Performance 32-bit Solution for Secure Transactions

Intelop. *As new IP blocks become available, please contact the factory for the latest updated info.

COMPUTER ORGANIZATION AND ARCHITECTURE

Chapter 1. Microprocessor architecture ECE Dr. Mohamed Mahmoud.

MCF5253 ColdFire Microprocessor Product Brief

CS2253 COMPUTER ORGANIZATION AND ARCHITECTURE 1 KINGS COLLEGE OF ENGINEERING DEPARTMENT OF INFORMATION TECHNOLOGY

Run time environment of a MIPS program

MCF5271 Integrated Microprocessor Product Brief Microcontroller Division

Microprocessors and Microcontrollers. Assignment 1:

An Overview of the BLITZ System

Embedded Systems: Architecture

Chapter 5B. Large and Fast: Exploiting Memory Hierarchy

Chapter 4. Chapter 4 Objectives. MARIE: An Introduction to a Simple Computer

The Central Processing Unit

ARM Cortex-M4 Architecture and Instruction Set 1: Architecture Overview

EC 6504 MICROPROCESSOR AND MICROCONTROLLER

Welcome to the Controller Continuum Only from Freescale

MicroProcessor. MicroProcessor. MicroProcessor. MicroProcessor

,1752'8&7,21. Figure 1-0. Table 1-0. Listing 1-0.

Migrating from the MCF5206e to the ColdFire MCF5208 Melissa Hunter TSPG Applications

OUTLINE. STM32F0 Architecture Overview STM32F0 Core Motivation for RISC and Pipelining Cortex-M0 Programming Model Toolchain and Project Structure

(Embedded) Systems Programming Overview

Virtual Machines and Dynamic Translation: Implementing ISAs in Software

Outline: System Development and Programming with the ADSP-TS101 (TigerSHARC)

CHAPTER 4 MARIE: An Introduction to a Simple Computer

Practical Hardware Debugging: Quick Notes On How to Simulate Altera s Nios II Multiprocessor Systems Using Mentor Graphics ModelSim

MCF5227x ColdFire Microprocessor Product Brief Supports MCF52274 & MCF52277

Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,

ECE 471 Embedded Systems Lecture 2

What is Computer Architecture?

Introduction to Embedded System Processor Architectures


Microprocessors/Microcontrollers

Virtualization. Pradipta De

Programming in the MAXQ environment

Chapter 4. Enhancing ARM7 architecture by embedding RTOS

STM32F7 series ARM Cortex -M7 powered Releasing your creativity

COMP3221: Microprocessors and. and Embedded Systems. Instruction Set Architecture (ISA) What makes an ISA? #1: Memory Models. What makes an ISA?

MCF5445x ColdFire Microprocessor Product Brief Supports MCF54450, MCF54451, MCF54452, MCF54453, MCF54454, & MCF54455

Processor and Peripheral IP Cores for Microcontrollers in Embedded Space Applications


Hands-on Workshop: Driving Displays Part 4 - The Latest ColdFire MCU, the MCF5227x

acret Ameya Centre for Robotics & Embedded Technology Syllabus for Diploma in Embedded Systems (Total Eight Modules-4 Months -320 Hrs.

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

What Are The Main Differences Between Program Counter Pc And Instruction Register Ir

CN310 Microprocessor Systems Design

Features nc. Supports bus snooping for cache coherency Floating-point unit (FPU) Low-power (less than 2.5 W in HiP3, less than 2.0 W in HiP4) See the

AVR XMEGA TM. A New Reference for 8/16-bit Microcontrollers. Ingar Fredriksen AVR Product Marketing Director

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 18

Write A General Form Of The Assembly

Transcription:

Module Introduction! PURPOSE: The intent of this module, 68K to ColdFire Transition, is to explain the changes to the programming model and architecture of ColdFire. This module also provides a description of the tools available to help with the transition from 68K to ColdFire.! OBJECTIVES:! Describe the differences in the ColdFire programming module.! Identify the transition tools for migration from 68K to ColdFire.! CONTENT:! 12 pages! 2 questions! LEARNING TIME:! 25 minutes The intent of this module is to explain the changes to the programming model and architecture of ColdFire. This module also provides a description of the tools available to help with the transition from 68K to ColdFire. You will better understand the specific ColdFire devices as part of the upgrade path from 68K microprocessors. Once you have finished this module, you will be better prepared to describe the differences between the 68K and ColdFire programming modules. You will also be better prepared to identify the available transition tools that help simplify the migration process from 68K to ColdFire.

ColdFire Programming Model D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 A2 A3 A4 A5 A6 A7 PC Sys Byte CCR VBR Data Registers Address Registers Stack Pointer Program Counter Status Register Vector Base Register Let s begin with a look at the ColdFire programming model. Does it look familiar? This may be because it is nearly identical to that of the M68K family. There is one main difference between the stack pointer of this programming model and the M68K family. That difference is, there is only one stack pointer in the ColdFire architecture. Keep in mind that the M68K supported a user and a supervisor stack pointer. This provided operating system support not required on ColdFire. Note that all ColdFires except for the MCF5282 only implement[s] a single stack pointer (A7). Please refer to the ColdFire Programmer s Reference Manual for more detail. Next, let s look at the ColdFire instruction set architecture.

Instruction Set Architecture 68020 68000 Deleted from M68000 Included in ColdFire ColdFire Added beyond M68000 Next, let s look at the ColdFire instruction set architecture. Many instructions were eliminated from the M68K. Many of these instructions were rarely used or could be replaced by a sequence of simpler instructions, as in the reduced instruction set computing (RISC) tradition. The instructions that were deleted from M68000 include BCD instructions, rotate instructions, simplified fault model, double stack pointer, and eliminated support for readmodify-write (r-m-w) instructions. Also, reduced support for byte and word instructions means that only double word operands, such as 32-bit, are supported in memory. With the introduction of the Version 4 core, many of these operand size restrictions have been eliminated. Included in ColdFire are full support for basic effective addressing modes; full support for move byte, word, and long operands; and supervisor and user privilege modes. Note that the full complement of byte, word, and long word instructions are supported in the internal register set. Added beyond M68000 are longword multiplies; extend byte to long instruction; trapf, trapf.w and trapf.l; BDM instructions; and vector base register. Also note the inclusion of x2 and x4 scaling factors. This is helpful in the manipulation of data arrays. Additional background debug capability has also been added.

Assembler Translator! Migration from 68K to ColdFire! Free MicroAPL PortASM/68K software! Tool features! Tool and support availability 68K CPU32 CPU32+ ColdFire Variable-Length RISC architecture is derived from the 680x0 family, but with a simplified set of instructions. It also addresses modes to provide high performance at low-cost and low-power consumption. This means that programs written for the 680x0 family will not run on ColdFire processors without modification or re-compilation. The first solution is PortASM/68K Software for ColdFire. This free solution is a source-level translation tool that is designed to help you port 680x0 assembly-language programs to ColdFire. This automated tool will translate 680x0, CPU32, and CPU32+ assembly source code to ColdFire family source code. It can be used to target any member of the ColdFire family. It provides good performance and is the recommended solution for porting a large body of 680x0 assembler code where you have access to the original source-code files. There are many features of the PortASM/68K tool. It can choose between optimization of code size or performance when doing translation. Also, it can choose between ColdFire core versions, with or without the media access controller (MAC), and divide unit. Another important feature of this tool is that the program flags, with recommended corrections, 68K code that PortASM/68K cannot readily convert. This tool also allows debug instructions to be inserted into code. This gives users the flexibility to use tools that take advantage of the ColdFire debug module. PortAsm/68K Software can be downloaded free of charge from the web site (http://www.freescale.com). Free installation support is available and full support is available from MicroAPL for less than $500. Now, let s look at the next free solution for migrating from 68K to ColdFire.

68K Emulation Library Memory Executing 68K Code Unimplemented instruction in ColdFire ISA causes an exception trap which invokes the emulation library. Unimplemented Instruction Trap CF68KLib Emulation Library Executable Code Summary of Events: 1. Execute 68K code on ColdFire processor 2. Trap on illegal instruction 3. Emulate instruction 4. Return to execute code The next available solution is CF68KLib. This is an emulation library that provides exception handlers to implement 680x0 instructions. It also addresses modes that are missing in the ColdFire architecture. It allows 680x0 object-code, whether written in assembler or in a highlevel language, to run on a ColdFire processor.this includes all ColdFire microprocessors, with the exception of the MCF5206 and MCF5206E. It is available to run either user-level code only, or user- and supervisor-level code. CF68KLib allows you to run 680x0 code with minimal modification under ColdFire. However, there is a performance penalty associated with the need to trap out and emulate missing instructions. The CF68Lib emulation library supports the following 68K processors: 68000, 68020, 68030, 68EC040, 68EC060, CPU32, and CPU32+. However, it does not support floating point or memory management unit (MMU) instructions. Not only is this tool an excellent resource for protecting legacy 68K code developed by our customers, but it is offered free of charge. It is available for ColdFire processors with full instruction decode. CF68Lib is supported on Win95/98, SunOS, Solaris, and WinNT. For additional information about the available solutions to ease the migration from 68K to ColdFire, visit the web site (http://www.freescale.com)

Translation Questions All of our design expertise hinges on 68K devices. Would this expertise be lost when moving to ColdFire? ColdFire will operate at a much higher frequency than 68K. Can I still use existing peripherals that are much slower? A large amount of initialization code exists for 68K architecture. Will this code have to be re-written? Here are some frequently-asked questions that arise from the 68K to ColdFire transition. All of our design expertise hinges on 68K devices. Would this expertise be lost when moving to ColdFire? The answer to this question is that the ColdFire instruction set is a subset of the 68K instruction set. Also, ColdFire code is compatible at both the binary and assembler level with original 68K instructions. Programming models are identical with the exception of the stack pointer implementation. The exception processing model in ColdFire is also similar to the original 68K instructions. ColdFire will operate at a much higher frequency than 68K. Can I still use existing peripherals that are much slower? The answer to this question is that it is still possible to use slower peripherals by inserting wait states and glueless interface. Using existing peripherals may adversely affect performance. To increase performance, upgrade the peripherals. A large amount of initialization code exists for 68K architecture. Will this code have to be rewritten? The answer to this question is that initialization code is specific to a particular device. Normally new code would have to be written, but this initialization code is provided on the web site (www.freescale.com). Many of the peripheral functions found on 68K devices have been implemented on ColdFire devices. Much of the initialization code for a 68K device may be re-used on ColdFire devices with very little modification.

Question Which of the following does ColdFire include? Click on your choice and then click Done. a) Full support for more byte, word, and long operands. b) BCD instructions. c) Rotate instructions. d) Divide instructions. Here s another question for you. Answer: ColdFire includes full support for more byte, word, and long operands. BCD, rotate, and [divide] read-modify-write instructions have all been deleted.

680x0 Data and Instruction Execution Cache Unit 2 to 110 MIPS 8 to 75 MHz Bus Performance & Integration 68K to ColdFire Integration Performance & Integration MCF5249 MCF5272 63 MIPS at 66 MHz 10/100 Ethernet MAC 1.1 USB Device SDRAM 4 TDM s Standard ColdFire Peripheral Set MCF5307/MCF5407 125 MIPS at 140 MHz 96K on-chip SRAM EMAC SDRAM Optimized for low power: 1.3 mw/mhz,183 mw typical IDE Interface 5307-75 MIPS at 90 MHz - Standard ColdFire Peripheral Set 5407-316 MIPS at 220 MHz - Harvard Architecture - Separate I&D Cache Here are some recommendations showing which ColdFire devices best fit as a migration from 680x0 microprocessors. All of these migration paths offer more integration and performance typically at a lower price point.

CPU32 4.8 MIPS 25 MHz SIMM Module Chip Selects 68340 DMA 2 Timers USART Performance & Integration MCF5249 125 MIPS at 140 MHz 96K on-chip SRAM EMAC 68K to ColdFire SDRAM Performance Performance & Integration Optimized for low power: 1.3cmW/MHz,183cmW typical IDE Interface MCF5206e 50 MIPS at 54 MHz 4k I-Cache 8k on-chip SRAM DRAM DMA Standard ColdFire Peripheral Set MCF5307/MCF5407 5307-75 MIPS at 90 MHz - Standard ColdFire Peripheral Set 5407-316 MIPS at 220 MHz - Harvard Architecture - Separate I&D Cache These are the recommended ColdFire devices that best fit as a migration from the popular 68340 microprocessors. Once more, all of these migration paths offer more integration and performance.

68K to ColdFire MC68EN302 MCF5272 1K DPRAM 68EC000 Core 5 MIPS System Bus 8 or 16-bits 1K I-Cache 4K SRAM V2 ColdFire Core 63 MIPS System Bus 16 or 32 bits 10 Base T Ethernet DMA Comm 25 MHz JTAG DMA 3 Timers Interrupt Ctr DRAM Ctr & Chip Selects General Purpose I/O SPI 10/100 Ethernet DMA USB 1.1 Module JTAG 66 MHz MAC H/W Divide Debug Module Interrupt Ctr SDRAM Ctr & Chip Selects General Purpose I/O 3 PWMs DMA 4 Timers QSPI 3 UARTs, or 3 HDLC Channels, or 1 TDM 2 UARTs Software HDLC Module 4 TDMs 5 MIPS @ 25 MHz 0.65u $20 63 MIPS @ 66 MHz 0.35u $10.95 Some of our 68K microprocessors are application specific, as in the case of the 68302 family. This family, especially the MC68EN302, is well renowned for its networking peripheral set. In the case of the MC68EN302, there is an onboard 10-Base-T Ethernet controller. Therefore, the MCF5272 ColdFire is the best possible replacement due to the fact that the MCF5272 features a 10/100 Ethernet controller. To help understand this page, the two block diagrams are color-coded to represent the enhancements of the MCF5272 from the MC68EN302. These highlighted boxes indicate a feature or peripheral that is enhanced on the MCF5272. These highlighted boxes indicate features or peripherals that are brand new on the MCF5272. These highlighted boxes indicate features and peripherals that are matched on the MCF5272. In addition, the MCF5272 has over 12x the performance for only half the price of an MC68EN302! Migrating from 68K to ColdFire offers higher performance, newer technology, and a lower price.

Question Which tools are available to assist in the migration from 68K to ColdFire? Select all that apply and then click Done. CF68KLib: an emulation library that provides exception handlers to implement 680x0 instructions. PortASM/Lib: an emulation library that allows you to run 680x0 code with minimal modification. CF68Port: a migration solution that can be downloaded free of charge. PortASM/68K Software: a source-level translation tool that is designed to help you port 680x0 assembly-language programs to ColdFire. Consider this question about the migration from 68K to ColdFire. Answer: PortASM/68K Software is a free solution that can be used to target any member of the ColdFire family. CF68KLib is an emulation library that also addresses modes that are missing in the ColdFire architecture.

Module Summary ColdFire programming model Instruction set architecture MicroAPL PortASM/68K software 68K emulation library Translation questions Recommended ColdFire devices Let s review the 68K to ColdFire Transition module. First, we examined the ColdFire programming model. Then, we looked at the type of instructions that were removed, included, and added to ColdFire. Next, we looked at two solutions to help ease the migration from 68K to ColdFire. We answered some frequently-asked questions about the 68K to ColdFire transition. Finally, we presented recommendations showing which ColdFire devices best fit as a migration from 680x0 microprocessors.