Embedded Systems - FS 2018

Size: px
Start display at page:

Download "Embedded Systems - FS 2018"

Transcription

1 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Lab 1 Date : LaunchPad Basic Bare-Metal Programming Goals of this Lab Get to know the MSP-EXP432P401R Learn how to use registers for configuration Get to know and use library functions Implement simple GPIO with peripherals Understand and implement polling Establish a simple UART communication Introduction In this lab session we get to know the development platform MSP-EXP432P401R LaunchPad and the Code Composer Studio (CCS), which are used throughout all ES labs. We will also familiarize ourself with concepts like direct register access, polling and serial communication. The following introduction should give a broad overview of the working environment, but it is not necessary to comprehend all the details to complete this laboratory. The Workspace - Structure and IDE. As a development environment the CCS is used. CCS can be started by typing ccstudio into a terminal. It allows easy integration of the LaunchPad, software, etc. Furthermore, it makes compiling of a whole project a one-click task by generating and executing the necessary makefiles, and features extensive debugging options. CCS Usage The code for the labs can be downloaded from the course website ethz.ch/education/lectures/es/ as zip-file. Figure 4 illustrates how to directly import an existing CCS project from a zip-file into your workspace. Figure 5, 6 and 7 illustrate the most important controls for running and debugging an application. If you are navigating a big project, the context menu allows you to easily find function or variables using the search features of CCS (see Figure 8). Alternatively, you can also use the combination Ctrl+Left Click onto a function or variable name to go to its definition. In addition, CCS includes a terminal (Figure 9, 10 and 11) and several consoles, which give extensive debug and error output. Please always carefully read compile warnings and error messages as they are designed to make development easier and help to identify errors or issues in the code. The features presented here are just a small fraction of the full functionality of the CCS. MSP432P401 The MSP432P401 is a low power mixed signal microprocessor featuring a 32-Bit ARM Cortex M4F CPU. It contains several different memories (flash main memory, information memory, SRAM and ROM) and has the Texas Instruments (TI) MSP432P401 peripherals driver libraries installed. Furthermore, it offers flexible clocking (tune-able clock sources), several timing units (timers, capture and 1

2 compare, Pulse Width Modulation (PWM),...) and serial communication interfaces (Universal Asynchronous Receiver Transmitter (UART), I2C, Serial Peripheral Bus (SPI),...). The MSP432P401 also includes an Analogue to Digital Converter (ADC) unit, analogue comparators and various Input/Output (I/O) pins. MSP-EXP432P401R LaunchPad Development Kit The MSP-EXP432P401R LaunchPad Development Kit is an evaluation module based on the TI MSP432P401 microprocessor. It features simple peripherals (buttons, LEDs, etc.) and the XDS110-ET debug probe. The XDS110-ET debug probe allows direct programming of the target device (in our case the MSP432P401) without the use of an external Figure 1: A basic overview of the MSP-EXP432P401R LaunchPad Development Board (left) and connected to a laptop via USB (right). Figure 2: Block diagrams of the MSP-EXP432P401R LaunchPad Development Board. A general block diagram (left) and one highlighting the XDS110-ET isolation block (right). 2

