Hercules ARM Cortex -R4 System Architecture. Memory Protection Unit (MPU)

Similar documents
Hercules ARM Cortex -R4 System Architecture. Processor Overview

AN4838. Managing memory protection unit (MPU) in STM32 MCUs. Application note. Introduction

1 Do not confuse the MPU with the Nios II memory management unit (MMU). The MPU does not provide memory mapping or management.

C66x KeyStone Training HyperLink

ARM architecture road map. NuMicro Overview of Cortex M. Cortex M Processor Family (2/3) All binary upwards compatible

Exercise: PWM Generation using the N2HET

Cortex-M3/M4 Software Development

RM4 - Cortex-M7 implementation

ARM Cortex-M and RTOSs Are Meant for Each Other

C66x KeyStone Training HyperLink

Using the i.mxrt L1 Cache

ARM CORTEX-R52. Target Audience: Engineers and technicians who develop SoCs and systems based on the ARM Cortex-R52 architecture.

AN5123 Application note

Topic 3. ARM Cortex M3(i) Memory Management and Access. Department of Electronics Academic Year 14/15. (ver )

Kinetis Software Optimization

RISC-V Core IP Products

RM3 - Cortex-M4 / Cortex-M4F implementation

TMS570LS Microcontrollers: Using the NHET as a General Purpose I/O Pin

Tutorial 1: C-Language

Using the i.mxrt L1 Cache

Chapter 8 :: Topics. Chapter 8 :: Memory Systems. Introduction Memory System Performance Analysis Caches Virtual Memory Memory-Mapped I/O Summary

Universität Dortmund. ARM Architecture

AT09381: SAM D - Debugging Watchdog Timer Reset. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

Digital Logic & Computer Design CS Professor Dan Moldovan Spring Copyright 2007 Elsevier 8-<1>

The Next Steps in the Evolution of ARM Cortex-M

The Next Steps in the Evolution of Embedded Processors

M2351 TrustZone Program Development

ARMv8, for the ARMv8-R AArch32 architecture profile

M2351 Security Architecture. TrustZone Technology for Armv8-M Architecture

ARM Processors for Embedded Applications

Embedded System Design

Chapter 5. Introduction ARM Cortex series

Implementing Secure Software Systems on ARMv8-M Microcontrollers

Cortex-R5 Software Development

Using Endianess Conversion in the OMAP5910 Device

Cortex-M3/M4 Software Desig ARM

32-bit Embedded Core Peripheral. Cache Memory. and Bus Interface Unit

Cortex-M Software Development

Lecture 10 Exceptions and Interrupts. How are exceptions generated?

Migrating to Cortex-M3 Microcontrollers: an RTOS Perspective

Operating System Support

ARMv8-A Memory Systems. Systems. Version 0.1. Version 1.0. Copyright 2016 ARM Limited or its affiliates. All rights reserved.

CEC 450 Real-Time Systems

How to use FlexMemory as D-Flash and EEPROM in KE1xF

MPC5743R Single Core Initialization

A+3 A+2 A+1 A. The data bus 16-bit mode is shown in the figure below: msb. Figure bit wide data on 16-bit mode data bus

Hi Hsiao-Lung Chan, Ph.D. Dept Electrical Engineering Chang Gung University, Taiwan

ARM Accredited Engineer Certification

ARMv8-A Software Development

SiFive E31 Core Complex Manual v2p0. SiFive, Inc.

Input/Output Programming

ARM. Cortex -M7 Devices. Generic User Guide. Copyright 2015 ARM. All rights reserved. ARM DUI 0646A (ID042815)

ARM ARCHITECTURE. Contents at a glance:

AMULET2e PRELIMINARY. 32-bit Integrated Asynchronous Microprocessor. Features. Introduction

EE251: Thursday November 15

RZ/A1x Series Serial Flash Memory Instructions Manual

IDT Tsi620 Address Translation Application Note November 30, 2011

Multi-core microcontroller design with Cortex-M processors and CoreSight SoC

Kinetis Flash Tool User's Guide

CODE TIME TECHNOLOGIES. mabassi RTOS. BSP Document. ARMv7 Caches (GCC)

Cortex-M3 Reference Manual

Course Introduction. Purpose: Objectives: Content: 27 pages 4 questions. Learning Time: 20 minutes

Shedding too much Light on a Microcontroller s Firmware Protection. Johannes Obermaier, Stefan Tatschner, August 15, 2017

ELC4438: Embedded System Design ARM Cortex-M Architecture II

ECE 471 Embedded Systems Lecture 2

RA3 - Cortex-A15 implementation

HT32 Series Microcontrollers PDMA Description

AN316 Determining the stack usage of applications

Single Master DMA Controller (PL081) PrimeCell. Technical Reference Manual. Revision: r1p2

IoT Subsystem for Cortex -M ARM. Technical Reference Manual. Revision: r0p0. Copyright All rights reserved. ARM DDI 0551A (ID120415)

Pointers (1A) Young Won Lim 2/6/18

ARM TrustZone for ARMv8-M for software engineers

Hitex ARM Conference. Future Proof Software

Pointers (1A) Young Won Lim 3/5/18

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to

Reference Guide For SRecCvt

Advanced optimizations of cache performance ( 2.2)

Topic 3. ARM Cortex M3(i) Memory Management and Access. Department of Electronics Academic Year 14/15. (ver )

Hello, and welcome to this presentation of the STM32 Flash memory interface. It covers all the new features of the STM32F7 Flash memory.

Programming in the MAXQ environment

ARM Cortex core microcontrollers 3. Cortex-M0, M4, M7

ARM Processor. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Pointers (1A) Young Won Lim 2/10/18

This training session will cover the Translation Look aside Buffer or TLB

