基于arm的c语言程序设计,基于ARM系统中C语言程序设计优化

基于 系统中 语言程序设计优化

邹 小青 顺德职业技术学 院 广 东 佛 山

【摘 要】是一种 高性能、低 功耗 的 位 嵌入式处理器 系列 。 目前在各种嵌入 式系统 中 获得 了广泛 的应用 。本文就 系统 中 语 言程序 的设 计优化 进行 了探 讨,详 细阐述 了 架构软件设计 的基本原 则,并介绍 了 语言程序设计优化的要点和步骤,以期 能为更好地进行 语 言程序设 计优 化而提 供参考借 鉴。 【关键 词】系统 语言程序设 计优化 基本原则 中图分类号:文献标识码: 文章编号 :()

随着计算机技术尤其是计算机信息控 制技术 的深入发展 ,嵌 入式技 术得 以出现 ,并已在众 多消费类 电子产品中得到成熟应用 ,如汽车电子 设备 、视频 电子产品 、智能家 电等 ,目前正在向装备制造业领域 、工业 自动化控制 、航天产品 、网络等高端领域蔓延。而 系统 语言的程 序设计优化也是其 中应用的重要方面。基于此 ,本文就 系统 中 语 言程序 的设计优化进行 了探讨 ,以期 能为有关方面的需要提供参考借鉴。

一 、 架 构 软 件 设 计 的 基 本 原 则

(一 )正 确 使 用 存 储 器 在嵌入式系统中广泛采用 的哈佛结构将数据 和代码独立编址 。要发 挥哈佛结构的潜力 ,首先就需要正确配置和使用高速数据缓存。以 体系中的多级缓存为例 ,如果访问 缓存要花费 个时间单位 ,可 能需要 个时间单位 ,访 问外部存储器甚至高达 个 时间单位 ,并且 能耗也会随之显著提高 。正确使用存储器的原则是:尽可能使用寄存器 ; 最大化使用高速数据缓存。

(二 )减 少执 行 的指 令 数 指令 的执行对能耗和时耗影响很大 。执行的指令数越少 ,其消耗越 少。编译代码 时,以最小代码原则编译有时 比以最快速度原则编译得到 的代码更为高效 。这是因为代码段越小 ,就更有可能全都存放到高速缓 存 ,从而极 大提高缓存的命中率。 良好 的软件设计应该 同时考虑到存储 和速度这两个主要因素 。

(三 )熟 悉 系统 知 识 通常 ,优 秀的软件系统需要将其数据类型和平台系统架构相 甄配 , 高层代码和底层指令集匹配 ,存储器操作和运行环境匹配等等 ,这样才 能让软件在该平 台上发挥更大的功效 。所 以,为了提高代码效率 ,嵌入 式软件工程师至少应该知道 架构上诸 如函数调用和存储结构之类 的系统知识 。

(四 )合 理 配 置 编译 器

如果没有 明确设定编译选项 ,编译器在编译程序时就会采用 它认为 最好 的选择。以指针为例 ,语言编译器默认选项可 以通过任何 指针 的 任何写操作来改变 内存 中任何数据的值。这种所谓的 “最好选择 ”很多 时候都是软件 系统崩溃的诱 因。

(五 )合 理使 用 指 令 系统提供了一些关键字 ,可以进一步优化编译过程。如下例所示:

(;

(;;)… 示例中的语句是一个断言表达式 ,程序在此处必须满足特定 的条件 。这里 ,它告诉编译器 ,循环计数器必须大于 。则编译器就可以 将 循环看做 循环 ,不需要测试循环初始条件。 发展很快 ,但是 对一些较新 的,在 语言中没有对应语 法规范 的指令做 了一定程度 的封装 ,从而可 以在 中直接使用 。当然 , 熟练 的程序员可以手工编写 汇编程序来调用这些指令 。下例代码 实现了 一 个复杂的乘法 ,其中使用 了 的 和 指令 。这种不 需要在汇编级编程 的最大优势就是提高了程序的可移植性和可读性 。 ( ,)(

((

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值