3 programming device and also gives the opportunity to debug an application and direct communication with the PC. The block diagrams in Figure 2 illustrate the basic structure of the MSP-EXP432P401R. All debug and communication signals run through the XDS110-ET debug probe, therefore there is never a direct connection between the target and the computer. A direct connection between the computer and the MSP432P401 is only possible using an external setup. Furthermore, for high precision tests, it is possible to isolate the target through the J101 Isolation block (jumpers). Embedded System Documentation The most important documents of an embedded system are, among others, Datasheets, Users Guides, Technical Reference Manuals, Application Notes, Erratas or Schematics. These documents are available for... the microprocessor at the manufacturers website, e. g. TI ( components of the microprocessor, e. g. Arm microprocessors IP 1 documentation, hardware boards, e. g. the TI MSP-EXP432P401R LaunchPad, extension peripherals, e. g. the TI BoostXL Sensors booster pack, and its components, for example sensors like the Bosch BMM150 Geomagnetic Sensor, as well as software, e. g. the TI MSP432P401 Peripheral Driver Library, or complementary information in wikis or online fora Therefore, every embedded system comes with a large number of documentation files. For this lab, all the necessary files are provided on the course website lectures/es/ as zip-file. The documentation is needed to determine the pins peripherals are connected to, register addresses and memory mapped peripherals, configuration values for modules, bit masks and their meaning, functionality of modules (e. g. serial communication modules,...) Therefore, often it is essential to have access to all parts of the documentation to be able to use the functionality of an embedded system to its fullest extent.... Bare-Metal Programming Programming bare-metal means to program an embedded system without the use of an underlying Operating System (OS) like Linux, FreeRTOS or similar. Watchdog Timer The watchdog timer is an internal timer unit of an embedded system that will reset the system if it times out. Under normal operation, the system will reset the watchdog timer regularly to prevent it from timing out, but in case of an error, the watchdog timer will reset the device. This is used to prevent a deployed embedded system which cannot be accessed easily (e.g. Mars Rover) from being stuck if an error occurs. In laboratory exercises, the watchdog timer is disabled as the embedded system is easily accessible. Defines, Macros and in-line Functions Preprocessor directives like defines and macros, as well as inline functions, are often used when programming embedded systems to make the code more readable and easier to maintain. Examples for a define, macro and in-line function are given in Snippet 1 and 2. The #define directive, used for defines and macros, is a preprocessor directve that instructs the compiler to replace certain code parts as defined. In contrast to that, the in-line function is just a request to the 1 IP is (in this case) short for Intellectual Property and refers to a ready to use component of a System-on-Chip (SoC), for example a microprocessor, that is provided by a third party vendor (e.g. Arm) and can be integrated by chip manufacturers (e.g. TI). 3

4 compiler. This means, depending on the optimization configuration of the compiler, function calls to inline functions can be replaced with the function body or are treated like normal function calls. However, in contrast to macros, in-line functions are subject to strict parameter checking and are therefore considered to be safer. 0 # define GPIO_PIN0 (0 x0001 ) Snippet 1: Example for a define. 1 inline void lab1_configureuart ( 2 const eusci_uart_config * config 3 ) 4 { 5 // Selecting P1.2 and P1.3 in UART 6 // mode 7 GPIO_setAsPeripheralModuleFunctionOutputPin 8 ( 9 GPIO_PORT_P1, 10 GPIO_PIN2 GPIO_PIN3, 11 GPIO_PRIMARY_MODULE_FUNCTION 12 ); 13 // Configuring UART Module 14 UART_initModule ( UART_INTERFACE, config ); 15 // Enable UART module 16 UART_enableModule ( UART_INTERFACE ); 17 } 1 # define MACRO_lab1_configureUART ( \ 2 config \ 3 ) \ 4 { \ 5 /* Selecting P1.2 and P1.3 in UART */ \ 6 /* mode */ \ 7 GPIO_setAsPeripheralModuleFunctionOutputPin \ 8 ( \ 9 GPIO_PORT_P1, \ 10 GPIO_PIN2 GPIO_PIN3, \ 11 GPIO_PRIMARY_MODULE_FUNCTION \ 12 ); \ 13 /* Configuring UART Module */ \ 14 UART_initModule ( EUSCI_A0_BASE, config ); \ 15 /* Enable UART module \ 16 UART_enableModule ( EUSCI_A0_BASE ); */ \ 17 } Snippet 2: Examples for an in-line function (left) and a macro (right). Clicker Questions 1. To which General Purpose Input Output (GPIO) Port are the LED1 and LED2 connected? (Hint: Check the Schematic Pages 1 and 2) (a) Port 1 & Port 3 (b) Port 2 & Port 4 (c) Port 1 & Port 2 (d) Port 3 & Port 4 2. Using C, which of the following operation allows toggling of the LSB of an 8-bit integer X? (a) X ˆ 0x01 (b) X & 0x01 (c) X 0x01 (d) X && 0x01 3. What is the declaration of the function I2C_initSlave()? (Hint: DriverLib Users Guide Section ) (a) I2C_initSlave( uint16_t moduleinstance, uint_16_t slaveaddress, uint_8_t slaveaddressoffset, uint32_t slaveownaddressenable ) (b) void I2C_initSlave( uint32_t slaveownaddressenable, uint_fast16_t slaveaddress, uint_fast8_t slaveaddressoffset, uint32_t moduleinstance ) 4

5 (c) void I2C_initSlave( uint_fast16_t slaveaddress, uint_fast8_t slaveaddressoffset, uint_fast32_t moduleinstance, uint_fast32_t slaveownaddressenable ) (d) void I2C_initSlave( uint32_t moduleinstance, uint_fast16_t slaveaddress, uint_fast8_t slaveaddressoffset, uint32_t slaveownaddressenable ) 4. What is the UART module baud rate divider (BRDIV) for a baud rate of 4800 at low frequency baud rate generation, using the default setting of SMCLK as Clock Source? (Hint: LaunchPad Users Guide Section 2, Mode_Selection) (a) 312 (b) 625 (c) 39 (d) Which of the following statements is not zero, when for the pins 5 or 7 of Port 2 the primary or tertiary module function is enabled? (Hint: Datasheet Table 6-1 & Technical Reference Manual Chapter 10 on PxSEL0 and PxSEL1) (a) HWREG8(0x40004C00 + 0x0C) & 0x75 (b) HWREG8(0x x2B) & 0xA0 (c) HWREG8(0x40004C00 + 0x0B) & 0xA0 (d) HWREG8(0x x4A) & 0x75 Task 1: Flashing, Library Usage and Simple I/O Using the CCS we can easily establish the connection to a MSP-EXP432P401R connected via USB and program it. In this task you will learn how to flash a functioning application using GPIO functions onto the chip. Furthermore, you will learn how to alter and extend the application using library functions. Recap 1: General Purpose Input Output (GPIO) The GPIO pins can be configured either as input or output. GPIO pins can be used to drive peripherals (i.e. LEDs, small actuators, switches) or read inputs (i.e. sensors, buttons). Task 1.1: Flashing an Application Download lab1.zip from the course website. Open the CCS and import lab1.zip to your workspace (see Figure 4). Connect the LaunchPad to the computer. Build and flash the application using the Debug button. Any warnings can be ignored at this point as they are only relevant in Task 3. Note that the CCS is changing to the debug view. Start the execution and observe the functionality of the program. What is the purpose of the application? 5

6 Task 1.2: Using Library Functions instead of Hard-Coded Register Access In this task we want to use library functions instead of any hard-coded register access. Please follow the instructions below: 1 # define REGBASEADR (( uint32_t )(0 x40004c00 )) // Base addr. of Port 1 configuration register 2 # define REGOFS_SEL0 (( uint32_t )(0 x a )) // Addr. Offset for Select0 - Register in Port 1 3 # define REGOFS_SEL1 (( uint32_t )(0 x c )) // Select1 offset in Port 1 conf. reg. 4 # define REGOFS_DIR (( uint32_t )(0 x )) // Direction offset in Port 1 conf. reg. 5 # define REGOFS_OUTV (( uint32_t )(0 x )) // Output Value offset in Port 1 conf. reg. Snippet 3: Defines used in Task 1.1 which cannot be used anymore in Task 1.2. Recap 2: Register Access When programming embedded systems it is possible to directly access special registers to allow low level hardware configurations. This can either be done through macros using addresses (see Snippet 4) or predefined structs (see Snippet 5). In many cases, manufacturers provide so called Hardware Abstraction Layer (HAL) or drivers to make register access easier when doing bare-metal programming or using an OS. Create a file called task_1_2.c and copy the code from task_1_1.c to task_1_2.c. Change the function name in task_1_2.c from task_1_1() to task_1_2(). Change the function call in main() to call task_1_2(). A declaration of the function is already provided in lab1.h. Add the include for the ESLab1driverLib (#include "ESLab1driverLib/driverlib.h") in task_1_2.c. Open the gpio.h and gpio.c files in the ESLab1driverLib directory. In these files you can search for the corresponding library functions and defines to replace the direct register access commands (HWREG16()) in task_1_2.c with the right library function calls. The function task_1_2() has to have exactly the same functionality as task_1_1(), without using any of the defines used in Task 1.1 (see Snippet 3) or direct calls to the HWREGXX macros from task_1_1(). What is the advantage of using library functions and defines instead of direct register access? Task 1.3: Adding a blinking LED Now we want to use LED2, which is a RGB LED. This means, in contrast to LED1, the RGB LED has three inputs which can be activated separately to get red, green, blue or any mix of these three colours. Please follow the instructions below: Create a file called task_1_3.c and copy the code from task_1_2.c to task_1_3.c. Change the function name in task_1_3.c from task_1_2() to task_1_3(). Change the function call in main() to call task_1_3(). A declaration of the function is already provided in lab1.h. Identify the ports and pins, the RGB LED is connected to, in the LaunchPad schematics. Configure the pin connected to red of the RGB LED as output. Implement the blinking, such that the red of the RGB LED blinks alternating to LED1. 6

7 Figure 3: Schematic of a pull-up (left) and pull-down resistor. Task 2: GPIO Pins as Inputs with Polling GPIO pins can also be used for input. In this task, we want to configure multiple GPIO inputs to enable user interaction using the two buttons S1 and S2 on the MSP-EXP432P401R. In order to avoid a so Recap 3: Polling Continuously sampling a certain information (i. e. register or input) is called polling. This can be used to assess the status of a peripheral or internal status informations or simply read information. called floating pin, pull-up or pull-down resistors are used. A pin is called floating when there is no fixed voltage level connected to the pin, which can lead to unexpected behaviour if the pin is read. In Figure 3 the two concepts of pull-up and pull-down resistors are illustrated. A pull-up resistor will make sure the pin is on high voltage level when the button is not pressed (open circuit) and on low if the button is pressed (short circuit). The pull-down resistor works vice versa. Task 2.1: Identifying the GPIO Configuration Create a file called task_2_2.c and copy the code from task_1_3.c to task_2_2.c. Change the function name in task_2_2.c from task_1_3() to task_2_2(). Change the function call in main() to call task_2_2(). A declaration of the function is already provided in lab1.h. Check the LaunchPad schematics and identify the ports and pins the buttons S1 and S2 are connected to. Configure the pins connected to the buttons S1 and S2 as inputs. Consider whether to use Pull-Up, Pull-Down or no pulling resistor (Hint: Schematic). Task 2.2: Implement Button Polling Use polling inside the while-loop (placeholder 1) to read the button status. 7

8 If button S1 is pressed the green RGB LED has to be on and if S2 is pressed the blue RGB LED has to be on. The red LED1 and red RGB LED must still blink alternatingly. Can you observe any difference in terms of blinking frequency compared to task_1_3.c? What about the reaction time of the buttons S1 and S2? Task 2.3: When should we Poll? Create a file called task_2_3.c and copy the code from task_2_2.c to task_2_3.c. Change the function name in task_2_3.c from task_2_2() to task_2_3(). Change the function call in main() to call task_2_3(). A declaration of the function is already provided in lab1.h. Move the polling into the for-loop (placeholder 2). Rebuild, flash and start the program. Which changes in terms of blinking frequency and button reaction time can you observe now, compared to task_1_3.c and task_2_2.c? What are the upsides of the implementations in Task 2.2 and Task 2.3? Can you think of a way to implement polling sucht that there is no influence on the blinking frequency and the button reaction time is minimized? Task 3: Simple UART output (Optional) Recap 4: Universal Asynchronous Receiver Transmitter (UART) UART is an asynchronous serial communication protocol. The sender and the receiver have to agree on a transmission rate and packet format before any communication can happen. The data is transmitted in packets of 6 to 9 bits per packet. Additionally, a packet consist of a start bit, one or two stop bits and optionally parity bits (see Figure 12). Figure 13 shows the block diagram of the transmit part of one of the MSP432P401 peripheral modules capable of UART communication. It allows clock source selection, clock sub-sampling to generate the proper baud rate clock and output data buffers. As a final task we will use UART to send a message to the Computer whenever one of the buttons is pressed. Task 3.1: Calculating the UART Parameters Recap 5: UART Configuration Shorthand Notation The most common UART configuration is often given with its shorthand notation 8N1. It defines the packet structure as follows: (a) 8 Bits per Packet (b) No Parity bits (c) 1 Stop bit 8

9 HINT: The calculations done in this tasks are similar to the ones in the clicker question. However, the parameters are NOT the same. Create a file called task_3.c and copy the code from task_2_3.c to task_3.c. Change the function name in task_3.c from task_2_3() to task_3(). Change the function call in main() to call task_3(). A declaration of the function is already provided in lab1.h. Use the datasheet to identify whether eusci_a, eusci_b or either of the two module types could be used for the UART connection. (Hint: check the eusci modules in the MSP432P401 Reference Manual Chapters 22 to 24) Determine the default setting for the SMCLK as clock source (Hint: MSP-EXP432P401R User Manual Chapter 2). Get the SMCLK frequency from the LaunchPad User Guide and calculate the UART parameters for a baud rate of 4800 using Rate_Gen_Mode_Selection. Task 3.2: Implementing UART Output Insert the parameters determined in Task 3.1 into the prepared struct in lab1.h (lines 83 to 94) and set following configuration: 8N1 with LSB first. Insert the necessary commands to enable the UART output. You can use the provided lab1_configureuart() and uart_println inline functions from lab1.h to configure and use the UART interface. Start the program and open a terminal in CCS to observe the UART input (see Figure 9, 11 and 10). Can you think of a better method to register button presses instead of polling to save resources and avoid duplicated output messages? 9

10 Appendix Figure 4: How to import a CCS project into your workspace in the CCS using the Import Wizard (File Import). If the source code should be copied to the workspace, the corresponding check mark has to be set. Figure 5: The standard view of the CCS. The button to build and start debugging a project is marked with a blue circle. 10

11 Figure 6: The debug view of the CCS. Figure 7: Control buttons for debugging in the CCS Debug View. From left to right: Start/Continue Execution, Pause Execution, Terminate Execution, Step In, Step Over, Step Out. 0 /* ***************************************************************************** 1 * Definitions for 8/16/32 - bit wide memory access * 2 ***************************************************************************** */ 3 # define HWREG8 (x) (*(( volatile uint8_t *)(x))) 4 # define HWREG16 (x) (*(( volatile uint16_t *)(x))) 5 # define HWREG32 (x) (*(( volatile uint32_t *)(x))) 6 # define HWREG (x) ( HWREG16 (x)) 7 # define HWREG8_L (x) (*(( volatile uint8_t *) (( uint8_t *)&x))) 8 # define HWREG8_H (x) (*(( volatile uint8_t *) ((( uint8_t *)&x) +1) )) 9 # define HWREG16_L (x) (*(( volatile uint16_t *) (( uint16_t *)&x))) 10 # define HWREG16_H (x) (*(( volatile uint16_t *) ((( uint16_t *)&x) +1) )) Snippet 4: Examples for register access macros using addresses. 11

12 Figure 8: The context menu in CCS allows easy code browsing with searches (Declarations, References, Search Text) or other commands (i.e. Open Declaration). It opens by right-clicking a function or a variable. Alternatively, one can also use the sequence Ctrl+Left Click. Figure 9: To open the terminal view, go to View Terminal. Figure 10: The terminal view opens in the lower right corner where a new terminal view can be opened. Figure 11: The menu opened after pressing the new terminal button allows the configuration of the serial connection. 12

13 0 typedef struct { 1 IO uint16_t CTLW0 ; /*! < eusci_ax Control Word Register 0 */ 2 IO uint16_t CTLW1 ; /*! < eusci_ax Control Word Register 1 */ 3 uint16_t RESERVED0 ; 4 IO uint16_t BRW ; /*! < eusci_ax Baud Rate Control Word Register */ 5 IO uint16_t MCTLW ; /*! < eusci_ax Modulation Control Word Register */ 6 IO uint16_t STATW ; /*! < eusci_ax Status Register */ 7 I uint16_t RXBUF ; /*! < eusci_ax Receive Buffer Register */ 8 IO uint16_t TXBUF ; /*! < eusci_ax Transmit Buffer Register */ 9 IO uint16_t ABCTL ; /*! < eusci_ax Auto Baud Rate Control Register */ 10 IO uint16_t IRCTL ; /*! < eusci_ax IrDA Control Word Register */ 11 uint16_t RESERVED1 [3]; 12 IO uint16_t IE; /*! < eusci_ax Interrupt Enable Register */ 13 IO uint16_t IFG ; /*! < eusci_ax Interrupt Flag Register */ 14 I uint16_t IV; /*! < eusci_ax Interrupt Vector Register */ 15 } EUSCI_A_Type ; 0 return EUSCI_A_CMSIS ( moduleinstance ) -> RXBUF ; Snippet 5: Examples for an register access struct and its usage taken from the UART_receiveData() function. Figure 12: UART Packet Structure. Figure 13: Block diagram of the receive part of a UART module of MSP432P

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Lab 1 Date : 14.3.2018 LaunchPad Basic Bare-Metal Programming Goals of this Lab

More information

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Lab 0 Date : 28.2.2018 Prelab Filling the gaps Goals of this Lab You are expected to be already familiar

More information

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Sample solution to Lab 0 Date : 28.2.2018 Prelab Filling the gaps Goals of this Lab You are expected

More information

Embedded Systems. 3. Hardware Software Interface. Lothar Thiele. Computer Engineering and Networks Laboratory

Embedded Systems. 3. Hardware Software Interface. Lothar Thiele. Computer Engineering and Networks Laboratory Embedded Systems 3. Hardware Software Interface Lothar Thiele Computer Engineering and Networks Laboratory Do you Remember? 3 2 3 3 High Level Physical View 3 4 High Level Physical View 3 5 What you will

More information

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives:

ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: ECGR 4101/5101, Fall 2016: Lab 1 First Embedded Systems Project Learning Objectives: This lab will introduce basic embedded systems programming concepts by familiarizing the user with an embedded programming

More information

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I.

University of Texas at El Paso Electrical and Computer Engineering Department. EE 3176 Laboratory for Microprocessors I. University of Texas at El Paso Electrical and Computer Engineering Department EE 3176 Laboratory for Microprocessors I Fall 2016 LAB 08 UART Communication Goals: Learn about UART Communication and the

More information

Universal Asynchronous Receiver / Transmitter (UART)

Universal Asynchronous Receiver / Transmitter (UART) Universal Asynchronous Receiver / Transmitter (UART) MSP432 UART 2 tj MSP432 UART ARM (AMBA Compliant) Asynchronous operation 7/8 bit transmission Master/Slave LSB/MSB first Separate RX/TX registers 4

More information

Two Wire Interface (TWI) also commonly called I2C

Two Wire Interface (TWI) also commonly called I2C (TWI) also commonly called I2C MSP432 I2C 2 tj MSP432 I2C ARM (AMBA Compliant) 8 bit transmission word 7/10 bit addressing Multi-master/slave modes 4 slave addresses 4 eusci-b modules 3 tj Overview 8 bit

More information

Using Code Composer Studio IDE with MSP432

Using Code Composer Studio IDE with MSP432 Using Code Composer Studio IDE with MSP432 Quick Start Guide Embedded System Course LAP IC EPFL 2010-2018 Version 1.2 René Beuchat Alex Jourdan 1 Installation and documentation Main information in this

More information

Section Objective: Acquaint with specifications of Launchpad Acquaint with location of switches, LEDs, power-on switch, powering the board.

Section Objective: Acquaint with specifications of Launchpad Acquaint with location of switches, LEDs, power-on switch, powering the board. Lab-0: Getting started with Tiva C Series Launchpad and Code Composer Studio IDE ERTS Lab, CSE Department IIT Bombay Lab Objective: 1. 2. 3. 4. Familiarization with Tiva C series Launchpad Install Code

More information

Serial Peripheral Interface (SPI) Last updated 8/7/18

Serial Peripheral Interface (SPI) Last updated 8/7/18 Serial Peripheral Interface (SPI) Last updated 8/7/18 MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB

More information

Embedded Systems - FS 2018

Embedded Systems - FS 2018 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Embedded Systems - FS 2018 Embedded System Companion Introduction As its name indicates, the Embedded System Companion has been

More information

I Introduction to Real-time Applications By Prawat Nagvajara

I Introduction to Real-time Applications By Prawat Nagvajara Electrical and Computer Engineering I Introduction to Real-time Applications By Prawat Nagvajara Synopsis This note is an introduction to a series of nine design exercises on design, implementation and

More information

Lab 1 Introduction to Microcontroller

Lab 1 Introduction to Microcontroller Lab 1 Introduction to Microcontroller Feb. 2016 1 Objective 1. To be familiar with microcontrollers. 2. Introducing LPC2138 microcontroller. 3. To be familiar with Keil and Proteus software tools. Introduction

More information

Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015.

Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen A. Zajac & Gregory M. Wierzba. All rights reserved..spring 2015. Copyright 2015 by Stephen

More information

Resource 2 Embedded computer and development environment

Resource 2 Embedded computer and development environment Resource 2 Embedded computer and development environment subsystem The development system is a powerful and convenient tool for embedded computing applications. As shown below, the development system consists

More information

MSP430 Interface to LMP91000 Code Library

MSP430 Interface to LMP91000 Code Library Application Note 2230 Vishy Viswanathan July 13, 2012 MSP430 Interface to LMP91000 Code 1.0 Abstract The MSP430 is an ideal microcontroller solution for low-cost, low-power precision sensor applications

More information

Experiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh

Experiment 1. Development Platform. Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh Experiment 1 Development Platform Ahmad Khayyat, Hazem Selmi, Saleh AlSaleh Version 162, 13 February 2017 Table of Contents 1. Objectives........................................................................................

More information

Lab Course Microcontroller Programming

Lab Course Microcontroller Programming Technische Universität München Fakultät für Informatik Forschungs- und Lehreinheit Informatik VI Robotics and Embedded Systems Lab Course Microcontroller Programming Michael Geisinger geisinge@in.tum.de

More information

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio ECE2049 Embedded Computing in Engineering Design Lab 0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab, you will be introduced to the Code Composer Studio

More information

Faculty of Engineering and Information Technology Embedded Software. Lab 3 Interrupts and Timers

Faculty of Engineering and Information Technology Embedded Software. Lab 3 Interrupts and Timers Faculty of Engineering and Information Technology Subject: 48434 Embedded Software Assessment Number: 3 Assessment Title: Lab 3 Interrupts and Timers Tutorial Group: Students Name(s) and Number(s) Student

More information

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang,

Network Embedded Systems Sensor Networks Fall Hardware. Marcus Chang, Network Embedded Systems Sensor Networks Fall 2013 Hardware Marcus Chang, mchang@cs.jhu.edu 1 Embedded Systems Designed to do one or a few dedicated and/or specific functions Embedded as part of a complete

More information

TUTORIAL Auto Code Generation for F2803X Target

TUTORIAL Auto Code Generation for F2803X Target TUTORIAL Auto Code Generation for F2803X Target August 2017 1 PSIM s SimCoder Module, combined with the F2803x Hardware Target, can generate ready-to-run code from a PSIM control schematic for hardware

More information

TUTORIAL Auto Code Generation for F2806X Target

TUTORIAL Auto Code Generation for F2806X Target TUTORIAL Auto Code Generation for F2806X Target October 2016 1 PSIM s SimCoder Module, combined with the F2806x Hardware Target, can generate ready to run code from a PSIM control schematic for hardware

More information

PSIM Tutorial. How to Use SCI for Real-Time Monitoring in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SCI for Real-Time Monitoring in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SCI for Real-Time Monitoring in F2833x Target February 2013-1 - With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil P Khatri (Lab exercise created and tested by Ramu Endluri, He Zhou, Andrew Douglass

More information

F28069 ControlCard Lab1

F28069 ControlCard Lab1 F28069 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f28069\v135

More information

F28335 ControlCard Lab1

F28335 ControlCard Lab1 F28335 ControlCard Lab1 Toggle LED LD2 (GPIO31) and LD3 (GPIO34) 1. Project Dependencies The project expects the following support files: Support files of controlsuite installed in: C:\TI\controlSUITE\device_support\f2833x\v132

More information

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems

PD215 Mechatronics. Week 3/4 Interfacing Hardware and Communication Systems PD215 Mechatronics Week 3/4 Interfacing Hardware and Communication Systems Interfacing with the physical world A compute device (microprocessor) in mechatronic system needs to accept input information

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Stefan Kowalewski, 4. November 25 Introduction to Embedded Systems Part 2: Microcontrollers. Basics 2. Structure/elements 3. Digital I/O 4. Interrupts 5. Timers/Counters Introduction to Embedded Systems

More information

CSCE374 Robotics Fall 2013 Notes on the irobot Create

CSCE374 Robotics Fall 2013 Notes on the irobot Create CSCE374 Robotics Fall 2013 Notes on the irobot Create This document contains some details on how to use irobot Create robots. 1 Important Documents These notes are intended to help you get started, but

More information

ArduCAM CC3200 UNO board

ArduCAM CC3200 UNO board ArduCAM CC3200 UNO board User Guide Rev 1.2, Mar 2017 Table of Contents 1 Introduction... 2 2 Features... 3 3 Pin Definition... 4 4 Getting Started CC3200 with Energia... 5 4.1 Out of the Box Test... 5

More information

Quick Start Guide for the Turbo upsd DK3300-ELCD Development Kit- RIDE

Quick Start Guide for the Turbo upsd DK3300-ELCD Development Kit- RIDE Contents: Circuit Board upsd DK3300-ELCD Development Board with a upsd3334d-40u6 MCU with Enhanced Graphic LCD RLINK-ST, a USB-based JTAG adapter from Raisonance for debugging with Raisonance Integrate

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F560 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG

EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG EMBEDDED SYSTEMS WITH ROBOTICS AND SENSORS USING ERLANG Adam Lindberg github.com/eproxus HARDWARE COMPONENTS SOFTWARE FUTURE Boot, Serial console, Erlang shell DEMO THE GRISP BOARD SPECS Hardware & specifications

More information

ELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller

ELEC 3040/3050 Lab Manual Lab 2 Revised 8/20/14. LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller LAB 2: Developing and Debugging C Programs in MDK-ARM for the STM32L100RC Microcontroller The objective of this laboratory session is to become more familiar with the process for creating, executing and

More information

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05

Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop. Version 1.05 Getting Started With the Stellaris EK-LM4F120XL LaunchPad Workshop Version 1.05 Agenda Introduction to ARM Cortex Cortex -M4F M4F and Peripherals Code Composer Studio Introduction to StellarisWare, I iti

More information

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX

Read section 8 of this document for detailed instructions on how to use this interface spec with LibUSB For OSX CP2130 INTERFACE SPECIFICATION 1. Introduction The Silicon Labs CP2130 USB-to-SPI bridge is a device that communicates over the Universal Serial Bus (USB) using vendor-specific control and bulk transfers

More information

WS_CCESBF7-OUT-v1.00.doc Page 1 of 8

WS_CCESBF7-OUT-v1.00.doc Page 1 of 8 Course Name: Course Code: Course Description: System Development with CrossCore Embedded Studio (CCES) and the ADSP-BF70x Blackfin Processor Family WS_CCESBF7 This is a practical and interactive course

More information

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University Prof. Sunil Khatri TA: Monther Abusultan (Lab exercises created by A. Targhetta / P. Gratz)

More information

ECE2049 Embedded Computing in Engineering Design. Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio

ECE2049 Embedded Computing in Engineering Design. Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio ECE2049 Embedded Computing in Engineering Design Lab #0 Introduction to the MSP430F5529 Launchpad-based Lab Board and Code Composer Studio In this lab you will be introduced to the Code Composer Studio

More information

S32 SDK for Power Architecture Release Notes Version EAR

S32 SDK for Power Architecture Release Notes Version EAR S32 SDK for Power Architecture Release Notes Version 0.8.0 EAR 2017 NXP Contents 1. DESCRIPTION...3 2. SOFTWARE CONTENTS...4 3. DOCUMENTATION...4 4. EXAMPLES...5 5. SUPPORTED HARDWARE AND COMPATIBLE SOFTWARE...6

More information

NIOS CPU Based Embedded Computer System on Programmable Chip

NIOS CPU Based Embedded Computer System on Programmable Chip 1 Objectives NIOS CPU Based Embedded Computer System on Programmable Chip EE8205: Embedded Computer Systems This lab has been constructed to introduce the development of dedicated embedded system based

More information

Developing Reusable Device Drivers for MCU's

Developing Reusable Device Drivers for MCU's Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog

More information

Nano RK And Zigduino. wnfa ta course hikaru4

Nano RK And Zigduino. wnfa ta course hikaru4 Nano RK And Zigduino wnfa ta course hikaru4 Today's outline Zigduino v.s. Firefly Atmel processor and the program chip I/O Interface on the board Atmega128rfa1, FTDI chip... GPIO, ADC, UART, SPI, I2C...

More information

Code Composer Studio. MSP Project Setup

Code Composer Studio. MSP Project Setup Code Composer Studio MSP Project Setup Complete the installation of the Code Composer Studio software using the Code Composer Studio setup slides Start Code Composer Studio desktop shortcut start menu

More information

CN310 Microprocessor Systems Design

CN310 Microprocessor Systems Design CN310 Microprocessor Systems Design Microcontroller Nawin Somyat Department of Electrical and Computer Engineering Thammasat University Outline Course Contents 1 Introduction 2 Simple Computer 3 Microprocessor

More information

MSP430 Interface to LMP91000 Code Library

MSP430 Interface to LMP91000 Code Library MSP430 Interface to LMP91000 Code Library 1.0 Abstract The MSP430 is an ideal microcontroller solution for low-cost, low-power precision sensor applications because it consumes very little power. The LMP91000

More information

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

Familiarity with data types, data structures, as well as standard program design, development, and debugging techniques. EE 472 Lab 1 (Individual) Introduction to C and the Lab Environment University of Washington - Department of Electrical Engineering Introduction: This lab has two main purposes. The first is to introduce

More information

Final Exam Study Guide

Final Exam Study Guide Final Exam Study Guide Part 1 Closed book, no crib sheet Part 2 Open book, open notes, calculator (no laptops, phones, devices with screens larger than a TI-89 calculator, devices with wireless communication).

More information

AGH University of Science and Technology Cracow Department of Electronics

AGH University of Science and Technology Cracow Department of Electronics AGH University of Science and Technology Cracow Department of Electronics Microcontroller Lab Tutorial 1 Microcontrollers programming in C Author: Paweł Russek http://www.fpga.agh.edu.pl/ml ver. 3.10.16

More information

Section 2: Getting Started with a FPU Demo Project using EK-LM4F232

Section 2: Getting Started with a FPU Demo Project using EK-LM4F232 Stellaris ARM Cortex TM -M4F Training Floating Point Unit Section 2: Getting Started with a FPU Demo Project using EK-LM4F232 Stellaris ARM Cortex TM -M4F Training: Floating Point Unit Section 2 Page 1

More information

Application Note. Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date:

Application Note. Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date: Title: Incorporating HMT050CC-C as a Digital Scale Display by: A.S. Date: 2014-08-04 1. Background This document shall describe how a user can create the Graphical User Interface of a high-end digital

More information

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015

EMBEDDED SYSTEMS: Jonathan W. Valvano INTRODUCTION TO THE MSP432 MICROCONTROLLER. Volume 1 First Edition June 2015 EMBEDDED SYSTEMS: INTRODUCTION TO THE MSP432 MICROCONTROLLER Volume 1 First Edition June 2015 Jonathan W. Valvano ii Jonathan Valvano First edition 3 rd printing June 2015 The true engineering experience

More information

Introduction to Arduino. Wilson Wingston Sharon

Introduction to Arduino. Wilson Wingston Sharon Introduction to Arduino Wilson Wingston Sharon cto@workshopindia.com Physical computing Developing solutions that implement a software to interact with elements in the physical universe. 1. Sensors convert

More information

Exercise: PWM Generation using the N2HET

Exercise: PWM Generation using the N2HET Exercise: PWM Generation using the N2HET 1 Overview In this exercise we will: Create a new HALCoGen Project Configure HALCoGen to generate A basic PWM with a period of 1 second and a duty cycle of 75%

More information

ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class)

ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class) ECE2049 Homework #2 The MSP430 Architecture & Basic Digital IO (DUE Friday 9/8/17 at 4 pm in class) Your homework should be neat and professional looking. You will loose points if your HW is not properly