Portland State University ECE 587/687. Virtual Memory and Virtualization

Trident Robotics and Research, Inc. User Documentation Department 2516 Matterhorn Drive Wexford, PA (412)

Chapter 9: Virtual-Memory Management. Operating System Concepts 8 th Edition,

NATIONAL CONTROL DEVICES Fusion ProXR Advanced Quick Start Guide

5 MEMORY. Overview. Figure 5-0. Table 5-0. Listing 5-0.

Pointers (1A) Young Won Lim 1/22/18

Lab 4 Interrupt-driven operations

TrustZone Address Space Controller TZC-380. CoreLink. Technical Reference Manual. Revision: r0p1

AN4943 Application note

Resilient IoT Security: The end of flat security models

ARM Cortex-M4 Programming Model Memory Addressing Instructions

How to manage Cortex-M7 Cache Coherence on the Atmel SAM S70 / E70

Subroutines and the Stack

The Definitive Guide to the ARM Cortex-M3

Memory Management. Disclaimer: some slides are adopted from book authors slides with permission 1

H-JTAG USER MANUAL

Transcription:

Hercules ARM Cortex -R4 System Architecture Memory Protection Unit (MPU)

Memory Protection Unit (MPU): Regions 8, 12, or 16 regions ARM Cortex-R5 has 16 regions ARM RM42 (Corona) has 8 regions All other Hercules ARM processors have 12 regions The region with highest region number has the highest priority. Overlay of regions is possible. Regions are defined based on the following: Base address Region size Sub-regions Region attributes Region access permissions NOTE: Before enabling the MPU, at least one region has to be defined. Otherwise the CPU can get into a state which can only be recovered by reset!

Memory Protection Unit: Memory map by region TMS570 Default Memory Map Region 12 Region1 Instruction Memory Type Data Memory Type Address Range Cache enabled Cache disabled Cache enabled Cache disabled Execute Never 0xFFFFFFFF 0xFFF80000 0xFFF7FFFF 0xFFF78000 0xFFA0FFFF 0xFFA00000 0xFF7FFFFF 0xFF000000 0xFEFFFFFF 0xFE000000 0xFDFFFFFF 0xFD000000 0x64FFFFFF 0x60000000 0x1FFFFFFF 0x18000000 0x17FFFFFF 0x08000000 0x00FFFFFF 0x00000000 System Registers Peripheral Registers Coresight Debug Peripheral Memory Normal Normal Strongly Ordered Strongly Ordered Execute Never Normal Normal Strongly Ordered Strongly Ordered Execute Never Normal Normal Strongly Ordered Strongly Ordered Execute Never Normal Normal Strongly Ordered Strongly Ordered Execute Never CRC Normal Normal Strongly Ordered Strongly Ordered Execute Never HPI Normal Normal Strongly Ordered Strongly Ordered Execute Never External Memory Flash Swap esram Program Memory Normal, Cacheable, Non- Normal, Cacheable, Non- Normal, Cacheable, Non- Normal, Cacheable, Non- Normal, WBWA- Normal, WBWA- Normal, WBWA- Normal, WBWA- Cacheable, Cacheable, Cacheable, Cacheable, Execution Permitted Execution Permitted Execution Permitted Execution Permitted

Memory Protection Unit: Memory Attributes Strongly-ordered (so) and Device (dev): Explicit load/stores to strongly-ordered and device regions always produce the exact size and number of transactions. Accesses to strongly-ordered and device regions always appear in the order they are listed in the program. Strongly-ordered versus Device: Strongly-ordered access are ordered with respect to *all* other explicit load/stores. Device accesses are only ordered with respect to other device accesses. Normal (norm): Load/stores to normal memory regions may result in any size and number of transactions. For example: Two neighboring half-word stores might be merged into a single-word write. With respect to ordering, accesses to normal memory may be reordered. Examples: load-norm-a, load-dev-b, load-dev-c, load-norm-d could be performed as ADBC, or even DBCA; load-norm-a, load-so-b, load-so-c, load-norm-d must be performed as ABCD.

Memory Protection Unit: Memory Regions Base Address Defines start of memory address range Has to be multiple of region size (e.g. 256 byte region aligned on 256 byte boundary) Non-size aligned regions might result in unpredictable behavior Region size: From 32B up to 4GB Region attributes: Define access permissions for a region Memory type (strongly ordered, normal, device), non-shared Non-cachable Write-through cachable Write-back cachable

Memory Protection Unit: Overlapping Memory Regions & Sub-regions Overlapping regions: Higher-numbered region defines access permission. Provides more flexibility to protect memory which is not region-size aligned. Region2 Region 1 0x08001FFF user mode write access to 0x08001900 0x08001800 0x08000000 Region 1: User mode Read/Write Region 2: Privileged Write Data Abort Sub-regions: Each region can be split into 8 equal size, nonoverlapping sub-regions. Sub-regions can be enabled/disabled in the CP15 (MPU Region Size and Enable Register). Region sizes below 256 bytes do not support sub-regions. Region 1 Guard-Region 0x08005FFF 0x080043FF 0x08004000 write access to 0x08004100 Region 1: Has 8 sub-regions Sub-region 1 is disabled Data Abort

For more information SafeTI Web Page: www.ti.com/safeti Hercules Web Page: www.ti.com/hercules Data sheets Technical Reference Manual Application notes Software & tools downloads and updates Order evaluation and development kits Hercules Safety Microcontrollers Training Series training.ti.com/hercules Cortex-R Processor Architecture Peripherals Software Functional Safety For questions about this training, refer to the Engineer-2-Engineer Support Forum www.ti.com/hercules-support News and announcements Ask technical questions Search for technical content

TI Information Selective Disclosure