TechOnline India Header
Most Popular
Top 5 Courses
  • Fundamentals of PCB Design
  • Fundamentals of Multicore Programming
  • Eliminating Audible Transients in Audio Systems
  • DC-DC Converter Theory
  • Fundamentals of Wireless
    Most Popular
    Top 5 Technical Papers
  • Digital Signal Processing: A Practical Guide (Part 1)
  • SDRAM Memory Systems: Architecture Overview and Design Verification
  • ARM Platform Technical Overview
  • Reference Design for a SEPIC LED Driver
  • Solving the System-Level Thermal Management Challenges of LEDs
    Most Popular
    Top 5 Webinars
  • Designing embedded HMIs and connecting them to hardware
  • Is Android the Right Foundation for Your Next Device?
  • 2009 Embedded Market Study
  • Maximizing OpenGL(R) ES 2.0 on GPUs for Embedded Applications
    All Articles Products Courses Papers VirtuaLabs Webinars
    Top Search Items
    scsi


    Techpaper Spotlight

    Wind River
    Accelerating the Development of Embedded Linux Devices with JTAG On-Chip Debugging
    /
        Login | Register | Welcome, Guest

    Topics
    POLL
    How much code have you produced in your career?
    A few KLOC
        38%
    100s of KLOC
        44%
    Millions of LOC
        11%
    A trillion
        7%
     



    Migrating ARM7 code to a Cortex-M3 MCU
    There's a new ARM embedded core in town. Here's a step-by-step guide to porting your code to the Cortex-M3.
    Embedded.com

    The ARM Cortex-M3 core has enhancements to its architecture that result in increased code execution speed, lower power consumption, and easier software development (Table 1). The result is a true real-time core that overcomes real-time processing limitations of the ARM7TMI core. Over time, most ARM7-based designs will be migrated to the Cortex-M3.

    View the full-size image

    Although ARM has done a lot to make it easy to port legacy code from the ARM7 to the Cortex-M3 core, more remains to be done. The purpose of this two-part article is to take you step-by-step through the porting process, so you will have no excuses when your boss asks to you to port some legacy code and have it ready by last Wednesday.

    One of the most helpful things ARM has done is to make sure that Cortex-M3 support has been added to every ARM tool chain, which makes code compilation a straightforward process that can be done in just a few days in most situations. In fact, the most important consideration when migrating a legacy ARM7 design to the Cortex-M3 is selecting a device with peripheral hardware that is identical to that on the ARM7 in the current design. If the programming interface is different, new peripheral drivers will be required. This effort could add days or weeks to the schedule (never a good thing).

    Using an M3 with identical peripheral hardware enables the software engineer to reuse most (if not all) of his C language driver code, saving days or even weeks of learning the nuances of new peripherals often associated with developing a robust driver from point zero. Vendor-supplied header files handle any relocation of peripheral register addresses--the developer simply includes the file for the Cortex-M3 device and recompiles the code.

    There are, however, several differences between the Cortex-M3 and the ARM7TDMI that engineers must address (shown in Table 2) in their designs. Initially in this article, I'll explore the issues that arise in dealing with exception vector table formating, startup code/stack configuration, RAM functions remapping, and hardware interrupt configuration. Part 2, available online at Embedded.com, will address software interrupts, fault handling, the SWP (setwatchprops) command, instruction time, assembly language, and optimizations.

    1 | 2 | 3 | 4 | 5 | 6 NEXT >
     
     
    Latest Webinars
    · The Next Generation of Ethernet: How the New IEEE Standards Enable Energy Efficiency and Quality-of-Service
    · Simplified Physical Layer Receiver Test of Re-timed Architectures Such as USB 3.0, SATA, SAS, PCIe 2
    · How to solve the most common high-speed bus issues in embedded design on a budget
    · Early access to ARM Core Technology with Fast Models from ARM
    · Latest MIPI Standards: PHY and Protocol Testing Guidance
     
    Member Company Spotlight
    National Instruments
     

    Multicore processors present new software challenges that must be overcome to fully take advantage of processing capabilities. Read technical white papers to learn more or view a webinar with a panel of experts.


    Member Companies