More information

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O

ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O ECE2049-E17 Lecture 4 1 ECE2049 E17 Lecture 4 MSP430 Architecture & Intro to Digital I/O Administrivia Homework 1: Due today by 7pm o Either place in box in ECE office or give to me o Office hours tonight!

More information

pcduino V3B XC4350 User Manual

pcduino V3B XC4350 User Manual pcduino V3B XC4350 User Manual 1 User Manual Contents Board Overview...2 System Features...3 Single-Board Computer Configuration......3 Pin Assignments...4 Single-Board Computer Setup...6 Required Hardware...6

More information

Unlocking the Potential of Your Microcontroller

Unlocking the Potential of Your Microcontroller Unlocking the Potential of Your Microcontroller Ethan Wu Storming Robots, Branchburg NJ, USA Abstract. Many useful hardware features of advanced microcontrollers are often not utilized to their fullest

More information

Interconnects, Memory, GPIO

Interconnects, Memory, GPIO Interconnects, Memory, GPIO Dr. Francesco Conti f.conti@unibo.it Slide contributions adapted from STMicroelectronics and from Dr. Michele Magno, others Processor vs. MCU Pipeline Harvard architecture Separate

More information

Lecture 1: Introduction to Microprocessors

Lecture 1: Introduction to Microprocessors ECE342 Digital II Lecture 1: Introduction to Microprocessors Dr. Ying (Gina) Tang Electrical and Computer Engineering Rowan University 1 What is a microprocessor Informally, a microprocessor (µp) is the

