码迷,mamicode.com
首页 > 编程语言 > 详细

嵌入式linux C语言入门教程

时间:2014-11-03 16:07:17      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:ar   os   使用   sp   文件   问题   代码   bs   linux   

假设你已经学会了基本的C语言语法。
1.编程的一般过程。

  1)设计整个程序的框架。在开始编写程序源代码之前,你要根据需求对整个程序进行设计。程序通常是由多个模块组成的,也许你负责的也只是一个程序中的一个模块,当然你也可以将模块再分为几个子模块,直到你认为不需再分。需要模块定义与其他模块的接口,通常是.h头文件。不必强求很细致的设计,可以在编程和调试过程中补充。

  2)按照框架编写源代码。一般会在编程过程中发现之前设计的不合理处,加以修改。有时可以在编写一个(子)模块后,编写简单的测试程序检验和调试一下这个(子)模块。

  3) 调试源代码。大家都会犯错的,编译器会告诉你程序中一部分语法错误或者警告,请尽量确保完成的程序中没有任何警告。调试可以通过调试器(linux下一般是gdb)来完成,也可以仅仅通过打印(printf等)完成,初学者通常只使用后者。调试过程中有时也会发现编程的疏漏甚至是设计的不合理,修改之。

  4) 测试。将你认为已经不存在问题的程序交由其他人(测试人员/用户)使用,通常他们会发现一些你没有预料到的问题。

2.linux简介

  linux操作系统指的是使用linux内核的操作系统。linux内核由linus Torvalds在1991年首次发布,它是一个类UNIX内核,linux内核是分时的,支持多进程、多线程、多处理器、多用户。

  linux操作系统使用的应用程序绝大多数也是免费开源的,其中相当一部分属于GNU项目,因而也有人称linux操作系统为 GNU/linux。

3.和标准C的不同。

  不同在于和操作系统的接口。标准C不包括对硬件操作接口和进程/线程操作接口等。不同的操作系统提供的接口也是不一样的。

  UNIX有两大分支:SYSTEM V和BSD,它们各有一套操作系统接口,互不兼容。后来就有了POSIX标准,提供跨操作系统的源代码级软件可移植性。linux能够支持大部分system v和BSD操作系统接口。linux也是基于POSIX的,尽管可能在实现上有一点出入。我个人在编程过程中使用POSIX接口函数。

4.嵌入式linux和PC上linux的差别:

  1)硬件架构。嵌入式linux多数运行在ARM处理器上,它是RISC;而PC用的x86处理器则是CISC。但对于应用程序开发而言,只有很小的差别,比如ARM多数使用小端存储,而x86为大端存储(后边有解释)。ARM的内存通常也相对比较小。通常直接将处理和内存芯片焊接到主板上,而不是像PC那样使用插槽。

  2)引导器。引导器的不同是由硬件架构决定的。嵌入式linux多数使用uboot引导,PC的linux上则通常使用grub。

  3)内核和驱动。同样是硬件架构不同的原因。x86上的设备通常使用各种总线,将设备间的差异降低到最小,如PCI-E。而arm上则经常是直接将设备的寄存器挂载到地址总线上,当然,现在的ARM通常是有USB总线的。而内核和驱动(也许需要自己开发部分设备驱动,内核中也包含部分设备的驱动)将设备的硬件接口封装为软件接口,有的驱动提供与PC linux一样的接口。所以对于应用程序开发而言,与PC上linux C编程的区别并不很大。

  4)文件系统。嵌入式系统通常使用busybox来构建文件系统,提供的功能相对PC上的有限,但能满足一般的需求。

5.linux文件系统目录简介

  

 

 

 

 

 

 

 

 

嵌入式linux C语言入门教程

标签:ar   os   使用   sp   文件   问题   代码   bs   linux   

原文地址:http://www.cnblogs.com/hua946/p/3648358.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!