Abstract

For many engineers, porting existing program code to new architecture is a typical task. With the Cortex-M3 products starting to emerge on the market, many face the challenge of porting ARM7TDMI, referred to as ARM7, code to the Cortex-M3. This chapter evaluates a number of aspects involved in porting applications from the ARM7 to the Cortex-M3. There are several areas to consider when one is porting from the ARM7 to the Cortex-M3: system characteristics, assembly language files, C language files, and optimization. There are a number of system characteristic differences between ARM7-based systems and Cortex-M3-based systems such as memory map, interrupts, MPU, system control, and operation modes. The most obvious target of modification in porting programs between different microcontrollers is their memory map differences. In the ARM7, memory and peripherals can be located in almost any address, whereas the Cortex-M3 processor has a predefined memory map. Memory address differences are usually resolved in compile and linking stages. Peripheral code porting could be more time consuming because the programmer model for the peripheral could be completely different. In that case, device driver codes might need to be completely rewritten. Many ARM7 products provide a memory remap feature so that the vector table can be remapped to the SRAM after boot-up. In the Cortex-M3, the vector table can be relocated using the NVIC register so that memory remapping is no longer needed. Therefore, the memory remap feature might be unavailable in many Cortex-M3 products.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.