More information

CprE 288 Introduction to Embedded Systems (Project and Platform Overview)

CprE 288 Introduction to Embedded Systems (Project and Platform Overview) CprE 288 Introduction to Embedded Systems (Project and Platform Overview) Instructor: Dr. Phillip Jones http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements What are Embedded

More information

6. General purpose Input/Output

6. General purpose Input/Output Chapter 6 6. General purpose Input/Output This chapter starts with a description of one of the simplest integrated peripherals of the MSP430 the General Purpose 8-bit Input Output (GPIO). The Input/Output

More information

(Embedded) Systems Programming Overview

(Embedded) Systems Programming Overview System Programming Issues EE 357 Unit 10a (Embedded) Systems Programming Overview Embedded systems programming g have different design requirements than general purpose computers like PC s I/O Electro-mechanical

More information

Emulating I2C Bus Master by using FlexIO

Emulating I2C Bus Master by using FlexIO Freescale Semiconductor, Inc. Document Number: AN5133 Application Notes Rev. 0, 06/2015 Emulating I2C Bus Master by using FlexIO 1. Introduction This application note lists the steps to use the FlexIO

More information

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick

Figure 1. Proper Method of Holding the ToolStick. Figure 2. Improper Method of Holding the ToolStick TOOLSTICK C8051F330 DAUGHTER CARD USER S GUIDE 1. Handling Recommendations To enable development, the ToolStick Base Adapter and daughter cards are distributed without any protective plastics. To prevent

