The purpose of this course is to provide an introduction to the RL78's flash features and archectecture including security features, code and data
|
|
- Ethel Harper
- 5 years ago
- Views:
Transcription
1 1
2 The purpose of this course is to provide an introduction to the RL78's flash features and archectecture including security features, code and data flash organization as well as self and external programming and the related libraries. 2
3 3
4 Renesas' Flash technology is referred to as MF3 and is based on a 0.13 micrometer process density. It s a single voltage self-programming technology which supports a supply voltage of 1.6 to 5.5 volts, with the programming voltage limited to 1.8 to 5.5 volts. The ambient temperature for programming is -40 to 125 degrees C, whereas the ambient temperature for reading FLASH goes up to 150 degrees. Maximum operation speed of the FLASH technology is 32 MHz, which is the same as the maximum speed of the micro. Therefore no wait cycles are needed and instructions can be fetched directly from FLASH in a single cycle. The complete FLASH in devices is segmented into blocks of 1K, which is also the smallest erase unit. In addition, the smallest write unit is 4 bytes for the code flash; which is related to hidden ECC which is used on the FLASH, where each 4 byte or 32bit word is protected with an additional 6bit ECC. And for the data flash there is a 1 byte write minimum unit, with each byte of the data flash secured with an additional 4 bit ECC. 4
5 4
6 Now to the hardware architecture of the RL78 products; there are two different FLASH memory types inside, the first one is the code flash which is typically used to store the user's application. The entire code flash is segmented into 1k blocks, with the smallest write unit in code flash being 4byte - as we said before - because of the hidden ECC. A special feature of the code flash is that it has two different boot clusters, the use of which will be covered later. Access to code flash can be done using an external programmer for mass production, end-of-line production or even for factory programming. Alternatively you can use the self-programming flash functionality in your application, using the supplied Flash Self-programming Library or FSL. The second FLASH is the Data Flash; it's a completely independent flash memory block which is able to operate in the background to Code Flash operation. It's also segmented into 1K blocks, however the write unit is smaller - to support EEPROM emulation for this area. It's not possible to execute code from the Data Flash, since it's only for data storage. 5
7 Access to Data Flash can also be done with an external programmer or by a simple library called FDL or a more complex library called EEL, which is the EEPROM Emulation Library. All these libraries FSL, FDL and EEL are available free of charge from Renesas Electronics. In addition to the Code Flash and Data Flash areas, internal firmware is resident in the device to program both types of FLASH, either from an external programmer or through the libraries. This firmware handles all the communication with the external programmer. 5
8 Now we'll look at the Boot Swap feature of the RL products' Code Flash. Boot swap is possible because the Code Flash of the RL78 products is equipped with two different boot clusters - as we mention before - boot cluster zero and boot cluster one, with each of these boot clusters having a size of 4K. The boot cluster allows secure boot-loader updating. If for example you want to update the complete boot area including the reset vector and all the interrupt vectors, you can write this new boot cluster into area one. When you know this has completed without any problems, then the boot clusters can be swapped. This ensures you always have a secure device with a valid reset vector available. The second feature supported by this boot cluster design, with two different boot clusters, is to allow simple boot loader design. For example your application can always start up with the boot loader in boot cluster zero and the application can have its own boot cluster, which is in this case would be boot cluster one. If the boot loader located in boot cluster zero confirms that the application is valid (via a checksum or CRC check) it can do a temporary boot swap to make boot 6
9 cluster one active and then the whole application will run with boot cluster one. After reset the device starts again from boot cluster zero with the standard boot loader inside. 6
10 Now we'll cover the security features used to protect the FLASH against unauthorized readout. For security reasons the FLASH firmware has no read instruction, so even an external programmer is not able to read out the device contents. However another way to read out the contents could be by putting spyware into the code. To overcome this, two protection flags are implemented, the first of which is the Write Protection Flag. This flag disables the internal write command, so even unused memory inside the device cannot be overwritten by spy software. The second flag is the Block Erase Protection flag. With this flag set it is impossible to erase single blocks of the FLASH. That means you cannot erase two or three blocks to insert spy software. If both of these flags are set no onboard programming possible at all, and only self-programming is possible in this case. In general self-programming is not affected by these protection flags as they are only valid for access using an external programmer. Self-programming must be secured by the developer, by for example using special passwords. The security flags can be set using an external programmer's Set Security function or by selfprogramming. 7
11 Note that self-programming can only set the flags; reset has to be done by erasing using an external programmer. The protection flags are not part of the standard code area, so there is no risk that these flags could be destroyed by the application software. The protection flags are stored in an Extra area which is not part of the normal address range and can only be accessed by the internal flash programming firmware. 7
12 The RL78 FLASH also implements a boot cluster protection flag. If this flag is set, boot cluster zero can no longer be erased or re-written; and this flag is not only valid for an external programmer, but also for self-programming, thus making it impossible to destroy the boot cluster in the software - even by accident. Another security feature is the FLASH Shield Window function. Using this it is possible to open or close parts of the code flash area against re-writing. During normal operation the entire code flash area can be protected by the Flash Shield Window. So even if self-programming is attempted - to erase some of the blocks - it will return a protection error because the Flash Shield Window is closed. You can open a special window range for self-programming when you only want to update the application or parts of the application, and re-write this area of the code flash. 8
13 Now for an explanation of the ECC or Error Correction Code. A 6 bit ECC is automatically calculated in the background during a flash write and stored in the FLASH; i.e. in the actual FLASH - instead of a 32 bit word - 32 bits plus 6 extra bits are stored. Each time the FLASH is read, the ECC description logic compares the ECC bits with the data bits and can repair a one bit failure in the 32 bit word. The ECC works in the background so you don't see any of the error checking operation. This feature was implemented to further reduce the already excellent overall device failure rate, and improve life-time and reliability. Such ECC feature is often strongly requested to secure the whole FLASH contents. Note that no bit failures are ever accepted during programming; so that when the device is programmed you can be sure that the ECC is not activated and all the values are written correctly; additionally all tests at the end of mass production are also performed without ECC. 9
14 Now we come to on-board programming for RL78 devices. On-board programming means programming the Code or Data Flash contents using an external programmer. 10
15 Lets have a look at the different programming methods. Serial programming performs on-board programming using external tools. Renesas' E1 on-chip-debug emulator/programmer can be used to program RL78 products. This small box supports the RL products' programming interface; however it requires a PC connection to do the programming. A second option is the PG-FP5, which can also be used for mass production, due to its internal memory and serial remote control interface. For example it can be added directly to a production test fixture, to program the RL78 devices at the end of the line. Of course it's also possible to use 3 rd party tools from companies who support our devices like Ertec, Data IO and BP systems. And finally a FLASH programming Application Note is available for these devices, which allows you, or other programmer manufacturers to implement the RL protocol into their programming equipment. Alternatively you can also use this application note if you want to directly build 11
16 programming functionality into your in-circuit test machine. Custom programmers can be certified by a FLASH programmer audit, which gives programmermanufacturers confidence that their programmed algorithm conforms to the RL78 device algorithm. 11
17 On this slide are the different device programming options. Only the E1 and the PG-FP 5 Renesas tools are shown here, but other programmers can be used instead. It's also possible to program the device in a dedicated programming adapter. These boards are pre-made and can be purchased directly from Renesas Electronics. It's a small board with a zero insertion force (ZIF) clamshell socket into which you place the device, close the cover then program with the E1 or the PG- FP5. However in practice many customers find an easier solution is to program the device directly in-system, with it already mounted inside the finished assembly and a programming connection made available to the external programmer. 12
18 Now to the programming interface itself. With a dedicated programmer the Tool0 interface, based on a single-wire UART, is used. The internal high speed on-chip oscillator is used for the clock signal, which means only 4 pins need to be connected from the programmer to the RL78 device; VDD, VSS, the reset line and the Tool0 interface. It s important that a secure protocol is used for transmission of data from the FLASH programmer to the device, so it is guaranteed using a check sum. 13
19 Here, we see a summary of all the commands for external programmers supported by the internal firmware. As we already mentioned, for security reasons there is no read command to read-out the device with an external programmer. The only way to identify the internal code is to perform a verify command. Thus the device itself and the serial programming interface support the following commands: Status command, Reset command, Baud rate set command, Erase command, Programming command, Verify command, Block blank check command, Silicon signature command, Version get command, Checksum command and Set Security command. In the case of the Verify command, all the data in the programmer is re-sent to the device which checks internally that the contents of the FLASH matches. All the data transmission between the programmer and the device will consume some time, another check sum command is again included. The difference with the check sum command is that the check sum value is calculated automatically inside the device and transmitted back to the programmer which checks whether the check sum is correct against its original data. 14
20 On the next few slides we ll explain about self-programming the code flash area. 15
21 First of all let's clarify what self-programming means. Self-programming is the ability to re-program the code flash without requiring a dedicated programmer. The internal firmware of the RL78 can be used to re-write its own flash memory using Renesas' Self-Programming Libraries. These libraries are available free of charge and offer an easy interface with which - for example - you can use the Erase instruction by merely passing the number of the block you want to erase as a parameter. This function automatically returns a value indicating if the erase was OK, or if there was an error. In general, your user application performs flash operations by calling functions in the self-programming library. However the library must be located in the user application area, and the library functions call internal firmware routines which are not located in the application area. It is this internal firmware which finally re-writes the FLASH content. 16
22 When using the self-programming option it's up to you define the programming communication interface, for example: CAN, LIN, CSI, UART or any other interface which could be used to transfer new data into the device. Additionally, the block swapping feature is supported for secure self-programming, so that if the boot loader has to be updated, you can ensure that a valid boot loader is always available. Note that in order to implement the self-programming functionality and external interface, the initial programming must be done using a dedicated programmer and this initial code has to contain the self programming functionality and interfacing, after which the device is able to reprogram its entire internal flash memory by itself. 17
23 Internal self-programming operates in two modes; the first is Internal Status Check mode, where the FLASH self-programming library is located in user ROM, i.e. the code flash area, and the application calls self-programming library functions directly from ROM. There the library function configures the programming parameters and jumps to the firmware routine, which returns with a status code after performing the operation (and thence back into the user application) so we can determine if the operation was OK or if an error occurred. While this solution is straight forward, no interrupt handling is possible during selfprogramming in the code flash area. So if the block is being erased in the background no code execution is possible during this time. Note that this is only valid for the code flash area; the data flash is completely independent and is always working in the background. The main advantage of this mode is that it is very easy to handle. 18
24 The second self-programming option is to use User Status Check mode. In this case the FSL self-programming functionality has to be copied into the RAM area of the device, and the code executed from RAM. In this mode of operation the function jumps directly from the RAM into the internal firmware, starts the command and then goes directly back to RAM; with the internal programming or erasing of the Flash done in the background. However this requires a status check to be done in the RAM code to see when the firmware has finished with the command. This mode has the big advantage that interrupts can be handled without any effect on the interrupt response time, so the user application always has full control of the software. 19
25 Here we see how interrupt behavior changes when self-programming execution is done directly from RAM. In normal operation there are many interrupt service routines; for example handling interrupt vectors from the timers or the serial interface, and these occur at different times. When self-programming is executed from RAM these interrupts are moved to a common interrupt vector that references the RAM area, so this common interrupt service routine in RAM is always executed independently of the interrupt source. This means that the user application retains full control and very fast interrupt response times, even during self-programming operation. However the overhead is that we now have to distinguish between the different interrupt sources in the common RAM interrupt service routine, which can be easily done by examining the IF flags. 20
26 Here is a summary of self-programming uses. Often self-programming is used merely to save parameters inside the application at end-of-line programming or factory programming where there is a free blank block inside the application. Calibration parameters or serial numbers may need to be stored in the device following production. To do this the self-programming functionality can be used to write these parameters in a blank area of the device. This is the easiest method sometimes called EEPROM emulation. 21
27 When the entire application is updated, it s a little more complex. Here is an example with a fixed boot block, where the boot block and application code is already programmed in the device via end-of-line programming or factory programming. Now, if the code has to be updated in the field, all the old application code can be erased, but the boot block is still valid. This always allows us to have a secure reset vector. The new application is written into the normal code flash area and now we have the old boot block together with the new application. Note that the boot block code is also a part of the user application, so you have to develop it yourself, since it's not included with the device. 22
28 An even more complex mechanism is to use self-programming together with the boot swap functionality, where the application, as well as the boot block is updated. To do this, the application code first has to be erased - in which case the old boot block is still valid. Then a new boot block is written to boot cluster 1. Once this is done and we have a new secure boot block, we can change the boot blocks using the swap instruction. After this the new boot block is valid and the old boot block has been switched to boot cluster 1. Now the old boot block can be erased and the new application programmed into the code flash area. Using this method the flash is always secure and it's impossible to have an invalid reset vector after reset, due to power failure etc. 23
29 Now to self-programming the data flash area, which is a bit different compared to the code flash, since we have full background operation in the data flash area. 24
30 First off, let's examine the data flash specification. Currently up to 100,000 write/erase cycles with data retention of 5 years are guaranteed. And as a target we can guarantee 1,000,000 w/e cycles with data retention of 5 years. It's important to note that these write/erase cycles are different to a real EEPROM, since you can write data into a flash block several times until it has to be erased. So although we say write/erase cycles it is actually the erase cycles that are important. For example a data set of 4 bytes could be written 256 times in a 1k block until the first time you need to erase the block. Thus the real write cycles are much higher than the given 100,000. The minimum write size in data flash is 1 byte and the flash erase block size is 1Kb. The access to data flash can only be done through the FDL data flash library - a very simple and small library that provides an easy interface to the data flash. Also note that the full temperature range is supported during data flash programming. 25
31 On this slide is a block diagram of the internal functionality of the CPU, where the core can access the code flash and the data flash in parallel. The code flash contains the application, the operating system, drivers and so on, and also the EEPROM Emulation libraries which are not always required - unlike the data flash access layer FDL library. This is all part of the code flash area. The application calls a function in the FDL, which starts the sequencer to re-write data in the data flash area, while the core can still go on working from the code flash area. So here we have full dual operation with completely background operation of the EEPROM data inside the data flash. 26
32 Here is the timing flow of the data flash access. The CPU is executing the application from the code flash area. Now, writing data to the EEPROM or data flash area is done by calling a function from the FDL. The FDL starts the sequencer in the background and starts the write, or read, or erase access on the data flash while the CPU continues executing the application. The sequencer handling the data flash content will give a signal back to the application - via polling or an interrupt - to indicate that the data flash access is completed and it's ready for the next one. This ensures that there are no lengthy interrupt times, always the standard interrupt response time, so the data flash behavior is the same as an external EEPROM. 27
33 Here we see a possible scenario for accessing the data flash. The easiest way is just to use the FDL. On the left side is the application colored grey. By using the FDL the application can write data directly into the data flash. However the EEPROM Emulation libraries are sometimes helpful to manage the data inside the data flash. An EEPROM Library is available directly from Renesas Electronics but you could also develop your own EEPROM library. However in both cases you have to use the FDL. The EEPROM library completely manages the data - for example if a block is full - it's necessary to copy all the data to the next block in the data flash and so on. All this house-keeping is handled in the background by the EEPROM Library. Using these two libraries it is also possible to split the data flash in two different areas. For example you can use one block of data flash to store fixed parameters written directly from the application using the FDL. And the second part of the data flash can be used with EEPROM Emulation. 28
34 All these different scenarios are supported by Renesas' EEPROM Emulation and the FDL libraries. 28
35 Now a few words about the different libraries and how they interact. 29
36 Here are the basic configuration of all the flash libraries for the RL78 products. In general it's important to always use a library to write to the flash using selfprogramming. At the top is the user application and on the left-hand side is the flow when writing into code flash memory. If you want to re-program the code flash memory the FSL flash self-programming library must be used. This can be done using the simple library interface. The library starts the sequencer - which is part of the firmware or hardware and this sequencer finally writes the data into the code flash memory. The second way is to use data flash memory in which case you have to use the FDL or flash data library. The FDL also uses the sequencer for writing data to data flash memory, completely independently from the application code execution. So a read can be done directly from the data flash using just a pointer with no sequencer operation required. 30
37 Additionally you can use the EEL, EEPROM Emulation Library. The EEL manages all the data so you don't have to worry where inside the data flash the instances of the data are stored and is also completely secure against any resets from outside or by power failures. 30
38 And finally a few words on the EEPROM Emulation library and the capabilities of this piece of software. 31
39 What do we mean by EEPROM Emulation? EEPROM Emulation is just the ability to use the power of the RL s data flash as an equivalent EEPROM memory. However there is an important difference compared to a real EEPROM - which can be overwritten address by address - whereas flash can only be erased in blocks. Thus a special algorithm is required to handle the data sets inside the EEPROM emulation area. The picture below shows this; when you want to update the data set B in a real EEPROM, you just have to erase the old data and then write the new data, which in a typical EEPROM is done in a single operation just by overwriting the data. However there is still a risk that the data may not be written correctly if the power fails during the re-writing. The EEPROM Emulation in flash works a bit differently; we can t overwrite a single data byte because it s only possible to do a block erase. Instead we have to add the data to the new data set - B in this case - to the end of the flash or to the next free position in the flash. This requires a special algorithm in the background, but has a big advantage that the history is always retained, which means that even if writing the new B data fails, we still have the history of B available. Renesas provide all the corresponding access libraries free of charge. 32
40 And finally the key functionalities of the Renesas EEPROM libraries; the main feature is that the library is always able to read and write data to the data flash. This means that you don t have to worry about any special wait time when attempting a write or read. Even if an erase command is in progress in the background - preparing new space inside the library area - it will be suspended and the write command executed immediately. Automatic preparation of the write space is also done in the background during any idle time. The library can manage a large amount of data with multiple active data blocks. Block redundancy is managed automatically, so even if a block is damaged it will be marked so and the library will continue using the remaining blocks without any problems. The reset resistant algorithm is also very important; the data is secured in different ways so that even if a reset occurs during writing data to the data flash, the data is always secure and after reset the old data will be read if the new data was not completely written. Finally the data is ensured using data consistency checks, where each data set handled by the library has its own checksum and for every data read operation the checksum is compared with the data. To sum up, it s a very easy to use library with all required functions included, so you can have a simple interface and all data types such as simple bytes, words, arrays and structures can be stored in the emulated 33
41 EEPROM using the library. 33
42 In summary, in this course, we covered the RL78 s flash features and archectecture including security features, code and data flash organization as well as self and external programming and the related librabries. We d like to thank you for viewing this course. For more information on RL78 products, please view the RL78 Family overview course or visit the Renesas website at 34
43 35
Flash Microcomputer Programmer
Flash Microcomputer Programmer User's Manual Tessera Technology Inc. Date published: August 2017 (6th Edition) TABLE OF CONTENTS CHAPTER 1 OVERVIEW... 5 1.1 System Configuration... 6 CHAPTER 2 INSTALLATION...
More informationProgrammer for flash micro computers. User s Manual
Programmer for flash micro computers User s Manual TESSERA Technology INC. 6th edition 9/2008 Table of Contents Chapter 1 Summary 2 1.1 System Configuration 3 Chapter 2 Installation 4 2.1 System Requirement
More informationAT90SDC10X Summary Datasheet
AT90SDC10X Summary Datasheet Features General twincore Secure Dual Core Architecture - 135 Powerful s (Most Executed in a Single Clock Cycle) Total isolation between Master & Secure Cores Secure Inter-Core
More informationGANG Programmer for flash micro computers. User s Manual. TESSERA Technology INC. Third Edition September
GANG Programmer for flash micro computers User s Manual TESSERA Technology INC. Third Edition September 2008-1 - Table of Contents Chapter 1 Summary 3 1.1 System Configuration 4 Chapter 2 Installation
More informationFlash Self-programming Library
16 Flash Self-programming Library Type T01, European Release 16 Bit Single-chip Microcontroller RL78 Series Installer: RENESAS_FSL_RL78_T01E_Vx.xxx All information contained in these materials, including
More informationV850ES/SG3, V850ES/SJ3
APPLICATION NOTE V850ES/SG3, V850ES/SJ3 V850ES/SG3, V850ES/SJ3 Microcontrollers R01AN0930EJ0200 Rev.2.00 Introduction This application note is intended for users who understand the functions of the V850ES/SG3
More informationE8a Emulator Additional Document for User's Manual R0E00008AKCE00EP9
REJ10J1646-0100 E8a Emulator Additional Document for User's Manual R0E00008AKCE00EP9 Renesas Microcomputer Development Environment System M16C Family / R8C/Tiny Series Notes on Connecting the R8C/18, R8C/19,
More informationAT90SO36 Summary Datasheet
AT90SO Summary Datasheet Features General High-performance, Low-power -/-bit Enhanced RISC Architecture Microcontroller - Powerful Instructions (Most Executed in a Single Clock Cycle) Low Power Idle and
More informationE8a Emulator Additional Document for User's Manual R0E00008AKCE00EP2
REJ10J1644-0100 E8a Emulator Additional Document for User's Manual R0E00008AKCE00EP2 Renesas Microcomputer Development Environment System M16C Family / R8C/Tiny Series Notes on Connecting the R8C/10, R8C/11,
More informationFreescale and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their
S08 Highlighted Features Why Do I Need a Slave LIN Interface Controller (SLIC)? Design Challenges Slave synchronization Slave synchronizing to LIN messaging requires a cost versus resource trade-off. Your
More informationAT90SO72 Summary Datasheet
AT90SO Summary Datasheet Features General High-performance, Low-power -/-bit Enhanced RISC Architecture Microcontroller - Powerful Instructions (Most Executed in a Single Clock Cycle) Low Power Idle and
More informationEEPROM Emulation with the ez80f91 MCU. Discussion
Application Note EEPROM Emulation with the ez80f91 MCU AN015803-0608 Abstract This Application Note describes a method to utilize a portion of Zilog s ez80acclaimplus! MCU s Flash memory to emulate the
More informationAN5123 Application note
Application note STSPIN32F0A - bootloader and USART protocol Introduction Cristiana Scaramel The STSPIN32F0A is a system-in-package providing an integrated solution suitable for driving three-phase BLDC
More informationMB95260H/MB95270H. MB95280H Series. MB95260H Series/MB95270H Series/
F 2 MC-8FX Family 8-bit Microcontroller MB95260H Series/MB95270H Series/ General-purpose, low pin count package MB95260H Series, MB95270H Series, and with dual-operation Flash memory that can address EEPROM
More informationRenesas 78K/78K0R/RL78 Family In-Circuit Emulation
_ Technical Notes V9.12.225 Renesas 78K/78K0R/RL78 Family In-Circuit Emulation This document is intended to be used together with the CPU reference manual provided by the silicon vendor. This document
More informationProgramming in the MAXQ environment
AVAILABLE The in-circuit debugging and program-loading features of the MAXQ2000 microcontroller combine with IAR s Embedded Workbench development environment to provide C or assembly-level application
More informationApproximately half the power consumption of earlier Renesas Technology products and multiple functions in a 14-pin package
Renesas Technology to Release R8C/Mx Series of Flash MCUs with Power Consumption Among the Lowest in the Industry and Powerful On-Chip Peripheral Functions Approximately half the power consumption of earlier
More informationRL78 Family. User s Manual. Flash Self-Programming Library Type Bit Single-Chip Microcontrollers. Rev.1.04 Dec 2016.
User s Manual 表紙 RL78 Family 16 16-Bit Single-Chip Microcontrollers Flash Self-Programming Library Type01 Japanese Release ZIP file name : JP_R_FSL_RL78_T01_Vx.xx_x_E All information contained in these
More informationAVR XMEGA Product Line Introduction AVR XMEGA TM. Product Introduction.
AVR XMEGA TM Product Introduction 32-bit AVR UC3 AVR Flash Microcontrollers The highest performance AVR in the world 8/16-bit AVR XMEGA Peripheral Performance 8-bit megaavr The world s most successful
More informationCTWP005: Write Abort Handling for Cactus Technologies Industrial-Grade Flash-Storage Products
CTWP005: Write Abort Handling for Cactus Technologies Industrial-Grade Flash-Storage Products Covered Products: -203,-303,-503 CF cards, -900S SATA products, -806,-808 SD cards, -300 USB products 1 Introduction
More informationF2MC-8FX EEPROM Library
Fujitsu Microelectronics (Shanghai) Co., Ltd. Application Note MCU-AN- 500019-E-23 F²MC-8FX FAMILY 8-BIT MICROCONTROLLER MB95200 SERIES F2MC-8FX EEPROM Library APPLICATION NOTE Revision History Revision
More informationImplementing Bootloaders on Renesas MCUs
Implementing Bootloaders on Renesas MCUs Brandon Hussey, Applications Engineer Class ID: CL09I Renesas Electronics America Inc. Brandon Hussey Applications Engineer RX support Flash API Virtual EEPROM
More informationProcessor module DCP 642
Processor module DCP 642 The DCP 642 processor module executes the control program and constitutes a major part of the automation system. Since it has no internal power supply, the processor module has
More informationMegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX
MegaAVR-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN 46268 (317) 471-1577 (317) 471-1580 FAX http://www.prllc.com GENERAL The MegaAVR-Development board is designed for
More informationZ8 Encore! XP F1680 Series 8-Bit Flash Solution with Extended Peripherals
Embedded Flash Solutions Z8 Encore! XP F1680 Series High-performance 8-bit Flash MCU F1680 advantage low power - 1.8 V highly integrated peripherals flexible memory options optimized cost/performance target
More informationGetting Started with STK200 Dragon
Getting Started with STK200 Dragon Introduction This guide is designed to get you up and running with main software and hardware. As you work through it, there could be lots of details you do not understand,
More informationWelcome to this Renesas Interactive course which covers migration from the the V850 Jx3 series of 32bit MCUs to the Jx4 Series.
Welcome to this Renesas Interactive course which covers migration from the the V850 Jx3 series of 32bit MCUs to the Jx4 Series. The J Series provides a combination of high-performance processing power
More informationSECURE DIGITAL ACCESS SYSTEM USING IBUTTON
SECURE DIGITAL ACCESS SYSTEM USING IBUTTON Access control forms a vital link in a security chain. Here we describe a secure digital access system using ibutton that allows only authorised persons to access
More informationIntroduction to ARM LPC2148 Microcontroller
Introduction to ARM LPC2148 Microcontroller Dr.R.Sundaramurthy Department of EIE Pondicherry Engineering College Features of LPC2148 in a Nut Shell CPU = ARM 7 Core Word Length = 32 Bit ROM = 512 KB RAM
More information88 Dugald Campbell. Making Industrial Systems Safer Meeting the IEC standards
88 Dugald Campbell Making Industrial Systems Safer Meeting the IEC 60730 standards Introduction With the introduction of the International Electrotechnical Commission s IEC 60730 standards series, household
More informationMicroprocessors/Microcontrollers
Microprocessors/Microcontrollers A central processing unit (CPU) fabricated on one or more chips, containing the basic arithmetic, logic, and control elements of a computer that are required for processing
More information_ V Renesas R8C In-Circuit Emulation. Contents. Technical Notes
_ V9.12. 225 Technical Notes Renesas R8C 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 informationAN00155: Interfacing FlashRunner with Renesas V850E2 Devices
20/05/2014 Samuele Stefanoni DC10664 AN00155: Interfacing FlashRunner with Renesas V850E2 Devices FlashRunner is a Universal In-System Programmer, which uses the principles of In- Circuit Programming to
More informationContents. Cortex M On-Chip Emulation. Technical Notes V
_ Technical Notes V9.12.225 Cortex M On-Chip Emulation Contents Contents 1 1 Introduction 2 2 Access Breakpoints 3 3 Trace 5 4 NXP LPC 5 4.1 Boot and Memory Remapping 5 4.2 LPC17xx Startup 5 4.1 LPC11A02/04
More informationDataman-S6 - User's Manual. Dataman-S6 Compact USB Programmer User's Manual
Dataman-S6 Compact USB Programmer User's Manual Contents Chapter 1 Product Description 1-1 Introduction 1-2 Safety Information 1-3 Precautions 1-4 Operating System, Hardware Requirements 1-5 Accessories
More informationThe Bootconcept. of Fujitsu s MB91360 Devices
Application te MCU-AN-391016-E-V11 The Bootconcept of Fujitsu s MB91360 Devices GmbH, Microcontroller Application Group History 13 th Aug. 99 MM V1.0 New Format, new updated version 04 th Jul. 00 MEN V1.1
More informationChapter 1 Microprocessor architecture ECE 3120 Dr. Mohamed Mahmoud http://iweb.tntech.edu/mmahmoud/ mmahmoud@tntech.edu Outline 1.1 Computer hardware organization 1.1.1 Number System 1.1.2 Computer hardware
More informationMega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN (317) (317) FAX
Mega128-DEVelopment Board Progressive Resources LLC 4105 Vincennes Road Indianapolis, IN 46268 (317) 471-1577 (317) 471-1580 FAX http://www.prllc.com GENERAL The Mega128-Development board is designed for
More informationRFlasher7. Getting Started and Overview. Document version
7 Getting Started and Overview Document version 080317 Release date March 2008 Contents 1. INTRODUCTION...4 1.1 Overview...4 2. FIRST STEPS WITH RFLASHER...5 2.1 Project options...6 2.2 File loading...7
More informationM16C/62P QSK QSK62P Plus Tutorial 1. Software Development Process using HEW4
M16C/62P QSK QSK62P Plus Tutorial 1 Software Development Process using HEW4 Overview The following tutorial is a brief introduction on how to develop and debug programs using HEW4 (Highperformance Embedded
More informationArduino Uno R3 INTRODUCTION
Arduino Uno R3 INTRODUCTION Arduino is used for building different types of electronic circuits easily using of both a physical programmable circuit board usually microcontroller and piece of code running
More informationOutlook. Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium
Main Memory Outlook Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation Example: The Intel Pentium 2 Backgound Background So far we considered how to share
More informationDIY KIT 123. ATMEL 89xxxx PROGRAMMER
INTRODUCTION This kit is a powerful programmer for the Atmel 8051 family of microcontrollers. It supports the following devices: 89C1051, 89C2051 and 89C4051 89C51, 89LV51 89C52, 89LV52 89C55, 89LV55 89S8252,
More informationAN2061 APPLICATION NOTE
APPLICATION NOTE EEPROM Emulation with ST10F2xx Description External EEPROMs are often used in automotive applications to store adaptative/evolutive data. On the other hand, the Microcontroller used in
More informationRL78 Serial interfaces
RL78 Serial interfaces Renesas Electronics 00000-A Introduction Purpose This course provides an introduction to the RL78 serial interface architecture. In detail the different serial interfaces and their
More informationExplanation of PIC 16F84A processor data sheet Part 1: overview of the basics
Explanation of PIC 16F84A processor data sheet Part 1: overview of the basics This report is the first of a three part series that discusses the features of the PIC 16F94A processor. The reports will refer
More informationAT45DB041E. 4-Mbit DataFlash (with Extra 128-Kbits), 1.65V Minimum SPI Serial Flash Memory. Features
4-Mbit DataFlash (with Extra 128-Kbits), 1.65V Minimum SPI Serial Flash Memory Features Single 1.65V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports SPI modes 0 and 3 Supports RapidS
More informationTMS320LF240x-A Flash Programming
TMS320LF240x-A Flash Programming Serial Port Flash Programming Utility Table of Contents 1. Introduction... 4 1.1. Overview... 4 2. Operation... 4 2.1. DSP Controller Initialization... 4 2.2. Kernel Transfer...
More informationPIC Microcontroller Introduction
PIC Microcontroller Introduction The real name of this microcontroller is PICmicro (Peripheral Interface Controller), but it is better known as PIC. Its first ancestor was designed in 1975 by General Instruments.
More informationARDUINO MEGA INTRODUCTION
ARDUINO MEGA INTRODUCTION The Arduino MEGA 2560 is designed for projects that require more I/O llines, more sketch memory and more RAM. With 54 digital I/O pins, 16 analog inputs so it is suitable for
More informationZLF645 Crimzon Flash Microcontroller with ZBase Database Industry Leading Universal Infrared Remote Control (UIR) Solution
digital infrared Solutions CRIMZON ZLF645 Flash MCU uir solution with zbase database CRIMZON ZLF645 advantage 32/64 kb flash 512 b/1 kb ram crimzon z8 lxmc core ir transmission ir learning tuned ir amplifier
More informationThe Freescale MC908JL16 Microcontroller
Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory The Freescale MC908JL16 Microcontroller by Allan G. Weber 1 Introduction The Freescale MC908JL16 (also called
More informationA Discussion on Atmel Lock Byte and Firmware Protection Frank Armstrong June 2013
A Discussion on Atmel Lock Byte and Firmware Protection Frank Armstrong June 2013 Definitions JTAG, ISP Joint Test Action Group (JTAG), In-System Programming (ISP) are methods for programming and debugging
More informationHello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory.
Hello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory. 1 STM32F7 microcontrollers embed up to 2 Mbytes of Flash memory.
More informationCEIBO FE-5111 Development System
CEIBO FE-5111 Development System Development System for Atmel W&M T89C5111 Microcontrollers FEATURES Emulates Atmel W&M T89C5111 4K Code Memory Real-Time Emulation and Trace Frequency up to 33MHz/5V ISP
More informationibl ingenia dspic bootloader Users s guide 2007, ingenia-cat S.L. 06/06/07 Version 1.4
ingenia dspic bootloader Users s guide 06/06/07 Version 1.4 2007, ingenia-cat S.L. User s guide Copyright and trademarks Copyright 2007 ingenia-cat, S.L. Microchip, MPLAB and dspic are registered trademarks
More informationMLX90807/MLX90808 PTC-04
Software User Manual Version 1.0 Rev 1.0 Page 1 of 14 19-Aug-10 Table of Contents 1 OVERVIEW...3 1.1 CONNECTION...3 1.2 RELATED PRODUCTS...3 1.3 RELATED DOCUMENTS...3 1.4 SOFTWARE INSTALLATION...3 2 LAUNCHING
More informationE8a Emulator Additional Document for User's Manual R0E00008AKCE00EP21
REJ10J1641-0200 E8a Emulator Additional Document for User's Manual R0E00008AKCE00EP21 Renesas Microcomputer Development Environment System M16C Family / M16C/60 Series Notes on Connecting the M16C/6S Rev.2.00
More informationBoot Loader. Bootloader
October 2013 Boot Loader A program that is executed upon initial power-up that typically involves a power-on self-test, locating and initializing peripheral devices, and then loading and starting an operating
More informationTest ROM for Zaccaria 1B1165 CPU Board
Introduction Test ROM for Zaccaria 1B1165 CPU Board Version 1.2 13 June 2008 David Gersic http://www.zaccaria pinball.com One of the challenges to working on an unknown CPU board is that Zaccaria's software
More informationAN-881 APPLICATION NOTE
APPLICATION TE One Technology Way P.O. Box 9106 Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 Fax: 781.461.3113 www.analog.com Flash/EE Memory Programming via LIN Protocol 4 by Aude Richard INTRODUCTION
More informationThe Atmel ATmega328P Microcontroller
Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory 1 Introduction The Atmel ATmega328P Microcontroller by Allan G. Weber This document is a short introduction
More informationATmega128. Introduction
ATmega128 Introduction AVR Microcontroller 8-bit microcontroller released in 1997 by Atmel which was founded in 1984. The AVR architecture was conceived by two students (Alf-Egil Bogen, Vergard-Wollen)
More informationOLED Engineering Kits User Manual
OLED Engineering Kits User Manual Revision C Firmware Version 1.X NKK SWITCHES 7850 E. Gelding Drive Scottsdale, AZ 85260 Toll Free 1-877-2BUYNKK (877-228-9655) Phone 480-991-0942 Fax 480-998-1435 e-mail
More informationMP8011A. Gang Programming System
MP8011A Gang Programming System User s Manual Copyright 2000 SofTec Microsystems DC00242 SofTec Microsystems via Roma, 1 33082 Azzano Decimo (PN) ITALY Tel: (+39) 0434 640 729 Fax: (+39) 0434 632 695 E-mail
More informationHCS12 BDM Getting Started V4.3
HCS12 BDM Getting Started V4.3 Background The term BDM stands for Background Debug Mode. It is used for the system development and FLASH programming. A BDM firmware is implemented on the CPU silicon providing
More informationVineet Kumar Sharma ( ) Ankit Agrawal ( )
- A new approach to hardware security analysis - Copy Protection in Modern Microcontrollers Vineet Kumar Sharma (200601093) Ankit Agrawal (200601003) Presentation Flow Why a need of Secure of Microcontrollers?
More informationFLASH PROGRAMMER FP-8903 VER 2.00 USER S MANUAL
FLASH PROGRAMMER FP-8903 VER 2.00 USER S MANUAL FP8903 V2.00 DOC R.2.0 1 TABLE OF CONTENTS SECTION CONTENTS PAGE 1 INTRODUCTION 1.1 MANUAL CONTENTS 03 1.2 PROGRAMMER AND ACCESSORIES 03 2 FEATURES 04 3
More informationTHE 8051 MICROCONTROLLER
THIRD EDITION THE 8051 MICROCONTROLLER I. Scott MacKenzie University of Guelph Prentice Hall Upper Saddle River, New Jersey Columbus, Ohio 1 INTRODUCTION TO MICROCONTROLLERS 1 1.1 Introduction 1 1.2 Terminology
More informationFlash Loader Utility for the Z8 Encore! XP MCU
Application Note Flash Loader Utility for the Z8 Encore! XP MCU AN011806-0408 Abstract This application note describes Flash Loader utility for the Zilog s Z8 Encore! XP MCU that can be operated through
More informationMICROPROCESSOR BASED SYSTEM DESIGN
MICROPROCESSOR BASED SYSTEM DESIGN Lecture 5 Xmega 128 B1: Architecture MUHAMMAD AMIR YOUSAF VON NEUMAN ARCHITECTURE CPU Memory Execution unit ALU Registers Both data and instructions at the same system
More informationAT45DB321E. Features. 32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory
32-Mbit DataFlash (with Extra 1-Mbits), 2.3V Minimum SPI Serial Flash Memory Features Single 2.3V - 3.6V supply Serial Peripheral Interface (SPI) compatible Supports SPI modes 0 and 3 Supports RapidS operation
More informationLecture (04) PIC 16F84A programming I
Lecture (04) PIC 16F84A programming I Dr. Ahmed M. ElShafee ١ Agenda Introduction to PIC16F84A programming using C language Preprocessors and, Compiler directives Constants Variables and data types Pointers
More informationTitan silicon root of trust for Google Cloud
Scott Johnson Dominic Rizzo Secure Enclaves Workshop 8/29/2018 Titan silicon root of trust for Google Cloud 1 Cloud Perspective: We need a silicon root of trust Software infrastructure Datacenter equipment
More information16MB Sound Flash Installation Instructions for E6400 Ultra, E4XT Ultra & E-Synth Ultra
16MB Installation Instructions for E6400 Ultra, E4XT Ultra & E-Synth Ultra 6876 Use these instructions to install of rewriteable Flash Sound Memory to the E6400 Ultra, E4XT Ultra or the E-Synth Ultra.
More informationplc operation Topics: The computer structure of a PLC The sanity check, input, output and logic scans Status and memory types 686 CPU
plc operation - 8.1 Topics: The computer structure of a PLC The sanity check, input, output and logic scans Status and memory types Objectives: Understand the operation of a PLC. For simple programming
More informationS12 All-Access Bootloader for the HCS12 Microcontroller Family Rafael Peralez and Gabriel Sanchez RTAC Americas
Freescale Semiconductor Application Note Document Number: AN3275 Rev. 0, 05/2006 S12 All-Access Bootloader for the HCS12 Microcontroller Family by: Rafael Peralez and Gabriel Sanchez RTAC Americas 1 Introduction
More informationUnderstanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices,
Understanding the basic building blocks of a microcontroller device in general. Knows the terminologies like embedded and external memory devices, CISC and RISC processors etc. Knows the architecture and
More informationFERGUSON BEAUREGARD. RTU-5000 Configurator User Manual
FERGUSON BEAUREGARD RTU-5000 Configurator User Manual FERGUSON BEAUREGARD RTU-5000 Configurator User Manual The Ferguson Beauregard RTU-5000 Configurator program and manuals are Copyright 1997-2004 by
More informationThe Atmel ATmega168A Microcontroller
Ming Hsieh Department of Electrical Engineering EE 459Lx - Embedded Systems Design Laboratory The Atmel ATmega168A Microcontroller by Allan G. Weber 1 Introduction The Atmel ATmega168A is one member of
More information32-Megabit 2.7-volt Minimum SPI Serial Flash Memory AT25DF321A Preliminary
BDTIC www.bdtic.com/atmel Features Single 2.7V - 3.6V Supply Serial Peripheral Interface (SPI) Compatible Supports SPI Modes and 3 Supports RapidS Operation Supports Dual-Input Program and Dual-Output
More informationSecurity aspects in CANopen bootloaders
Security aspects in CANopen bootloaders Christian Keydel, Embedded Systems Academy One intriguing aspect of networked nodes is the option to allow their firmware to be remotely updated in the field. Some
More information8051 Microcontroller
8051 Microcontroller The 8051, Motorola and PIC families are the 3 leading sellers in the microcontroller market. The 8051 microcontroller was originally developed by Intel in the late 1970 s. Today many
More informationKeywords Digital IC tester, Microcontroller AT89S52
Volume 6, Issue 1, January 2016 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Digital Integrated
More informationTLE987xQX BF-Step. BootROM User Manual. Rev. 1.4,
TLE987xQX BF-Step BootROM User Manual Rev. 1.4, 2016-09-22 1 Introduction................................................ 5 1.1 Purpose.................................................... 5 1.2 Scope......................................................
More informationIntroduction read-only memory random access memory
Memory Interface Introduction Simple or complex, every microprocessorbased system has a memory system. Almost all systems contain two main types of memory: read-only memory (ROM) and random access memory
More informationTLE987xQX BE. BootROM User Manual. Rev. 1.3,
TLE987xQX BE BootROM User Manual Rev. 1.3, 2015-07-10 1 Introduction................................................ 5 1.1 Purpose.................................................... 5 1.2 Scope......................................................
More informationMICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS
MICROPROCESSOR AND MICROCONTROLLER BASED SYSTEMS UNIT I INTRODUCTION TO 8085 8085 Microprocessor - Architecture and its operation, Concept of instruction execution and timing diagrams, fundamentals of
More informationClock and Fuses. Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar
Clock and Fuses Prof. Prabhat Ranjan Dhirubhai Ambani Institute of Information and Communication Technology, Gandhinagar Reference WHY YOU NEED A CLOCK SOURCE - COLIN O FLYNN avrfreaks.net http://en.wikibooks.org/wiki/atmel_avr
More informationLab #2: Building the System
Lab #: Building the System Goal: In this second lab exercise, you will design and build a minimal microprocessor system, consisting of the processor, an EPROM chip for the program, necessary logic chips
More informationAli Karimpour Associate Professor Ferdowsi University of Mashhad
AUTOMATIC CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad Main reference: Christopher T. Kilian, (2001), Modern Control Technology: Components and Systems Publisher: Delmar
More informationThe Microcontroller Idea Book
The following material is excerpted from: The Microcontroller Idea Book Circuits, Programs, & Applications featuring the 8052-BASIC Microcontroller by Jan Axelson copyright 1994, 1997 by Jan Axelson ISBN
More informatione-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text
e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: 8051 Architecture Module No: CS/ES/5 Quadrant 1 e-text In this lecture the detailed architecture of 8051 controller, register bank,
More informationEmulating an asynchronous serial interface (ASC0) via software routines
Microcontrollers ApNote AP165001 or æ additional file AP165001.EXE available Emulating an asynchronous serial interface (ASC0) via software routines Abstract: The solution presented in this paper and in
More informationCMS-8GP32. A Motorola MC68HC908GP32 Microcontroller Board. xiom anufacturing
CMS-8GP32 A Motorola MC68HC908GP32 Microcontroller Board xiom anufacturing 2000 717 Lingco Dr., Suite 209 Richardson, TX 75081 (972) 994-9676 FAX (972) 994-9170 email: Gary@axman.com web: http://www.axman.com
More informationAN10210 Using the Philips 87LPC76x microcontroller as a remote control transmitter
CIRCUITS ITEGRATED CIRCUITS ABSTRACT This application note illustrates the use of an 87LPC76x microcontroller from Philips Semiconductors as an infrared RC5. Using the Philips 87LPC76x microcontroller
More informationCHAPTER 3 WIRELESS MEASUREMENT INSTRUMENT
CHAPTER 3 WIRELESS MEASUREMET ISTRUMET This chapter gives a functional description of the WMI hardware and software for implementation in IVDS. A detailed technical description is not given, but is provided
More informationIntroduction to 8051 microcontrollers
Introduction to 8051 microcontrollers Posted on May 7, 2008, by Ibrahim KAMAL, in Micro-controllers, tagged This tutorial is specially tailored to electronics and robotics hobbyists that have already realized
More informationContents. Main Memory Memory access time Memory cycle time. Types of Memory Unit RAM ROM
Memory Organization Contents Main Memory Memory access time Memory cycle time Types of Memory Unit RAM ROM Memory System Virtual Memory Cache Memory - Associative mapping Direct mapping Set-associative
More informationComputer-System Organization (cont.)
Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,
More information