Chinaunix首页 | 论坛 | 博客
  • 博客访问: 256024
  • 博文数量: 71
  • 博客积分: 3044
  • 博客等级: 少校
  • 技术积分: 695
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-16 11:06
文章分类

全部博文(71)

文章存档

2011年(30)

2010年(41)

分类: LINUX

2010-11-04 14:10:26

当前linux作为server, database服务器,开发平台,嵌入式实时OS的作用都随着平台的发展, 越来越成熟, 产品的使用度也越来越高, 掌握linux作为application开发,嵌入式开发都成为优秀开发人员攻克的技术之一.


首先,程序员要了解在linux下的几个之最:

最有用开发语言: C/C++
最流行的工具集: gtk/gdk,qt/e
最好的可视化开发工具: glade,designer,kdeveloper
cool的代码阅读工具: source navigator
最普及的调试工具: gdb, ddd , anjuta
最高级(主要指价格高级)的程序跟踪工具: BDM,ICE
最强大的开发平台: Redhat linux 6~8, Turbolinux 6~7,Hard Hat linux(HHL), Blue cat linux
最快但最年青(年青就是不成熟,吃不得)的图形:nano-X,microwindows,minigui

部分名词的意思:
gtk/gdk:
GIMP(linux很有名的图象处理软件的工具集
qt: trollteck
公司的产品,有qt/x11qt/embedd
glade:
开发gtk/gdk程序的图形工具,能完成界面的编辑(这比用VI做界面好10^n 倍,本人曾经用vi 以每天2000行程序的速度写过gtk的应用,整整写了一个月,后来用glade用重来,一周就完成了)
anjut:
非常方便,功能强大的调试工具,程序出错不用再一行行试了,用它一目了然。
designer:
开发qt/x11程序的图形工具,能完成界面的编辑,也可以开发qt/embedded的程序
kdeveloper:
类似VC一样,功能强大
source navigator: redhat
公司出的代码阅读器,supper cool.
microwindows: win32
接口GUI,又小又快,用于PDA
nano-X:
多任务的microwindows
miniGUI:
类似上面两种图形,国产的,虽然我没用过,但基于支持国产软件的原则,我想绝对比nano-Xmicrowindows好。

知道了如上的一些东西,我们就可以决定开发的方向了:
1.
对于C程序员 C + gtk/gdk + glade +anjuta+ 中文turbolinux
2.
对于C++程序员 C++ + qt/x11 + designer + kdeveloper + anjuta+中文turbolinux
3. embedded
程序员 c/c++ + qt/embedded + gtk+ HHL
4. embedded
爱好者 c/c++ + microwindows + HHL


我们Step by Step,只要肯下苦功钻研Linux,按照这条路走一定可以成为优秀的Linux开发人员。这个开发途径不一定是最好的,但肯定是一条正道,也是目前 Linux的潮流所在,是我多年开发Linux及做Linux项目的经验总结,出于对中国Linux事业的极大热情,愿意奉献出来与大家共享。

Step 1:
掌握Linux的安装运行方法,包括:
a.
CDROM直接安装Linux
b.
fdiskpqmagic的协助手工分区安装Linux
c.
硬盘上本身有Linux,但不能启动,要懂得使用软盘或CDROM恢复Linux系统
d.
使用vpcvmware等工具安装启动Linux
e.
dos/windows下安装Linux,使用loadlin来启动系统
f.
通过网络无盘来启动Linux,其实这个原理很简单,只要懂上面所说的loadlin使用,无盘启动Linux系统和无盘启动dos做法一模一样。

Step 2:
掌握Linux的运行原理,Linux系统启动的标准流程:
Bios ->Lilo/Grub->Kernel->/sbin/init(init
等于是一个批处理,它将从/etc/inittab读取将要运行的指令,因此我们可以自己写这个批处理,往后要运行什么都可以自己控制)->login-> /usr/X11R6/bin/startx

Step 3:
掌握Linux的常用命令,命令列表请查阅Tomlinux文档"Linux发常用命令"

Step 4:
了解Linux专业名词及开发资源,请查阅Tomlinux文档"嵌入式Linux名词及资源"

Step 5: 如果从step1step4你都掌握或比较熟悉,那么进行嵌入式Linux开发的基础就算扎实了,接下来考虑的是开发的方向,一般是从X86的开发开始,进行X86开发的最佳组合为:
a . Kernel
使用最终稳定版而非最新版进行裁减,如果功能可达到,甚至可以退回到更旧的稳定版,旧版kernel可以做得更小更快。
b. bash
和常用命令集要使用busybox而不是使用标准的
c.
如果存储空间足够,lib可使用标准libc,对于存储空间紧张的使用uClibc
d.
图形系统使用Tinyx
e.
窗口系统使用icewm
f.
开发选用语言,个人认为使用C/C++是主力,其它只能作为辅助
g .
图形应用选用免费而又非常优秀的GTK工具集,可以在其图形开发环境galdeanjutaSNavigator的配合下进行,这个组合简直是黄金搭档,我自己觉得这加起来比vb/vc还好用。当然另一个不错的选择是使用QT工具集,可配置DesignerKdeveloper来使用。
h.
开发字符应用可使用ncurses辅助,开发无图形服务器的系统可使用直接写屏framebuffer方式或SDLQT/E方式
i.
发行时选用的存储器一般是DOC或者DOM而不使用HD

根据上面的组合开发出来的系统,装到8MDOC/DOM上完全没有问题,如果是以没有图形服务器方式h.进行的,最小1MDOC就够了。

Step 6: 掌握X86的开发方法后,在其它平台上进行开发也是大同小异,所需更换的主要是引导方式,kernel、基本库及编译器等。这些东西在安装相应的开发包后即可解决,不要自己耗大量时间去进行,开发精力应放到产品级的开发上去,必竟中国目前的水平还没有到编译器这一类的级别。不同的平台及相关的Linux支援主查阅 Tomlinux文档""

对于非X86平台的开发,经常会需对硬件进行分析,还需要使用硬件辅助除错,比如在ARM的开发中,ARM Debugger支持连接ICE(In-Circuit Emulator)Remote进行调试,还可通过JTAG接个ICD调试,在PPC开发中则使用BDM去调。 这些设备都比较贵,如果公司里面有现成的,那么一定要积极去使用它,即使有时有其它的代替方法,因为这样才可以表现出你是一个高手高手高高手。如果没有就要看情况是否购买它了,不是必要的就尽量为公司节省费用才是好员工。

当你成为一个优秀的嵌入式Linux开发人员时,不要因此而满足,那怕你是技术最最强的一个,但在一个公司里不表示你是值钱的。只有那些有长远目光,有想法有创意的,能为公司赚到钱的才是最棒的,所以要多了解市场信息,多了解Linux的发展动向,争取写出killer application 为公司赚钱。这也是我一向在努力的,只是至今还没能力实现,希望大家一起努力,一个是为了赚到银子,更重要的为中国的Linux发展及至软件事业作出贡献。

著名网站连接:


阅读(932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~