More information

System Framework Overview Guide and Instructions on How to Use the Template Projects

System Framework Overview Guide and Instructions on How to Use the Template Projects System Framework Overview Guide and Instructions on How to Use the Template Projects Brett Larimore and Manish Bhardwaj C2000 Systems and Applications Team Version 2.0 May 2008 Revised September 2010 The

More information

Low-Cost Microcontrollers

Low-Cost Microcontrollers Low-Cost Microcontrollers Examples and Applications for Embedded Systems João Carlos Martins joao.martins@ipbeja.pt Engineering Dept 1st Workshop on Applied Signal Processing IPBeja 15th May 2014 Outline

More information

Lab 1: I/O, timers, interrupts on the ez430-rf2500

Lab 1: I/O, timers, interrupts on the ez430-rf2500 Lab 1: I/O, timers, interrupts on the ez430-rf2500 UC Berkeley - EE 290Q Thomas Watteyne January 25, 2010 1 The ez430-rf2500 and its Components 1.1 Crash Course on the MSP430f2274 The heart of this platform

More information

LinkSprite Technologies,.Inc. pcduino V2

LinkSprite Technologies,.Inc. pcduino V2 1 2 Contents Board Overview...3 System Features...4 Single-Board Computer Configuration...5 Pin Assignments...7 Single-Board Computer Setup...9 Required Hardware...9 Optional Hardware...9 Adjusting Screen

