Remote programming. On-Board Computer

Similar documents
Raspberry Pi debugging with JTAG

Overview of BDM nc. The IEEE JTAG specification is also recommended reading for those unfamiliar with JTAG. 1.2 Overview of BDM Before the intr

Design and Implementation of Timer, GPIO, and 7-segment Peripherals

M89 FAMILY In-System Programmable (ISP) Multiple-Memory and Logic FLASH+PSD Systems for MCUs

Section 24. Programming and Diagnostics

Section 24. Programming and Diagnostics

On-Chip Instrumentation and In-Silicon Debug Tools for SoC Dr. Neal Stollon HDL Dynamics

18 Nov 2015 Testing and Programming PCBA s. 1 JTAG Technologies

OpenOCD - Beyond Simple Software Debugging

16 Dec Testing and Programming PCBA s. 1 JTAG Technologies

Laboratory Exercise 4

Design and Implementation of an AHB VGA Peripheral

APPLICATION NOTE 4312 Getting Started with DeepCover Secure Microcontroller (MAXQ1850) EV KIT and the CrossWorks Compiler for the MAXQ30

Ilmenau, 9 Dec 2016 Testing and programming PCBA s. 1 JTAG Technologies

Chapter 19 IEEE Test Access Port (JTAG)

MSP430-HG2231 development board Users Manual

CoLinkEx JTAG/SWD adapter USER MANUAL

7 Nov 2017 Testing and programming PCBA s

Design and analysis of microcontroller system using AMBA- Lite bus

3. Configuration and Testing

TMS320VC5501/5502/5503/5507/5509/5510 DSP Multichannel Buffered Serial Port (McBSP) Reference Guide

VHDL Upgrading of a TNT2 card

FPGA Design. Part I - Hardware Components. Thomas Lenzi

Product Update. JTAG Issues and the Use of RT54SX Devices

TV Character Generator

C8188 C8000 1/10. digital audio modular processing system. 4 Channel AES/EBU I/O. features. block diagram. 4 balanced AES inputs

Hello and welcome to this presentation of the STM32L4 Analog-to-Digital Converter block. It will cover the main features of this block, which is used

Using the XC9500/XL/XV JTAG Boundary Scan Interface

Design of Vision Embedded Platform with AVR

BTW03 DESIGN CONSIDERATIONS IN USING AS A BACKPLANE TEST BUS International Test Conference. Pete Collins

V9A01 Solution Specification V0.1

Testing Sequential Logic. CPE/EE 428/528 VLSI Design II Intro to Testing (Part 2) Testing Sequential Logic (cont d) Testing Sequential Logic (cont d)

ECE 372 Microcontroller Design

@DonAndrewBailey

ТМ-04 Multichannel long range UHF alarm transmitter Operating manual. Sectron Ltd.

IMS B007 A transputer based graphics board

Comparing JTAG, SPI, and I2C

CSE140L: Components and Design Techniques for Digital Systems Lab. CPU design and PLDs. Tajana Simunic Rosing. Source: Vahid, Katz

12. IEEE (JTAG) Boundary-Scan Testing for the Cyclone III Device Family

C8000. switch over & ducking

ScanExpress JET. Combining JTAG Test with JTAG Emulation to Reduce Prototype Development Time. Ryan Jones Corelis, Inc. An EWA Technologies Company

Getting Started with Launchpad and Grove Starter Kit. Franklin Cooper University Marketing Manager

JTAG ICE... User Guide

Enhancing the TMS320C6713 DSK for DSP Education

A Real Time Hi Speed Tracker for Chain Snatcher

Counter/timer 2 of the 83C552 microcontroller

LAX_x Logic Analyzer

Sundance Multiprocessor Technology Limited. Capture Demo For Intech Unit / Module Number: C Hong. EVP6472 Intech Demo. Abstract

Solutions to Embedded System Design Challenges Part II

Instruction manual Universal Fieldbus-Gateway UNIGATE IC - RS

EDA385 Bomberman. Fredrik Ahlberg Adam Johansson Magnus Hultin

Tools to Debug Dead Boards

Remote Diagnostics and Upgrades

Dynamic Animation Cube Group 1 Joseph Clark Michael Alberts Isaiah Walker Arnold Li

8 DIGITAL SIGNAL PROCESSOR IN OPTICAL TOMOGRAPHY SYSTEM

BUSES IN COMPUTER ARCHITECTURE

A Primer: ARM Trace. Including: ETM, ETB and Serial Wire Viewer, JTAG and SWD V 2.1

