摘要:
今天做了个试验,让Linux2.6.29.4从ramdisk根文件系统启动成功,总结一下。其中涉及的内容较多,很多东西不再详述,如需深入研究请查阅相关资料(百度或谷歌一下一大堆)。开发环境:Fedora 9交叉编译工具链:arm-linux-gcc 4.3.2 with EABI嵌入式Linux内核... 阅读全文
摘要:
前两天学Win32 API的时候接触到了句柄,当时就对这个句柄是什么比较好奇,但Windows内核的东西天知道呢,毕竟是C做出来的,再神秘也逃不了C的范畴,就如此文标题一样:与指针有关!这里就再复习下指针吧...在C语言中几乎可以创建指向任何类型的指针,包括用户自定义的类型。创建结构体指针是极常见的... 阅读全文
摘要:
对指针的应用是C语言编程的精髓所在,而回调函数就是C语言里面对函数指针的高级应用。简而言之,回调函数是一个通过函数指针调用的函数。如果你把函数指针(函数的入口地址)传递给另一个函数,当这个函数指针被用来调用它所指向的函数时,我们就说这个函数是回调函数。为什么要使用回调函数呢?我们先看一个小例子:No... 阅读全文
摘要:
C语言嵌入式系统编程修炼之性能优化使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法:#define MIN(A,B) ( A 外部同步RAM ... 阅读全文
摘要:
C语言嵌入式系统编程修炼之屏幕操作汉字处理 现在要解决的问题是,嵌入式系统中经常要使用的并非是完整的汉字库,往往只是需要提供数量有限的汉字供必要的显示功能。例如,一个微波炉的LCD上没有必要提供显示"电子邮件"的功能;一个提供汉字显示功能的空调的LCD上不需要显示一条"短消息",诸如此类。但是一部... 阅读全文
摘要:
C语言嵌入式系统编程修炼之(五)键盘操作处理功能键 功能键的问题在于,用户界面并非固定的,用户功能键的选择将使屏幕画面处于不同的显示状态下。例如,主画面如图1:图1 主画面 当用户在设置XX上按下Enter键之后,画面就切换到了设置XX的界面,如图2:图2 切换到设置XX画面 程序如何判断用户... 阅读全文
摘要:
C语言嵌入式系统编程修炼之内存操作 数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力。在嵌入式系统的实际调试中,多借助C语言指针所具有的对绝对地址单元内容的读写能力。以指针直接操作内存多发生在如... 阅读全文
摘要:
C语言嵌入式系统编程修炼之软件架构篇 模块划分 模块划分的"划"是规划的意思,意指怎样合理的将一个很大的软件划分为一系列功能独立的部分合作完成系统的需求。C语言作为一种结构化的程序设计语言,在模块的划分上主要依据功能(依功能进行划分在面向对象设计中成为一个错误,牛顿定律遇到了相对论),C语言模块化... 阅读全文
摘要:
C语言嵌入式系统编程修炼之背景篇 不同于一般形式的软件编程,嵌入式系统编程建立在特定的硬件平台上,势必要求其编程语言具备较强的硬件直接操作能力。无疑,汇编语言具备这样的特质。但是,归因于汇编语言开发过程的复杂性,它并不是嵌入式系统开发的一般选择。而与之相比,C语言--一种"高级的低级"语言,则成为嵌... 阅读全文