More information

Laboratory Hardware and Tools

Laboratory Hardware and Tools Experiment 1 Laboratory Hardware and Tools Each day, our lives become more dependent on embedded systems, digital information technology that is embedded in our environment. Try making a list and counting

More information

Introduction to Embedded System Design using Zynq

Introduction to Embedded System Design using Zynq Introduction to Embedded System Design using Zynq Zynq Vivado 2015.2 Version This material exempt per Department of Commerce license exception TSU Objectives After completing this module, you will be able

More information

Homework 9: Software Design Considerations

Homework 9: Software Design Considerations Homework 9: Software Design Considerations Team Code Name: Mind Readers Group No. 2 Team Member Completing This Homework: Richard Schuman E-mail Address of Team Member: _rschuman_ @ purdue.edu Evaluation:

More information

Embedded Systems Laboratory Manual ARM 9 TDMI

Embedded Systems Laboratory Manual ARM 9 TDMI Embedded Systems Laboratory Manual ARM 9 TDMI 1. Laboratory Rules a) Laboratory assessment: Presence during the laboratory is mandatory. One time unexcused absence is allowed within the semester. Students

More information

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc.

PSIM Tutorial. How to Use SPI in F2833x Target. February Powersim Inc. PSIM Tutorial How to Use SPI in F2833x Target February 2013-1 - Powersim Inc. With the SimCoder Module and the F2833x Hardware Target, PSIM can generate ready-to-run codes for DSP boards that use TI F2833x

