pdf

Key points for developing embedded system programs based on ARM (VI) - Techniques for developing efficient programs

  • 2013-09-29
  • 267.32KB
  • Points it Requires : 2

              Key points of embedded system program development based on ARM (VI) - Skills for developing efficient programs Industry Technology & Information I ND US TR Y TECH & I NF O Key points of embedded system program development based on ARM (VI) - Skills for developing efficient programs ■ ARM China Fei Zheping Developing efficient programs involves many aspects, including programming style, algorithm implementation, and special optimization for targets. This part mainly introduces several points to pay attention to in program development based on the characteristics of ARM architecture. To perform sign extension in a 32-bit register, for signed variables, two instructions, logical left shift (LSL) followed by arithmetic right shift (ASR), are required to complete the sign extension; for unsigned variables, a logical and (AND) instruction is required to clear the sign bit. Therefore, it is most efficient to use 32-bit int or unsigned int local variables. int wordinc (int a) { return a + 1; } short shortinc (short a) { return a + 1; } wordinc ADD a1,a1,#1 MOV PC,LR shortinc ADD a1,a1,#1 MOV a1,a1,LSL #16 MOV a1,a1,ASR #16 MOV PC,LR1Variable definition Although variable definition is very simple, there are many things worth noting. Let\'s take a look at the following example: char short char int a; b; c; d; char char short int a; c; b; d; The four variables defined here are all the same, but the order is different, which leads to different data layouts in the final image, as shown in Figure 1. Obviously, the second method saves more memory space. char charinc (char a) { return a + 1; } charinc ADD a1,a1,#1 AND a1,a1,#&ff MOV PC,LR……             

unfold

You Might Like

Uploader
nonogugu66
 

Recommended ContentMore

Popular Components

Just Take a LookMore

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号
×