4、系统性能优化
嵌入式系统在开发中的优化十分重要。根据处理器的性能,尽可能地提高代码运行速度,减少代码和数据存储空间,这是系统优化所要解决的基本问题。虽然C编译器提供了一定的代码优化,但编译器的优化仅涉及执行速度和代码大小的平衡,不能使程序达到小而精,因而必须在开发程序时采取一定的优化方案。系统调试中,在确保系统稳定工作的基础上,采取了以下的措施进行系统优化。
对于代码优化主要采取以下措施:
(1)、根据发生频率对条件跳转语句排序,提高代码运行速率。 例如switch-case、if这类语句,程序中使用了很多,而每一个由机器语言实现的测试和跳转仅是为了决定下一步要做什么,这样就浪费了处理的时间。优化时对具体情况按照发生的相对频率排序,即把最常发生的情况放在第一位,最不可能发生的情况放在最后,这样会减少平均的代码执行时间,从而有效的提高程序的运行速度。
(2)、尽量使用全局变量,减少函数调用参数。 这样比向函数传递参数效率更高,去除了函数调用前参数入栈和函数完成后参数出栈。
(3)、努力减小代码的大小。
尽量避免使用标准库例程,很多大的库例程没法处理所有可能的情况,会占用庞大的内存空间,因而应尽可能地减少使用标准库例程。 对于存储区优化问题,是使用了下面一些方法进行的:
(1)、使用前述协议栈开发提到的共用缓冲区的方法。
由于基于协议的数据封装的特点,在对共用缓存区的数据进行处理时,只需在程序中使用地址指针进行调用,这样在保证系统正常工作的前提下,大幅度减少了对数据存储空间的需求。同时,使用指针代替数组索引还能使代码运行速度加快。
(2)、编程时将一些固定的数据定义为代码类型,同样可以有效的减少存储区的使用量。
优化过程中,还考虑到代码优化与存储区占用量的相互影响,以及程序可读性等问题。综合考虑以上因素后,通过以上的措施以及对协议实现的具体优化,得到了优化的以太电话系统。在优化前的程序,数据段需要至少150K字节;优化后的系统中,数据段不到70K。同时,系统的响应速度也得到较大提高。由此可以看出,对程序的合理优化,对提高程序运行的稳定性和系统处理速度,都可以起到至关重要的作用。
四、结束语 嵌入式以太网技术作为嵌入式系统发展的热点之一,越来越多的解决方案在不断的被提出和验证。本文提出的设计是在现有的以太网嵌入式系统基础上,使用SDA80D51芯片,实现较高性价比的以太网电话机。由于该芯片的集成度很高,设计电路时就省去了许多的相关模块,使得设计得到的硬件简单,便于调试检测。同时通过对协议栈等的优化,使系统达到了预期的低成本,高可靠性等特点。该设计得到的样机,工作稳定、可扩展性强,在以太网环境的语音传输完全可以达到预期目标,整个设计方案和实现方法是可行的。
|