© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose This training course explains how to use section setting and memory mapping in the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs) from Renesas Technology Corp. Objectives Understand how section setting and memory mapping are used to manage memory Learn how these activities are performed in the HEW Integrated Development Environment Content 13 pages 1 question Learning Time 20 minutes
© 2008, Renesas Technology America, Inc., All Rights Reserved 2 Overview Section Setting Coding Compiling/ Linking Simulator Emulator Memory Mapping Debugging Download module Determines where code and data reside in the MCU Determines where code and data reside in the Debugging Platform
© 2008, Renesas Technology America, Inc., All Rights Reserved 3 Understanding Sections Section consists of segments of addresses dedicated for a specific use Section Settings determine where code or data reside in the MCU address space Section consists of segments of addresses dedicated for a specific use Section Settings determine where code or data reside in the MCU address space Interrupt vector Program area (P) Constant area (C) Initialised data area (D) Initialised data area (R) Non-initialised data area (B) ROM RAM Stack area (S)
© 2008, Renesas Technology America, Inc., All Rights Reserved 4 Editing a Section Select Build, then the Standard Toolchain Select Link/Library, Section, Edit Several editing options are available 1 2 3
© 2008, Renesas Technology America, Inc., All Rights Reserved 5 Pragma and Section Setting “#pragma section new_code_area” is defined in the program Add a new section, “Pnew_code_area”, for the pragma section declaration
© 2008, Renesas Technology America, Inc., All Rights Reserved 6 Custom Sections Created easily with Standard Toolchain options Available for H8 and SuperH targets
© 2008, Renesas Technology America, Inc., All Rights Reserved 7 Section Output Check (Manual) Generate MAP File “Enable all” in C/C++ and Link/Library List “Generate List” in Assembly List View MAP File With Mapview With standard text editor Mapview Standard text editor
© 2008, Renesas Technology America, Inc., All Rights Reserved 8 Section Output Check (Automatic) Verify compiler output against CPU information Select Link/Library, Verify, Check Key-in Start and End addresses for ROM and RAM areas Linker generates warning if code exceeds address areas
© 2008, Renesas Technology America, Inc., All Rights Reserved 9 Memory Mapping Specifies location and attributes of code for debugging Is required prior to simulation or emulation Is mostly performed automatically by HEW, which allocates memory resources for debugging Specifies location and attributes of code for debugging Is required prior to simulation or emulation Is mostly performed automatically by HEW, which allocates memory resources for debugging
© 2008, Renesas Technology America, Inc., All Rights Reserved 10 Memory Types for Debuggers Emulator and Simulator: - Read/Write (RAM, I/O) - Read Only (ROM) - Guarded Additional for Emulator: - Optional - External - On-chip
© 2008, Renesas Technology America, Inc., All Rights Reserved 11 Memory Information Memory window shows memory map, memory resources Map GUI shows graphical overview of memory mapping Physical map For simulator Option-> Simulator-> Memory Resource… View -> Map… Physical memory map & Memory resource: updated during debugger session Linker map list & Linker section setting: displayed when compiler toolchain is used
© 2008, Renesas Technology America, Inc., All Rights Reserved 13 Section setting in HEW Verifying the generated output Memory mapping in the debugger Course Summary Download a free evaluation copy of HEW at: