kingpoo的笔记 https://passport2.21ic.com/?40464 [收藏] [复制] [RSS] 转眼间已经和电子这个行业打了五年多的交道了,五年中辛酸过、快乐过、失落过、激情高涨过......;愿在此与大家交流自己的开发心得,也期待着大家的批评......

日志

嵌入式开发专题:C语言嵌入式系统编程修炼

已有 1053 次阅读2007-5-7 22:40 |系统分类:嵌入式系统| 嵌入式开发, C语言, 嵌入式系统

同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,由于汇编语言开发的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌入式系统开发的最佳选择。








背景篇







  本文的讨论主要围绕以通用处理器为中心的协议处理模块进行,因为它更多地牵涉到具体的C语言编程技巧。本文讲述的28个主题可分为两类,一类是编程技巧,有很强的适用性;一类则介绍嵌入式系统编程的一般常识,具有一定的理论意义。
                  






软件架构篇







  软件结构是软件的灵魂!结构混乱的程序面目可憎,调试、测试、维护、升级都极度困难。

  一个高尚的程序员应该是写出如艺术作品般程序的程序员。

          

内容要点

·模块划分
·多任务还是单任务
·单任务程序典型架构
·中断服务程序
·硬件驱动模块
·C的面向对象化






 内存操作篇







  C语言最精华的内涵皆在内存操作中体现。我们之所以在嵌入式系统中使用C语言进行程序设计,99%是因为其强大的内存操作能力!

  如果你爱编程,请你爱C语言;
  如果你爱C语言,请你爱指针;
  如果你爱指针,请你爱指针的指针!

          

内容要点

·数据指针
·函数指针
·数组vs.动态申请
·关键字const
·关键字volatile
·CPU字长与存储器位宽不一致处理






 屏幕操作篇







  屏幕乃嵌入式系统生存之重要辅助,面目可憎之显示将另用户逃之夭夭。屏幕编程若处理不好,将是软件中最不系统、最混乱的部分,笔者曾深受其害。  

          

内容要点

·汉字处理
·系统时间显示
·动画显示
·菜单操作
·模拟MessageBox函数






 键盘操作篇







  计算机学的许多知识都具有相通性,因而,不断追赶时髦技术而忽略基本功的做法是徒劳无意的。我们最多需要"精通 "三种语言,最佳拍档是汇编、C、C++(或JAVA),很显然,如果你"精通"了这三种语言,其它语言你应该是可以很快"熟悉"的,否则你就没有"精通 "它们。  

内容要点

·处理功能键
·处理数字键
·整理用户输入






 性能优化篇 







  在性能优化方面永远注意80-20准备,不要优化程序中开销不大的那80%,这是劳而无功的。除了编程上的技巧外,为提高系统的运行效率,我们通常也需要最大可能地利用各种硬件设备自身的特点来减小其运转开销。 

         
内容要点

·使用宏定义
·使用寄存器变量
·内嵌汇编
·利用硬件特性
·活用位操作


作者:宋宝华   更新日期:2005-07-22
来源:yesky.com


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)