More information

_ V Intel 8085 Family In-Circuit Emulation. Contents. Technical Notes

_ V Intel 8085 Family In-Circuit Emulation. Contents. Technical Notes _ V9.12. 225 Technical Notes Intel 8085 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document assumes knowledge

More information

SKP16C26 Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

SKP16C26 Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc. SKP16C26 Tutorial 1 Software Development Process using HEW Renesas Technology America Inc. 1 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW (Highperformance

More information

Getting Started in C Programming with Keil MDK-ARM Version 5

Getting Started in C Programming with Keil MDK-ARM Version 5 Getting Started in C Programming with Keil MDK-ARM Version 5 Reason for Revision This document was revised for Keil MDK-ARM v5.14 on February 18, 2015. This document was revised for MSP432 LaunchPad on

More information

Application Note: AN00144 xcore-xa - xcore ARM Boot Library

Application Note: AN00144 xcore-xa - xcore ARM Boot Library Application Note: AN00144 xcore-xa - xcore ARM Boot Library This application note shows how to create a simple application which targets the XMOS xcore-xa device and demonstrates how to build and run this

More information

Getting Started in C Programming with Keil MDK-ARM Version 5

Getting Started in C Programming with Keil MDK-ARM Version 5 Getting Started in C Programming with Keil MDK-ARM Version 5 Reason for Revision This document was revised for Keil MDK-ARM v5.14 on February 18, 2015. This document was revised for MSP432 LaunchPad on

More information

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter

AC/DC. Adapter. Ribbon. Cable Serial. Serial. Adapter. Figure 1. Hardware Setup using an EC2 Serial Adapter C8051F32X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F32x Development Kit contains the following items: C8051F320 Target Board C8051Fxxx Development Kit Quick-Start Guide C8051F32x Development

More information

Input/Output Programming

Input/Output Programming Input/Output Programming Chapter 3: Section 3.1, 3.2 Input and output (I/O) programming Communicating with I/O devices Busy-wait I/O Interrupt-driven I/O I/O devices Devices may include digital and non-digital

More information

UM2092 User manual. Basic metrology firmware for the STM32F103RD and the STPM32 devices. Introduction

UM2092 User manual. Basic metrology firmware for the STM32F103RD and the STPM32 devices. Introduction User manual Basic metrology firmware for the STM32F103RD and the STPM32 devices Introduction The following document describes a firmware for the STM32F103RD microcontroller to manage the STPM32 metrology

More information

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter

USB Debug Adapter. Power USB DEBUG ADAPTER. Silicon Laboratories. Stop. Run. Figure 1. Hardware Setup using a USB Debug Adapter C8051F38X DEVELOPMENT KIT USER S GUIDE 1. Kit Contents The C8051F38x Development Kit contains the following items: C8051F380 Target Board C8051Fxxx Development Kit Quick-start Guide Silicon Laboratories

More information

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso

Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Design and development of embedded systems for the Internet of Things (IoT) Fabio Angeletti Fabrizio Gattuso Microcontroller It is essentially a small computer on a chip Like any computer, it has memory,

More information

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need to keep the same partner from

More information

INTRODUCTION TO FLEXIO

INTRODUCTION TO FLEXIO INTRODUCTION TO FLEXIO Osvaldo Romero Applications Engineer EXTERNAL USE Agenda Introduction to FlexIO FlexIO Main Features FlexIO Applications Freescale Products with FlexIO Collaterals\Tools for FlexIO

More information

Own Your Technology Pvt Ltd. Own Your Technology Presents Workshop on MSP430

Own Your Technology Pvt Ltd. Own Your Technology Presents Workshop on MSP430 Own Your Technology Presents Workshop on MSP430 ------------OUR FORTE------------ AERO MODELLING INTERNET OF THINGS EMBEDDED SYSTEMS ROBOTICS MATLAB & MACHINE VISION VLSI & VHDL ANDRIOD APP DEVELOPMENT

More information

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD

INDUSTRIAL TRAINING:6 MONTHS PROGRAM TEVATRON TECHNOLOGIES PVT LTD MODULE-1 C Programming Language Introduction to C Objectives of C Applications of C Relational and logical operators Bit wise operators The assignment statement Intermixing of data types type conversion

More information

Introduction USART & AVR EVK1100

Introduction USART & AVR EVK1100 Introduction USART & AVR EVK1100 Time scope: 2-4h USART (Theory) Flash Development board EVK 1100 Basics for programming USART (Driver, Code) Exercises Emqopter GmbH 2 Terminology: UART, Universal Asynchronous

More information

Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI) Serial Peripheral Interface (SPI) MSP432 SPI eusci = enhanced Universal Serial Communications Interface 2 tj MSP432 SPI ARM (AMBA Compliant) 7/8 bit transmission Master/Slave LSB/MSB first Separate RX/TX

