Linux.ChinaUnix.net
ChinaUnix
|
Linux首页
|
新闻
|
博客
|
文章
|
专栏
|
新手
|
方案
|
图书
|
下载
|
人才
|
手册
|
wiki
|
搜索
会员:
密码:
免费注册
|
忘记密码
|
会员登录
|
搜索
|
帮助
[开源人物]
与一线Linux嵌入式开发工程师的对
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
开源业界与评论
»
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux书友会
>Linux人才交流
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
>IT爱车族
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>下载频道交流区
>CU活动专区
最近访问的论坛 ...
时代冠军主机588元/两年
|
送Windows新书+500分+2G U盘
| 新版块:
OpenAPI
、
数据仓库与数据挖掘
、
门户网站运维
、
Functional编程
|
赠送《代码之美》
‹‹ 上一主题
|
下一主题 ››
[
打印
] [
订阅
] [
收藏
] [
本帖文本页
] [
推荐此主题给朋友,立即获积分
]
Send_linux
版主-大法师
UID:149458
注册:2004-4-7
最后登录: 2008-10-10
帖子:
10430
精华:
6
可用积分:10144 (大富大贵)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:CAU
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
1楼
发表于 2008-5-23 14:41
陈工程师一直做Linux的嵌入式开发,作为在开发一线的工程师,他对很多问题的看法可能更切合实际需求,于是,通过邮件,就嵌入式开发方面的问题,请他谈了一下自己的看法:
问:关于嵌入式开发,我们准备给同学们讲解一些入门知识,从你一线开发经验来说,给我们一些建议:
陈工回答:
对于嵌入式Linux入门,如果有一定基础,可以从驱动开始;如果没有基础,我个人建议还是从应用程序开始。因为从应用程序开始是最容易的,也是 最直观的。而驱动程序运行在内核态,驱动本身的结构就比较复杂,如果要彻底弄明白驱动的运行机制,必定牵涉内核,对于高年级的学生恐怕问题会少一些,而对于低年级的学生,问题估计较多。我曾经遇到过一些初学者,就是一入门就栽了,失去了信心,当然这只是少数。不过,如果在遇到问题之后,能够得到即时、正确的点化,那就是好事了。
既然您决定讲驱动,那就从内核模块开始。在PC上就可以进行的虚拟设备实验,如基于内存的内核模块。可以考虑从模块的结构、编译、插入、卸载等方 面进行阐述。
驱动模块无非分字符驱动、块设备驱动和网络驱动三大类。但是一定要让学生知道,任何一个系统,特别是嵌入式系统,并且在目前的嵌入式Linux产品开发中,最简单、最重要、最多、最复杂的也是字符设备驱动,从IO驱动到串口驱动、到USB驱动等等,广义上都是字符驱动。让学生最好专注于字符设备驱动,因为一个嵌入式设备,网卡一般一块,FLASH一般也是一块(也包括几块组成的FLASH组),但是这两方面,基本都有完善的驱动,如网卡驱动有很多,块设备驱动,硬件层已经有通用接口,不管是NOR FLASH还是NAND FLASH,文件系统层更是有了非常多、非常成熟的文件系统,如 JFFS2、YAFFS、YAFFS2、EXT2、EXT3、ROMFS、CRAMFS等等,无需我们再去研究,学会应用即可。而除此之外的其它设备,如AD、DA、CAN、RS485等等,都是需要根据应用来进行设计的,这才是一个产品区别于其它产品的重点,更是市场价值增值点。
另外呢,也是前一点引申为而来的,学习Linux,准备做产品的话,不要把Linux当成了终极目标(当然,这是对应用而言的),要有只是把 Linux当成一个平台的思想。更重要的还在各种产品所需求的专业技术,如通信方面像CAN、RS485、GPRS等等,或者工业控制方面,IO控制、实时特性等等。Linxu博大精深,研究起来永无止境,但是在产品中,只要到了一个产品够用就可以了(当然,多一些更好,要视人而定)。
问:嵌入式应用程序的开发,应用场景较多的是图形界面还是字符界面,如果是图形界面,开发环境QT和Minigui哪一种更合适,哪种类型的应用程序在嵌入式系统中应用比较多?
陈工回答:
对于嵌入式Linux的应用,大多数的应用并不需要图形界面,比如交换机、路由器、嵌入式网关以及服务器等等。图形界面呢,主要应用在多媒体、手机等手持设备和一些需要图形界面的人机交互系统。
嵌入式Linux可选图形界面很多,上网找找的话,可以发现远非我们常说的QT、MiniGUI等。包括Tiny-X,matchbox、OPIE、 GPE等等。不同GUI有自己的特色,有自己的特殊应用场合,对于产品开发,根据需要选择合适的GUI。对于学习,自然是选择容易得到、容易开发的 GUI。QT是一个不错的选择,由于QT有一个PC上的模拟器,可以在没有实际液晶LCD的情况下,甚至在没有任何硬件的情况下都可以在PC上进行模拟开发。QT是收费的,当然,有免费版可用。MiniGUI呢,纯粹国产的,支持国货,可以考虑选择MiniGUI。这是一个轻量级的嵌入式GUI,可以跨平台,学习版也才100多块。MiniGUI可以用于工业控制场合,QT在这方面的应用目前还没有遇到,主要用在手持设备。
我们在开发中采用Tiny-X,这也是一个可以用于工业控制的GUI,基本兼容X-Window,体积小,占用资源少,速度快,稳定。
对于Linux的应用程序开发,除了GUI程序之外,最基本的应用程序有:
(1)串口编程。无论是在Windows下还是Linux下,串口编程都是极为复杂的,但是非常锻炼一个人的编程水平和能力。
(2)网络编程以及WEB相关编程。网络编程的tcp、udp、tcp/ip等。至于WEB编程,主要是在系统开启一个WEB服务器,制作一些网页,通过远程登录能够对整个系统进行配置甚至升级等功能。比如我们的路由器配置网页。这种应用在以后会越来越广泛。
(3)另外一个就是Shell编程了。Shell的作用我想,*NIX世界的人都很清楚。在很多应用里面,通过一些非常富有技巧性的Shell脚本,实现了非常复杂的功能,包括远程系统升级等。
以上我提到的这3方面,非常易于实验,在没有硬件,只有PC的情况都可以做。
学生电脑安装ubuntu,那以后配置嵌入式Linux开发环境可能遇到的问题会多一点。不过没关系,能够解决的。在我个人看来ubuntu适合于家用、办公,但要用于开发,配置难度稍微大一点。不过没有办法,现在电脑硬件太新,最适合的RedHat 9.0无法安装。
来源:lupa
您对本贴的看法:
鲜花[0]
臭蛋[0]
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
ShadowStar
风云使者
UID:167404
注册:2004-6-27
最后登录: 2008-10-08
帖子:
444
精华:
3
可用积分:537 (稍有积蓄)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:沈阳 - 北京
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
2楼
发表于 2008-5-23 17:48
我觉得最适合作开发的是Gentoo。
RH9,太老了点。
您对本贴的看法:
鲜花[0]
臭蛋[0]
__________________________________
IPP2P-0.99.16
AMD64 3200+
ASUS nForce4 Ultra
VDATA DDR400 512MB X4
NVRaid 300GB
Geforce 6600GT
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
huyongzs
精灵王
UID:180351
注册:2004-8-31
最后登录: 2008-10-09
帖子:
335
精华:0
可用积分:372 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
3楼
发表于 2008-5-23 20:54
好东西。顶!
我收藏了。
您对本贴的看法:
鲜花[0]
臭蛋[0]
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
Send_linux
版主-大法师
UID:149458
注册:2004-4-7
最后登录: 2008-10-10
帖子:
10430
精华:
6
可用积分:10144 (大富大贵)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
来自:CAU
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
4楼
发表于 2008-5-23 22:15
QUOTE:
原帖由
huyongzs
于 2008-5-23 20:54 发表
好东西。顶!
我收藏了。
看来对有些人来说还是挺有用的,呵呵
您对本贴的看法:
鲜花[0]
臭蛋[0]
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
swanrobin
精灵王
UID:215479
注册:2005-1-13
最后登录: 2008-10-08
帖子:
270
精华:
1
可用积分:291 (白手起家)
信誉积分:100
专家积分:0 (本版:0)
空间积分:0
推广积分:0
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
5楼
发表于 2008-5-24 07:55
QUOTE:
原帖由
ShadowStar
于 2008-5-23 17:48 发表
我觉得最适合作开发的是Gentoo。
RH9,太老了点。
赞成!另外,我对这位陈工的观点不敢苟同。
真正能提高能力的方法是在项目中具体解决问题。
您对本贴的看法:
鲜花[0]
臭蛋[0]
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
sep
(赛特)
天使
曾有你的森林
UID:377447
注册:2006-2-25
最后登录: 2008-10-11
帖子:
1129
精华:0
可用积分:276 (白手起家)
信誉积分:100
专家积分:30 (本版:0)
空间积分:802
推广积分:0
来自:广州
状态:
...离线...
[
资料
] [
站内短信
] [
Blog
]
[
推广获积分
]
6楼
发表于 2008-5-25 12:02
貌似老一辈的工程师对于rh9都情有独钟的,我看过几个老一辈的都是在用rh9
另外,ubuntu用来开发并不是那么困难。Debian/ubuntu的软件包管理升级方式,我认为对于开发人员来说最适合的,前提是有个不错的网络
您对本贴的看法:
鲜花[0]
臭蛋[0]
积分兑换专区
|
IT节能和TPC-E活动获奖名单
|
致电800-858-2903,了解DELL如何为你量身订制笔记本
|
送2G U盘
|
站长如何获得资金?
首页
»
CU论坛
»
Linux
»
汇总贴列表
»
开源业界与评论
»
请选择您要去的论坛 ←
>新手园地
>系统管理
>网络问题
>硬件支持
>内核问题
>系统互操作专区
>中文支持
>桌面与办公
>影音娱乐
>网络工具
>编程问题
>内核源码
>CPU与编译器
>嵌入式开发
>驱动开发
>数据库应用
>服务器应用
>安全防护
>集群和虚拟机
>开源业界与评论
>贴图娱乐
>红茶馆
>文档专区
>下载共享
>Linux书友会
>Linux人才交流
>Linux站务交流
===============
→ 操作系统技术交流区 ←
>BSD
>Solaris
>SCO UNIX
>HP-UX
>AIX
>IBM AS400应用论坛
>Tru64 UNIX
>IRIX
>Mac OS X
→ 行业解决方案交流区 ←
> 金融行业
> 电信行业
> 互联网行业
> 医卫行业
> 制造行业
> 信息安全
> 教育行业
> 媒体娱乐行业
> 电子政务
> 交通行业
→ 程序设计交流区 ←
>C/C++
>Shell
>Java
>Php
>Perl
>Python
>Web开发
>软件工程
>中间件技术
>GUI编程
>软件配置管理
>VOIP开发技术
→ 网管技术交流区 ←
>网络安全
>网络技术
>Cisco技术
>存储备份之家
>服务器及硬件技术
→ 数据库技术交流区 ←
>MySQL
>PostgreSQL
>Oracle
>Informix
>Sybase
>DB2
→ 应用技术专题交流区 ←
>Web服务器
>Mail服务器
>FTP服务器
>DNS服务器
>Proxy服务器
>LDAP
>VPN
>Lotus
>Samba
→ IT综合交流区 ←
>IT业界新闻与评论
>IT职业生涯
>IT培训与认证
>IT二手大厅
>IT图书与评论
→ IT人的休闲生活交流区 ←
>清茶斋
>运动地带
>快乐数码摄影
>影音文字
>English Forum
>游戏玩家
>旅游天下
>贴图娱乐
>红茶馆
>IT爱车族
→ 站务及频道交流区 ←
>站务交流
>版主会议室
>Linux站务交流
>Linux版主会议室
>博客站务交流区
>下载频道交流区
>CU活动专区
Copyright © 2001-2008 ChinaUnix.net All Rights Reserved 联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处
京ICP证041476号
清除 Cookies
-
Linux时代
-
Archiver
-
WAP
-
TOP
Processed in 0.048791 second(s), 5 queries , Gzip enabled