嵌入式系统程序可移植性设计及性能优化---目录

时间:2021-07-08 21:59:57

嵌入式系统程序可移植性设计及性能优化

Sailor_forever  sailing_9806@163.com 转载请注明

http://blog.csdn.net/sailor_8318/archive/2008/07/16/2663148.aspx

 

 

【摘要】在嵌入式系统的程序设计中,由于软硬件平台的多变性,对程序的可移植性、可扩充性、可裁减性及可维护性等有更严格的要求。本文从宏定义设计、数据结构设计及函数设计等方面,简单介绍了可移植性的设计问题。在嵌入式应用中非常注重代码的时空效率,即产生的代码运行时间和占用的存储空间尽可能少。程序设计一章介绍了如何提高程序的运行效率的相关技巧。

 

【关键词】嵌入式,可移植性,可维护,可裁减,宏定义设计,数据结构设计,时空效率



 

目录

 

1   宏定义设计

1.1     为何要采用宏定义?

1.2     宏定义的基本规则

1.3     依赖关系定义宏改善移植性

1.4     通过偏移量和掩码进行位操作

2   数据结构设计

2.1     结构体中成员对齐规则

2.1.1        自然对界

2.1.2        指定对界

2.2     合理设计成员顺序

2.2.1        减少结构体存储空间

2.2.2        填充部分域,避免字节对齐问题

2.2.3        字节对齐问题实例

2.3     采用位域构造结构体

2.3.1        位域设计传输协议

2.3.2        位域的可移植性问题

2.3.3        位域设计硬件配置字

2.4     通过union和struct传递不同格式报文

2.5     将相关功能变量封装为结构体

3   函数设计

3.1     避免过多函数参数,提高调用性能

3.2     合理设计模块,减小耦合度

3.3     用宏函数提高时间效率

3.3.1        宏参数的基本规则

3.3.2        宏语句的基本规则

3.3.3        宏的副作用

3.4     Const修饰输入指针参数

4   程序设计

4.1     循环转置

4.2     减小运算强度

4.2.1        位操作实现求余运算

4.2.2        用移位实现乘除法运算

4.2.3        将循环体内的乘法运算改成循环自加运算

4.3     减少不变计算

4.3.1        循环内部避免恒定式

4.3.2        避免结构体深度访问

4.4     减少存储访问指令周期和个数

4.5     查表

4.6     使用自加、自减指令

4.7     根据频率进行case 排序

4.8     函数指针表替代switch-case