OSC 第 68 期高手问答 — 嵌入式 Linux 软件开发

叶秀兰 发布于 2015/04/13 08:25
阅读 4K+
收藏 23

OSCHINA 本期高手问答(  4 月 13  日- 4 月 19 日)我们请来了 @吕雪峰   (吕雪峰)为大家解答关于嵌入式 Linux 软件开发方面的问题。

吕雪峰,华中科技大学控制工程与控制理论专业硕士,一线资深高级软件工程师,主持开发过多个大型嵌入式项目。曾在多家知名嵌入式培训机构担任讲师,有10 多年的Linux培训和实践经验。研究专长是Linux操作系统、网络安全、大型网站规划与维护,在《计算机应用》等核心刊物上发表过多篇专业论文,著有 《网络分析技术揭秘:原理、实践与WinPcap深入解析》。

嵌入式 Linux 软件开发从入门到精通》结合作者10多年的培训和实践经验,通过简明扼要的语言,以及实用的案例与方法,对嵌入式Linux应用开发中的关键技术点进行了深入浅出的讲解。全书分为基础篇、应用进阶篇和实战提高篇。本书内容从最简单的案例开始,始终保持实用、易懂的风格,每个章节都设置了实践操作案例,能够帮助读者快速掌握嵌入式Linux应用软件的开发技能。

为了鼓励踊跃提问,@博图轩策划 会在问答结束后从提问者中抽取 10 名幸运会员赠予《嵌入式 Linux 软件开发从入门到精通》一书。


购买链接:

http://item.jd.com/11545942.html 

http://product.dangdang.com/23567328.html 

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 嵌入式 Linux 软件开发 方面问题向@吕雪峰 (吕雪峰)提问,请直接回帖提问。

加载中
1
Holt_Vong
Holt_Vong
@吕雪峰 :支持下,目前只弄过下arm环境里直接跑java..呵呵
吕雪峰
吕雪峰
欢迎加入嵌入式Linux与winpcap学习QQ群 297228619。更加细节的问题,会在群里进一步详细解答!
1
Sonnet
Sonnet
@吕雪峰 :其实我对这个也比较感兴趣,就是不知道从何入门,还有就是工作外业余的时间真心不多,还要照顾老婆孩子。。。
吕雪峰
吕雪峰
兴趣最好结合实际工作更好发挥
1
lightning1141
lightning1141
@吕雪峰 :外行,做嵌入式开发需要什么基本技能?
李志装逼
李志装逼
一般都是c语言 有时应用层是用cpp
吕雪峰
吕雪峰
C语言
0
longfirst
longfirst
@吕雪峰 :学嵌入式开发,做模型飞机,用来探测交通,河流,巡山
临峰不畏
临峰不畏
大王叫我来巡山咧~
0
LeoXu
LeoXu
@吕雪峰 :外行,请问做目前做嵌入式开发的就业前景如何?
吕雪峰
吕雪峰
还可以
0
棋有此理
棋有此理
@吕雪峰 :嵌入式Linux开发,目前我了解的有BootLoader(Uboot)开发,内核开发(嵌入式单芯片Soc外的其他硬件驱动配置),文件系统的定制,以及主应用的人机交互开发.我想问的是关于主应用的人机交互部分,一般使用什么样的轻量级的GUI框架比较好?有没有完全用C开发的,开源的,灵活的,可定制的?
g
gunavy
回复 @棋有此理 : 最好做个简单链表,设定尝试次数,超过尝次数,将数据写到其他空闲列表中
digmeup
digmeup
国产的minigui啊
棋有此理
棋有此理
回复 @吕雪峰 : 对于嵌入式系统如果采用SPI NOR Flash,在不采用文件系统的情况下,如果进行数据更新, 对Flash 的Sector进行擦除,再写入,如果捕获到擦除错误(可能是硬件电气特性不稳定,或底层驱动不稳定),这个时候,应该怎么处理才比较好? 是继续尝试擦除?但是SPI NOR Flash是有擦写寿命的?不能放弃,放弃了会导致数据不完整,而系统当掉.
吕雪峰
吕雪峰
一般用QT,不过是C++写的
ihuotui
ihuotui
回复 @Vater : 一般用qt吧。或者改安卓系统
下一页
0
Vater
Vater

@吕雪峰 :在嵌入式领域从业了3年多,有些内容还是比较模糊,请教一下:

  1. 嵌入式开发,需要对linux内核掌握多少?目前我们的开发都是负责驱动的同事和网络的同事对内核及模块进行简单的了解和修改;
  2. 嵌入式设备一般要求掉电保护,在保证数据完整性和一致性方面有什么好的方案?比如数据库、校验存取机制等;
  3. 在版本延续,功能前后兼容方面,有哪些好的解决方案?
Vater
Vater
回复 @棋有此理 : 是的,写入挂载为jffs2的分区。
棋有此理
棋有此理
回复 @Vater : 你的配置文件应该是写入jffs2的吧?
Vater
Vater
回复 @吕雪峰 : 之前采用squashfs文件系统,出现过配置文件写入一半被破坏的情况;我们设备环境采用只读方式挂载,数据分区采用jffs2挂载,数据是写入该分区。请问出现这种问题主要是哪里造成的?SQLite数据库本身能避免这种Flash写入出现的破坏吗?
吕雪峰
吕雪峰
版本兼容是一个头痛的事情,目前还没有很好的办法
吕雪峰
吕雪峰
掉电保护一般主要靠文件系统,当然选用嵌入式数据库,如SQlite等会有帮助。
下一页
0
悠久之风
悠久之风
@吕雪峰 :请问嵌入式软件需要经过测试这一步骤吗?如果需要的话,都有哪些嵌入式软件测试的相关技术?
吕雪峰
吕雪峰
很多问题 代码级的自动测试一直都是问题 而且国内工具为O
悠久之风
悠久之风
@吕雪峰 请问在嵌入式软件测试领域,或者测试稳定性领域还有什么技术瓶颈?或者期待未来解决的问题?我研究生方向是嵌入式软件测试的!
吕雪峰
吕雪峰
必须得。软件测试技术与常规的测试基本差不多,只是在代码级的测试存在不同,有一些商业工具可使用,如C++Test,Coverity等 再就是在软硬结合的地方,重点测试稳定性
0
王友初
@吕雪峰 : 校友你好,我是华中电力系马达制造专业毕业.目前在做机器人控制系统.有一个问题一直在困扰着我.就是没有一本书介绍过LINUX系统在ARM系统上完整地启动和配置的流程及代码的分析.或许我对汇编没有一点概念.所以每次看一点就没有了信心.不知道如何解决这个问题.因为机器人在实时性方面的特殊要求,需要对系统做更多的裁减.谢谢你.
吕雪峰
吕雪峰
书也有,网上也有相关资料。只不过,任何专业知识都要花时间才可能熟悉。
0
mocou
mocou
@吕雪峰 :嵌入式Linux开发中驱动开发是不是最难的?另外可不可以简要介绍一下您的硕士专业研究方向?
吕雪峰
吕雪峰
难者不会,会者不难。我的专业与嵌入式软件开发没关系。是在实际工作中学习的
返回顶部
顶部