INTRODUCTION Hi everyone, Making/Developing/Porting a Bootloader is a tedious task for newbies (even for professionals) and inexperienced hobbyists who wish to use them on their custom hardware for rapid prototyping. After searching a lot on different forums I came to a conclusion that I cant develop a bootloader just like that so my next option was porting ,that too wasnt easy if you are going with old bootloaders with limited support. I then found a very easy and efficient way of rapid software development platform that can be used on almost any IDE (Keil,Codewarrior,KDS,etc.) and can be used to develop softwares like USB MSD Bootloaders,Serial Bootloaders and other applications for almost all Freedom Development Boards ,Freescale Kinetis MCUs (on a Custom Development Board ) with minimal ARM Programming Knowledge, which is perfect for newbies like me who are just starting with ARM Development using freescale or other boards.See Welcome to the homepage of the µTasker operating system with integrated TCP/IP stack, USB and target device simulator Now my project was to make custom board using MK22DX256VLF5 (48 LQFP) MCU ,my board is a rather a simple one using basic filtering circuits for powering the MCU and almost all the pinouts given as hardware pins on the dev board.Somehow I was able to flash my first blink code using Keil IDE using the OpenSDA circuitry of FRDM-KL25Z (J-11 trace cut ) with CMSIS-DAP firmware (OpenSDA app ) loaded on to it using SWD Programming. With the steps mentioned below I'll show you how to port a Mass Storage Device (MSD) Bootloader using uTasker project from scratch. REQUIREMENTS Programmer(Hardware) or Emulated Programmer(OpenSDA apps): Segger Jlink, P&E Multilink ,OpenSDA Emulators (Jlink-SDA, CMSIS-DAP,USBDM ) IDE :Keil,Codewarrior, Kinetis Design Studio etc. (I prefer CW 10.6 ) Target MCU: Choose any MCU between Kinetis, Coldfire V2, STM32 (I am using Freescale Kinetis MK22DX256VLF5 ,48 LQFP ) refer - http://www.utasker.com/ PROCEDURE 1. Lets start by downloading the uTasker project/framwork (for Kinetis ) from µTasker Kinetis Developer's Page . Then extract and copy the folder to your CW workspace ,import the project to CodeWarrior IDE, It should look like this . (I am using version 14-9-2015) 2 .Next Select "uTaskerSerialLoader_Flash" from the Five build configurations (refer http://www.utasker.com/docs/uTasker/uTaskerSerialLoader.PDF ).uTaskerBM_Loader is described in http://www.utasker.com/docs/uTasker/uTasker_BM_Loader.pdf This is a very small loader alternative that works together with an initial application. uTaskerV1.4_BM_FLASH is the application to build so that it can be loaded to a loader (including the USB-MSD one). uTaskerV1.4 is a 'stand-alone' version of the application that doesn't work together with a loader (and doesn't need a loader).If you want to build application to load using the USB-MSD loader you need to use uTaskerV1.4_BM_FLASH. after that find the files config.h and ap_hw_kinetis.h.These files define the type of MCU you use. 3.In config.h Select your board or MCU type or the closest MCU resembling the architecture of your own MCU. My MCU MK22DX256VLF5 was not there so with a little help from mjbcswitzerland I chose TWR_K21D50M Board settings as TWR-K21D50M module is a development board for the Freescale Kinetis K11 , K12 , K21 and K22 MCUs. (Note : Be sure to remove or comment any other defined boards ) After Selecting the Board/MCU scroll down to find USB_INTERFACE and USB_MSD_LOADER and make sure that these two are defined (not commented ).This is necessary to enable USB enumeration as Mass storage device. Also comment the following if already defined : HID_LOADER KBOOT_HID_LOADER USB_MSD_HOST This is necessary as we are using our Bootloader in MSD Device Mode not in MSD Host Mode. Also we arent using HID_LOADER and KBOOT. Now open ap_hw_kinetis.h and Find your selected MCU (in my case its TWR_K21D50M ) So, Find the String "TWR_K21D50M" (or whatever your MCU is ) and see if the follwing lines are defined. #define OSC_LOW_GAIN_MODE #define CRYSTAL_FREQUENCY 8000000 #define _EXTERNAL_CLOCK CRYSTAL_FREQUENCY #define CLOCK_DIV 4 or #if(..........) #define CLOCK_MUL 48 #define SYSTEM_CLOCK_DIVIDE 2 #else #define CLOCK_MUL 24 #endif #define USB_CLOCK_GENERATED_INTERNALLY Here comes an integral part of USB MSD Bootloading/Programming.You must be wondering about CRYSTAL_FREQUENCY 8000000 and CLOCK_DIV 4 .This is the frequency of an external crystal oscillator (8mhz) connected between EXTAL0 and XTAL0 pins of the Target MCU.If your MCU has an internal oscillator then check whether the latter is defined. refer- https://cache.freescale.com/files/microcontrollers/doc/app_note/AN4905.pdf http://www.utasker.com/kinetis/MCG.html There are two ways to be able to use USB: 1. Use a crystal between EXTAL0 and XTAL0 - usually 8MHz is used. (with or without load capacitor -both worked for me ) 2. Use a 48MHz oscillator on the USB-CLKIN pin. First one is easier and it worked for me.Since my MCU doesnt have an internal oscillator I have used and External 8Mhz crystal. If you want to use a 16Mhz crystal then just make the following changes : #define CRYSTAL_FREQUENCY 8000000 #define _EXTERNAL_CLOCK CRYSTAL_FREQUENCY #define CLOCK_DIV 4 TO #define CRYSTAL_FREQUENCY 16000000 #define _EXTERNAL_CLOCK CRYSTAL_FREQUENCY #define CLOCK_DIV 8 Note: The CLOCK_DIV should be such that it prescales the crystal frequency to range of 2-4MHz. Here is the clocking diagram of My MCU.The next diagram shows an oscillator crystal connected externally to my dev board. Next search for "PIN_COUNT" under your corresponding MCU/Board (mine is TWR_K21D50M).My MCU is 48 LQFP with 256kb flash and 32kb SRAM (you have to change them according to your MCU ).So I have changed the following lines from #define PIN_COUNT PIN_COUNT_121_PIN #define SIZE_OF_FLASH (512 * 1024) #define SIZE_OF_RAM (64 * 1024) to #define PIN_COUNT PIN_COUNT_48_PIN #define SIZE_OF_FLASH (256 * 1024) #define SIZE_OF_RAM (32 * 1024) Next if you search for your MCU/Board (in this case TWR_K21D50M) ,you will find this line : #define UART2_ON_E This defines the alternative port for UART2,since many boards doesnt have PORTE ,it can be chaned to other ports. [its not important though] Note : When building the serial loader for a device with small RAM size reduce the define #define TX_BUFFER_SIZE (5512) to 512 bytes so the buffer can be allocated (the large size was used only for some debugging output on a larger device) [loader version : 14.9.2015] Now search for the String "BLINK_LED" under your corresponding MCU/Board ( mine is TWR_K21D50M ) .The uTasker Bootloader has a special function ,whenever it is in MSD/LOADER mode it blinks a test LED on the board.This is not important but it can be used for debugging purposes.I have a test LED on my board at PORTB16 .You can also specify hardare pins to force bootloader mode and to stop watchdog timer if you pull SWITCH_3 and SWITCH_2 down to ground respectively.I am setting SWITCH_3 and SWITCH_2 as PORTD7 and PORTD6 respectively. Now on the toolbars go to Project > Properties > C/C++ Build > Settings > Tool Settings > Target Processor :Change it to your MCU type (mine is cortex-m4 ) .Next go to Linker >General and change the linker script file to match your MCU's flash,RAM,Type.I have set mine to K_256_32.ld (Kinetis K type processor with 256kb flash and 32 kb RAM) Apply your changes.Now you are ready to go. 4. Build your project under SerialLoader_FLASH configuration .If there are no compilation errors then you have done it! (if there are then recheck everything with this guide ) Now Click the Flash programmer icon a and Select Flash File to Target. (if your not getting the icon switch to "DEBUG" perspective view ) Now you may choose your Programmer (or emulated programmer )[connection tab] ,select the correct Flash configuration file ,then browse for the binary file that has been generated under C:\Users\<computer user>\workspace\Kinetis_14-9-2015\Applications\uTaskerSerialBoot\KinetisCodeWarrior\uTaskerSerialBoot_FLASH\uTaskerSerialBoot.bin and Click on "Erase and Program". You may skip Step 5 and go to Step 6. 5.I am using the OpenSDA circuitry of my FRDM-KL25Z (J-11 trace cut ) as a programmer using J-link OpenSDA app. Download the app from SEGGER - The Embedded Experts for RTOS and Middleware, Debug Probes and Production Programmers - OpenSDA / OpenSDA V2 depending on your OpenSDA version (FRDM KL25Z has OpenSDAv1). Refer - Using the Freedom Board as SWD Programmer | MCU on Eclipse 5.1.First Enter bootloader mode and Flash the Jlink sda app into it.Connect the SWD wires from the board to your Target MCU/Board ,also connect the target board to the external oscillator.Also connect the FRDM's OpenSDA through USB. (A drive with the name JLINK Should come ) 5.2. Go to Flash File to target and under connections tab click new. give any name and click new under Target Tab.Then select the target type (your target MCU ,mine is K22DX256M5).Then check Execute Reset under Initialization Tab. Click finish. Now you'll get the option to select connection type ,then choose J-Link/J-Trace for ARM and change the Debug port interface to SWD .If you get the error :connection name is not unique then just change the name (I have used jlink1).Click Finish. Now I have set up my connections so I can flash the MCU with Jlink app on my OpenSDA circuitry. 6. Now to verify USB Enumeration of your Custom Board ,connect it to PC using USB and you should get a drive with the name UPLOAD_DISK.
Wanted to let you know of the new textbook on Freescale ARM Cortex M is published. Here is the link to Amazon: http://www.amazon.com/Freescale-ARM-Cortex-M-Embedded-Programming-ebook/dp/B00P4ABTP6/ref=sr_1_1?ie=UTF8&qid=1414942909&sr=8-1&keywords=Freescale+ARM The support materials are here: http://www.microdigitaled.com/ARM/Freescale_ARM_books.htm Author: prof1982
Summary: This page contains the technical information for the FRDM-JAM shield. This includes the Schematics, Bill of Materials (BOM), Gerber Files and raw design files. See the attachments section. There are 2 versions long this page. Rev Gamma and Rev Delta. Rev Gamma: This was the version for designed around the K20D50 FRDM board. At the time of the design, the FRDM-K64F did not exsist Rev Delta This version added IO connections to be able to use the FRDM-K64F. The FRDM-K64F uses a different I2S pinout so a jumper had to be added as well as the QSPI RAM devices in Gamma had to be remove Other Special Notes about Rev Delta Rev Delta was design such that a FRDM-K64 could be used. There is not yet firmware available but the hardware now allows connection to the K64F I2S interface. Rev Delta requires that J16 must be cut on the FRDM-K20D50 PCB. There is a trace connecting the pads of J16 on the bottom side of the FRDM-K20D50. This cut allows the audio transmit frame sync to work properly. The signal INT2_ACCEL on the FRDM-K20D50 was interfering with the signal on the FRDM-JAM Rev Delta Introduced an I/O mapping bug. IO Epsilon connects to PTC9 of the K20D50. This also maps to the I2S RXD if using with the K64F and is also routed to PTC5 of the K20D50. Do not use IO epsilon in your code unless you make the proper PCB modifications. Example software, video tutorials tutorials, cool demos, etc are location on the page for MonkeyJam project located here. MBED Support coming *very soon* Notes: You can order PCBs through OSHPark or your favorite board house. There is a special .zip file with files ready to go for OSHPark (using their preferred naming convention). There is a complete design package which has the raw design files (Altium Designer Format) as well as gerbers, a Bill of materials, assembly plots etc. Look in the "BUILD_PACKAGE" folder for the stuff needed to make the board. A PDF Schematic is also provided for easy reference. If you are interested in a low cost pre-fabbed board or a fully assembled version, please leave a comment. A kickstarter project may follow to get a bunch built!
ARM University Programs Lab-in-a-Box (LiB) Freescale and ARM University Programs have teamed up to provide you the Lab in a Box. If you are interested in adopting the Lab-in-a-Box (LiB) in your course please contact the ARM University Program to request a donation! Development Boards The FRDM-KL25Z is an ultra-low-cost development platform enabled by Kinetis L Series KL1x and KL2x MCUs families built on ARM® Cortex™-M0+ processor. Features include easy access to MCU I/O, battery-ready, low-power operation, a standard-based form factor with expansion board options and a built-in debug interface for flash programming and run-control. The FRDM-KL25Z is supported by a range of Freescale and third-party development software. Freedom Development Platform Lab Exercise for Freescale Freedom KL25Z Board Software Tools ARM offers the Keil Microcontroller Development Kit (MDK-ARM) for ARM powered microcontrollers. It features the industry-standard compiler from ARM, the Keil µVision IDE, and sophisticated debug and data trace capabilities. MDK-ARM offers tailored support for all Cortex-M processor-based devices, and is the recommended solution for students working with standard ARM-based MCU devices. We suggest that students and universities download the free evaluation version of the tools, which offers all the features of the standard version, but with a 32 KByte object code/data limit. Keil Microcontroller Development Kit (MDK-ARM) Textbooks The Definitive Guide to the ARM Cortex-M0 In English, by Joseph Yiu Published by Newnes ISBN-10: 0123854776 ISBN-978-0123854773 C Programming for Embedded Microcontrollers In English, by Warwick A. Smith Published by Elektor ISBN: 978-0-905705-80-4 Other ARM-related Books Teaching Materials Teaching Slides ARM Processors and Architectures Comprehensive Overiew - 2012 ARM Processors and Architectures Fundamentals Lab Manuals and Exercises Lab Exercises for Cortex-M4 Freescale Kinetis using Keil MDK Lab Exercises for Cortex-M0+ Freescale Freedom KL25Z Board Application Notes for Students and Faculty AN234: Migrating from PIC Microcontrollers to Cortex-M Other Projects and Resources Variety of Resources and Middleware from onARM Projects-Lab.com - Ideas for Design Projects Other ARM Projects
This is the Academic Training that took place for Professors at Guadalajara. Freescale Engineers provided this training that was detailed enough for the new Freescale technology users. Find below the slides, the presentation videos (in Spanish) and the lab tutorials with the CodeWarrior projects compressed in the attached file. Module Slides Training Videos in Spanish Lab Tutorial 2014 Training Slides DownloadAll Open SDA OPENSDA Flash a binary file OpenSDA Code Warrior 10.4 CodeWarrior10.4 CodeWarrior 10.4 CW Installation My first KL25 project CodeWarrior 10.x ARM Cortex M0+ ARM CortexM0+ ARM Cortex M0+ Cortex M0+ General Purpose Input Output Module GPIO GPIO GPIO GPIO Multipurpose Clock Generator Module MCG MCG MCG MCG Video Low Power Timer Module LPTMR LPTMR LPTMR LPTMR Timer PWM Module TPM Overflow OutputCompare PWM TPM Nested Vectored Interrupt Controller Module NVIC NVIC NVIC NVIC Universal Asynchronous Receiver/Transmitter Module UART UART UART UART Inter-Integrated Circuit Module I2C I2C I2C Analog to Digital Converter Module ADC ADC No Video ADC SampleCode If you have any question on suggestion, please comment below. Also available in the Faculty Portal
Robô Explorador O sistema de investigação feita por robôs através da análise de imagens capturadas está sendo utilizado nas pequenas e grandes empresas. Através da análise de imagens, é possível verificar se um produto está com defeito ou não. Dependendo da imagem, ou até mesmo se a peça estiver em mãos, um operador poderá analisar e qualificar como peça boa, mas através da conversão de uma figura em matriz binária, será possível encontrar um erro. Desta forma o produto final poderá ser adquirido pelo consumidor com mais qualidade e com custo reduzido. Para sistemas de segurança, é possível analisar um espaço, fotografar o local e saber se existe perigo para o operador, ou até mesmo localizar pessoas em situações de risco de vida.
Characteristics of This Book (1) General knowledge and relevant knowledge are well-balanced. From the standpoint of application, this book explains the general principles of the embedded system’s “general knowledge” in a concise but logically lucid way; at the same time, it also pays attention to the coherence between the general knowledge and relevant knowledge about chips. So with the understanding of general principles, the reader can better understand chip application design, which in turn contributes to the understanding of the former. (2) Both hardware and software design are a concern. An embedded system is the efficient integration of hardware and software. So its design should be a design with coordinated, rather than completely separated, hardware and software, like that of a general computer. It is especially true for intellectual embedded application in electronic systems that embedded software cannot be developed well without considering the hardware, and vice versa. (3) Component-based packages of low level drivers are provided. Every module in the book has been furnished with a driver program (in line with the basic principles of the embedded software project and the requirement of a component-based package), detailed, with standard notes and an interface. The supply of low-level driver components for practical application facilitates transplantation and reusability, which saves the reader time for developing his project. (4) Advisable test examples are supplied. Every source program listed in the book has been tested. All test cases are reserved in this book’s CD to free the reader from the trouble caused by design fault or the innate mistake of these example routines, and to facilitate the reader’s confirmation and comprehension. (5) The CD provides all low-level drivers’ component package procedure, texts and test cases. When used, it also contains a chip reference manual, installation and usage about the writing device, tool software (for example, development environment, program writing and reading software, serial ports adjusting tools, USB device, as well as Ethernet tools), related hardware schematic, other technical information, etc. (6) Hardware evaluation, writing adjusting device, and software tools that can solely conduct program writing and reading are supplied to facilitate the reader to practice and apply. Contents There are altogether 16 chapters in this book. The first chapter is an introduction to knowledge system, learning mistakes and learning suggestions on embedded systems. The second and the third chapter describes the characteristics of the ColdFire MCU family, gives the pin function of MCF52233 and the minimum system circuit as well as the first sample program and ColdFire project system to complete the introduction to the first ColdFire project. Chapters 4-10 deal separately with UART, Keyboard，LED and LCD, A/D, Timer，QSPI, I2C and online programming of Flash Memory. And from the eleventh chapter to the fifteenth chapter, information concerning CAN Bus of MCF52235, Ethernet modeling on MCF52233, other modules of MCF52233, USB 2.0 programming of MCF52233, the transplantation and application of μC/OS-Ⅱin ColdFire are provided. The last chapter gives an account of developing methods of embedded systems based on hardware component. Appendix A lists the chip packaging of the ColdFire MCU family used in this book. Complete course files restricted to verified faculty only. Available for download in the Faculty-Portal
Freescale S12 C-Family Specific Device Used = APS12C128SLK Courses Developed by Fredrick M. Cady Related Textbook: Oxford University Press: Software and Hardware Engineering: Fredrick M. Cady Files: All files related to this course are at bottom of this page. Summary: Introductory level course. Covers basic microcontroller concepts and exercises in both assembly and C programming language. Instructor editions of the laboratory include answers to questions and additional commentary by author especially for instructors. The following is a laboratory short courses developed applying the Process Oriented Guided Inquiry Learning (POGIL) pedagogy. POGIL uses guided inquiry – a learning cycle of exploration, concept invention and application – as the basis for many of the carefully designed materials that students use to guide them to construct new knowledge. POGIL is a student-centered strategy; students work in small groups with individual roles to ensure that all students are fully engaged in the learning process. POGIL activities focus on core concepts and encourage a deep understanding of the course material while developing higher-order thinking skills. POGIL develops process skills such as critical thinking, problem solving, and communication through cooperation and reflection, helping students become lifelong learners and preparing them to be more competitive in a global market. Course Contents: Title Topic Document Name Objective S/W Required H/W Required The Microcontroller - General Principles General Principles – The MCU LABSS12CINTRO01.pdf Show architecture of typical microcontroller; define terms. None None Software Development General Principles – S/W Development LABS12CINTRO02.pdf Show S/W/firmware development tools and process. None None Introduction to CodeWarrior - Simluating the Microcontroller in Assembly Language Introduction to the Laboratory – I LABSS12CINTRO03.pdf Introduce the S/W development system used in the lab. CW Introduction to CodeWarrior - Running Assembly Programs on the Microcontroller Introduction to the Laboratory – II LABSS12CINTRO04.pdf Continue above and introduce hardware used in the lab. CW SLK The Assembler Assembler Program LABSS12CINTRO05.pdf Learn the fundamentals of the assembler. CW Exploring Embedded C Programming The C Compiler LABS12CINTRO06.pdf Learn about using C in embedded systems. CW Introduction to CodeWarrior - Simulating the Microcontroller in C Intro to uC Hardware LABSS12CINTRO07.pdf Learn programmer's model and addressing modes None None Introduction to Your Microcontroller Hardware Intro to uC Hardware LABS12CINTRO08.pdf Learn programmer's model and addressing modes None None The Microcontroller Instruction Set I Instructions – I LABSS12CINTRO09.pdf Start to learn the instruction set; memory addressing; conditional branching. None None The Microcontroller Instruction Set II Instructions – II LABS12CINTRO10.pdf Continue ". CW SLK The Bouncing Switch in Assembly Switch Debouncing in Assembly LABS12CINTRO27.pdf Demonstrate switch debouncing and solutions CW SLK The Timer – Introduction to Timer Overflows With C Timers – I LABSS12CINTRO11.pdf Generating a delay using the timer overflow. CW SLK Digital Input and Output Digital Input and Output LABSS12CINTRO12.pdf Input from switches, output to LEDs. CW SLK Digital Input and Output With C Digital Input and Output LABS12CINTRO13.pdf Input from switches, output to LEDs. CW SLK I/O Software Synchronization Digital I/O software LABSS12CINTRO14.pdf I/O software synchronization CW SLK Introduction to Interrupts Using C Interrupts – I LABS12CINTRO15.pdf Learn fundamentals of interrupt vectors, etc. CW SLK The Bouncing Switch in C Switch Debouncing in C LABS12CINTRO28.pdf Demonstrate switch debouncing and solutions CW SLK Introduction to Interrupts Interrupts – I LABS12CINTRO16.pdf Learn fundamentals of interrupt vectors, etc. CW SLK Sources of Multiple Interrupts Interrupts – II LABS12CINTRO32.pdf Multiple sources of interrupts. CW SLK and scope The Timer – Introduction to Timer Overflows The Timer – Intro to Timer Overflows LABS12CINTRO17.pdf Generating a delay by polling the timer overflow. CW SLK The Timer – Timer Overflow Interrupts The Timer – Timer Overflow Interrupts LABS12CINTRO18.pdf Generating a delay using timer overflow interrupts CW SLK The Timer – Output Compare The Timer – Output Compare LABS12CINTRO19.pdf Waveform generation using output compare and interrupts. CW SLK and scope The Timer – Input Capture The Timer – Input Capture LABS12CINTRO20.pdf Using input capture to measure pulse width CW SLK The Timer – Pulse Accumulator The Timer – Pulse Accumulator LABS12CINTRO21.pdf Using pulse accumulator in event counting and gated time mode CW SLK and signal generator Analog Input using Assembly ATD – I LABSS12CINTRO22.pdf Introduce analog-to-digital conversion CW SLK Analog Input using C ATD – I LABSS12CINTRO26.pdf Introduce analog-to-digital conversion CW SLK Sampling and Resolution for Analog Input ATD- II LABS12CINTRO23.pdf ATD Sampling None None HCS12 A/D Digital I/O ATD – III LABSS12CINTRO24.pdf Digital I/O using the ATD CW SLK COP Coming Soon Using the COP CW SLK MSCAN Coming Soon Using the CAN module CW SLK SERIAL I/O – SCI SCI LABS12CINTRO29.pdf Introduction to SCI CW SLK and terminal SERIAL I/O INTERFACES – RS-232-C SCI-II LABS12CINTRO30.pdf Creating an RS-232-C communication Interface SERIAL I/O – The Serial Peripheral Interface SPI – I LABSS12CINTRO31.pdf Introduction to the SPI CW SLK, scope, SPI device SPI – II Coming Soon LCD CW SLK, LCD Register Listing HCS12C Family Register Listing HCS12C Family LABS12CINTRO25.pdf Complete course files restricted to verified faculty only. Available for download in the Faculty-Portal
Lab exercise supporting the i.MX53QSB for Master Student level student prepared by massimoviolante from the Politecnico of Torino. Complete course file(s) restricted to verified faculty only. Available for download in the Faculty-Portal
Updated: May 7, 2013 - Added 6 new chapters Author(s): Ken Hsu, Rochester Institute of Technology Dan Cheung, Rochester Institute of Technology Sam Skalicky, Rochester Institute of Technology Overview Written using the TWR-K40N512. Most of the knowledge is transferable to any of the Kinetis K family of devices. The Freescale Tower System is a modular development platform that allows rapid prototyping and re-use through interchangeable modules. A few of the modules are serial modules for Ethernet and other serial interfaces, wireless modules, audio modules, and blank proto-boards to build your own circuit. CodeWarrior 10.1 Integrated Development Environment (IDE) is a new version of CodeWarrior based on the Eclipse IDE. It provides features such as instruction level debugging, disassembly, access to device registers while debugging, processor expert, and more. It is designed to be used with Freescale’s latest microcontrollers. Modules Introduction General Purpose I/O Multipurpose Clock Generator Interrupts and Timers Serial I/O I2C Digital to Analog Converter Analog to Digital Converter Analog to Digital Interrupts Flex Timer Module Real Time Clock Cyclic Redundancy Check (CRC) Digital Signal Processing (DSP) [Draft State] Capacitive Touch Complete course files restricted to verified faculty only. Available for download in the Faculty-Portal