FPGA Development for Radar, Radio-Astronomy and Communications

Embedded System Training Module ABLab Solutions

Saving time & money with JTAG

EECS 578 SVA mini-project Assigned: 10/08/15 Due: 10/27/15

Integration Note. Any feature not specifically noted as supported should be assumed to be unsupported.

STB Front Panel User s Guide

microenable IV AD4-LVDS Product Profile of microenable IV AD4-LVDS Datasheet microenable IV AD4-LVDS

EEG A1452 SCTE-104 Inserter Frame Card

Optical Link Evaluation Board for the CSC Muon Trigger at CMS

Combo Board.

Using the XSV Board Xchecker Interface

5 VOLT FlashFile MEMORY

Optical Technologies Micro Motion Absolute, Technology Overview & Programming

Implementing Audio IP in SDI II on Arria V Development Board

Product Profile of microenable 5 VQ8-CXP6D ironman

Configuring FLASHlogic Devices

Connecting To and Programming the LPC2148 Blue Board. Method 1 ISP (In-System Programming) w/ Flash Magic

Smart Night Light. Figure 1: The state diagram for the FSM of the ALS.

microenable IV AD1-PoCL Product Profile of microenable IV AD1-PoCL Datasheet microenable IV AD1-PoCL

Distributed by Pycom Ltd. Copyright 2016 by Pycom Ltd. All rights reserved. No part of this document may be reproduced, distributed, or transmitted

ARM JTAG Interface Specifications

TABLE 3. MIB COUNTER INPUT Register (Write Only) TABLE 4. MIB STATUS Register (Read Only)

CEDAR Series. To learn more about Ogden CEDAR series signal processing platform and modular products, please visit

IMPLEMENTATION AND ANALYSIS OF FIR FILTER USING TMS 320C6713 DSK Sandeep Kumar

Embest Emlink for ARM Cortex-M3. User Manual

RF4432 wireless transceiver module

The Haply Development Kit

microenable 5 marathon ACL Product Profile of microenable 5 marathon ACL Datasheet microenable 5 marathon ACL

SAU510-USB ISO PLUS v.2 JTAG Emulator. User s Guide 2013.

Error connecting to the target: TMS320F28379D. 1 Error message on connecting the target.

of Boundary Scan techniques.

C8491 C8000 1/17. digital audio modular processing system. 3G/HD/SD-SDI DSP 4/8/16 audio channels. features. block diagram

MSP430-H2618 development board Users Manual

A First Laboratory Course on Digital Signal Processing

Application Report. Markus Koesler, Franz Graf, Wolfgang Lutsch... MSP430

Scalable, intelligent image processing board for highest requirements on image acquisition and processing over long distances by optical connection

microenable IV AS1-PoCL Product Profile of microenable IV AS1-PoCL Datasheet microenable IV AS1-PoCL

Digilent Nexys-3 Cellular RAM Controller Reference Design Overview

Broadcast Television Measurements

RF4432F27 wireless transceiver module

T1 Deframer. LogiCORE Facts. Features. Applications. General Description. Core Specifics

XI'AN NOVASTAR TECH CO., LTD

HV-122-DCA DVB-T 2-Way Diversity Receiver Box Quick Installation Guide

Transcription:

Remote programming system for µ-sat3 s On-Board Computer Centro de Investigaciones Aplicadas (CIA - DGIyD) Facultad de Ciencias Exactas, Físicas y Naturales Universidad Nacional de Córdoba (FCEFyN - UNC) Authors: Nazzi, Fabio Rodriguez Gonzalez, Santiago Morales, Pablo

Conten ts Importance of having a remote programming system Introduction Environment Overview of the system Development details System structure Firmware JTAG-based programmer Conclusions and future work

Why a remote programmer for this project? Fixing software bugs, Improvements for current program, Changes in project requirements, Facing other unforeseen events. Implemented solution JTAG-based programmer

Environment µsat-3 will have two independent On-Board Computers (OBC). They will be capable of receiving new software through an UHF link. Hardware TMS570LS3137 ARM Cortex-R4F core, IEEE1149.1 standard compliant. Flash memory Compatible with SPI protocol.

GPIO JTAG OBCs connection for this system At a given moment will be an active OBC, and the other will function as a backup. The communication between TMS570 microcontroller and external flash SPI protocol. A GPIO port of active OBC must be connected to JTAG port of backup OBC bitbanging technique. TMS570 Ext. flash GPIO JTAG Acti ve connection Inactive connection TMS570 Ext. flash Active OBC Backup OBC