More information

Lab 4 Interrupts ReadMeFirst

Lab 4 Interrupts ReadMeFirst Lab 4 Interrupts ReadMeFirst Lab Folder Content 1) ReadMeFirst 2) Interrupt Vector Table 3) Pin out Summary Objectives Understand how interrupts work Learn to program Interrupt Service Routines in C Language

More information

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software!

TEVATRON TECHNOLOGIES PVT. LTD Embedded! Robotics! IoT! VLSI Design! Projects! Technical Consultancy! Education! STEM! Software! Summer Training 2016 Advance Embedded Systems Fast track of AVR and detailed working on STM32 ARM Processor with RTOS- Real Time Operating Systems Covering 1. Hands on Topics and Sessions Covered in Summer

More information

Designing with ALTERA SoC Hardware

Designing with ALTERA SoC Hardware Designing with ALTERA SoC Hardware Course Description This course provides all theoretical and practical know-how to design ALTERA SoC devices under Quartus II software. The course combines 60% theory

More information

Hibernation Module. Introduction. Agenda

Hibernation Module. Introduction. Agenda Hibernation Module Introduction In this chapter we ll take a look at the hibernation module and the low power modes of the M4F. The lab will show you how to place the device in sleep mode and you ll measure

More information

Xilinx Vivado/SDK Tutorial

Xilinx Vivado/SDK Tutorial Xilinx Vivado/SDK Tutorial (Laboratory Session 1, EDAN15) Flavius.Gruian@cs.lth.se March 21, 2017 This tutorial shows you how to create and run a simple MicroBlaze-based system on a Digilent Nexys-4 prototyping

More information

UART Devices. ECE 480: Design Team 3. Application Note. By: Hoyoung Jung. Date: 4/3/15

UART Devices. ECE 480: Design Team 3. Application Note. By: Hoyoung Jung. Date: 4/3/15 UART Devices ECE 480: Design Team 3 Application Note By: Hoyoung Jung Date: 4/3/15 Abstract The integration and communication of electronic systems requires the receiving and transmitting of data. In order

More information

Multifunction Serial Interface (PDL_MFS) Features. General Description. When to Use a PDL_MFS Component. Quick Start 1.0

Multifunction Serial Interface (PDL_MFS) Features. General Description. When to Use a PDL_MFS Component. Quick Start 1.0 1.0 Features Configures the Multi-Function Serial (MFS) Interface to one of the following modes: UART (Asynchronous normal serial interface) Clock synchronous serial interface (SPI and I 2 S can be supported)

More information

1 Digital tools. 1.1 Introduction

1 Digital tools. 1.1 Introduction 1 Digital tools 1.1 Introduction In the past few years, enormous advances have been made in the cost, power, and ease of use of microcomputers and associated analog and digital circuits. It is now possible,

More information