Hercules JTAG scan architecture ICEPick TAP Texas Instruments design DAP TAP Implements ADI v5.1 Source: SPNA230 Texas Instruments

System description First part: Receive a software divided into fixed-length packets. Check the packets for errors. Every packet must include an error detecting code. Store each correctly received packet into the external flash memory. Implement an error control scheme. Second part: It is responsible for backup OBC programming, emulating JTAG signals through a GPIO port. WE WILL EMPHASIZE MAINLY THIS POINT

OBC programming It involves two parts: A piece of software that manages the operations over on-chip flash Firmware. This is necessary due to it is not possible to write directly into program memory. A software that controls the low level JTAG operations JTAG-based programmer. It generates JTAG signals over a GPIO port. It has full control over firmware execution.

Firmware [1/3] Two independent functions over on-chip flash memory: Erase, Program. Written in C, using F021 Flash API. Compiled and linked for a freestanding environment. Do not exist a defined entry point for the firmware. It will be executed from backup OBC SRAM memory. The active OBC will have control of the execution of each firmware routine.

Firmware [2/3] Start Fapi_inita ilizeflas hbanks() erase_flash( ) routine. This function clears all sectors of each flash memory bank. Fapi_se tacti veflashbank() for current bank Fapi_enableM ainbanks ectors() for curren t ba nk FAPI_CHECK_FSM_READY_BUSY!= Fapi_Status_FsmReady FAPI_CHECK_FSM_READY_BUSY!= Fapi_Status_FsmReady FAPI_GET_FSM_STATUS!= 0 Erasing failed Fapi_iss ue Asy nc Comma ndwithaddre ss() with Fapi_EraseBank command Another bank to erase? Erasing successful Simplified diagram

Firmware [3/3] Start Fapi_inita ilizeflas hbanks() program_flash () routine. It performs flash writes. Programming mode selected, Fapi_DataOnly. Fapi_se tacti veflashbank () for current bank Fapi_enableM ainbanks ectors() for curren t ba nk FAPI_CHECK_FSM_READY_BUSY!= Fapi_Status_FsmReady FAPI_CHECK_FSM_READY_BUSY!= Fapi_Status_FsmReady FAPI_GET_FSM_STATUS!= Fapi_Stat us_success Programming failed Fapi_iss ue ProgrammingCommand() with Fapi_DataOnly option More data to program? Programm in g successful Simplified diagram

JTAG-based programmer [1/5] Start JTAG interface initializat ion an d Microcontroller configuration Lo ad a pie ce of so ftwa re into RAM Load firmware into RAM program_flash() routine eras e_flash() routine Successful writing? Exit Successful erasing? Exit Mo re data to program? Programm in g successful

JTAG-based programmer [2/5] It provides access to system resources via JTAG port. It has to gain access to the JTAG interface, sending proper commands to the ICEPick module. ICEPick allows enabling the DAP TAP, writing the corresponding TAP configuration register. At this point, JTAG scan path consists of: ICEPick TAP DAP TAP

JTAG-based programmer [3/5] TAP controllers must be synchronized. It is possible to access: ARM core registers; System and peripheral registers of the microcontroller; Execute most ARM instructions; Operate directly over almost every peripheral. Source: SPNA230 Texas Instruments

JTAG-based programmer [4/5] Through DAP TAP: Halt the processor. Configure breakpoint at address 0x0. Reset. Load firmware onto on-chip SRAM via AHB-AP. Control for firmware routines execution: Entry point Program Counter. Return point Link Register. Poll breakpoint control register. Returned value must be checked at R0 ARM core register.

JTAG-based programmer [5/5] Order of execution: erase_flash() To clear all flash banks. IT MUST BE EXECUTED BEFORE WRITING ANY DATA. program_flash() load pieces of new software onto SRAM due to SRAM < Flash. It writes pieces of new software from SRAM to on-chip flash. If an error occurs after a function execution system exit. The new program is ready to be executed!

Conclusions This system was successfully implemented. As it was constructed, it will function over an Operating System with minimal changes. Is it possible to reutilize a lot of this system in another platform compatible with IEEE 1149.1 standard. Future work Implement a hash function in order to protect the new software stored in external flash memory. Improve the error control scheme implemented. Improve JTAG-based programmer code to get lower delay signals.

Thank you! Nazzi, Fabio fabionnazzi@gmail.com