【嵌入式Linux学习七步曲】系列交流会
Sailor_forever sailing_9806#163.com
(本原创文章发表于Sailor_forever 的个人blog,未经本人许可,不得用于商业用途。任何个人、媒体、其他网站不得私自抄袭;网络媒体转载请注明出处,增加原文链接,否则属于侵权行为。如有任何问题,请留言或者发邮件给sailing_9806@163.com)
http://blog.csdn.net/sailor_8318/archive/2009/12/29/5094636.aspx
此交流会在BUPT BES协会的组织下,历时半年,共九次。并录制了相关视频,上传到了BYR BT及优库上。
BYR链接
http://bbs.byr.cn/article/Embedded_System/4494
优酷视频链接
http://v.youku.com/v_show/id_XMTg2NDIyODg0.html
相关PPT也上传到CSDN上了,链接如下
http://download.csdn.net/source/2663944
若需要其他相关资料,欢迎来信或者留言索取。
2009-12-28
看到论坛里大家学习嵌入式Linux的热情 想起了当年自己一个人入门Linux的艰辛
嵌入式Linux开发的门槛还是比较高的 可以说是个综合学科
虽有激情 但是问题也很多 慢慢的大家的激情开始消退了
这些年对嵌入式Linux的开发也算是小有心得
很荣幸能够受邀参加BUPT BES协会的系列交流会 也很乐意和大家分享这些年的经验教训
经和协会的相关负责人沟通 初步确定了一套嵌入式Linux开发的系列交流会
把嵌入式Linux的学习分成了7个阶段 对每个阶段分别进行专题探讨交流
这种循序渐进的方式有利于嵌入式新人 慢慢步入正轨 逐渐强化
而不至于一上来就被各种问题吓倒 打退堂鼓
上周六只是系列交流会的一个序幕 主要内容将在下学期正式开始
临近期末考试了 还是有很多同学来参加交流会 赞大家的学习热情 小小感动了一把~
教学相长 为了准备交流会 我仍然需要查阅更多的资料 这也是一个总结的过程
同时也对自己的表达能力是一个锻炼 其实发现自己懂 但要用浅显易懂的语言把问题说明白也不是一件轻松的事情
既然是交流会 那就不能我讲大家听 于是我就准备了些巧克力 对发言的同学进行小小奖励
同时在交流会过程中也增加了些互动环节 鼓励大家积极思考 多多发言
一来对大家也是一个锻炼 二来我也可以及时的得到反馈 便于调整进度及难易
同学们的热情都很高 问了很多问题 想想其实这些问题当年自己也有迷茫的地方
总的来说 对这次交流会还算满意 不过还有很多有待改善的地方
比如没有控制好进度 时间没把握好 导致预定2个小时的交流会超时四五十分钟
另外以后还要挖掘更多的措施鼓励大家多多思考 畅所欲言 真正的起到交流会的效果
感谢每一位捧场的朋友,你的参与、鼓励、建议及意见将是我最大的动力~
2010-3-14
因为期末考试的原因 这次的交流会离序言已经快三个月了
不过我们终于迎来了新学期的第一次交流会
虽然今天下了三月最大的雪 但也没阻挡住大家学习参与的热情
协会的组织宣传工作做的出 {MOD} 交流会成为当日的论坛热点活动
因此也吸引了更多人的目光 询问顶贴的人也很多
不过到达现场后 更是一份惊喜 会议室爆满 围的水泄不通
还有些很多同学都站着 太moving了~ 初步估计参与人数60+
遗憾的是我的电脑连接那个投影仪出了点问题 临时换电脑 捣鼓了半天
因为要演示 想把虚拟机拷到另外的电脑上 最后因为ntfs格式的问题 无法拷贝
捣鼓来捣鼓去 最后也没整出个可用的虚拟机环境
交流会因此延迟了半小时左右
真是太对不起大家了 尤其是那些站着的兄弟姐妹
因为这次的基础内容较多 考虑到大家初学者比较多
刚开始讲的比较细 但是没有演示 很多东西还是一下子记不住
后面时间也比较紧张 本来有些互动环节 给大家提问的
但因为时间的关系 问题不能解答的较深入
不过在交流会过程中 大家提的问题都很好 很有针对性
都是初学者比较容易犯的问题 在交流会过程中提出来 相信大家有更深的认识
这样挺好的 有不同的声音 有问题 大家相互探讨 才能引起重视
另外Tyrande也反映我讲的也比较快 中间停顿有点少 可能给大家思考的时间不够
嘿嘿 Tyrande虽然现场没提什问题 不过还挺善于发现问题的 提的不足都很到位
恩 这些我自己也能感觉出来 确实把握的不够好
一来内容较多 二来前面因为环境问题延迟了不少时间
今天为了给交流会增添点娱乐的气氛 特意整了两个Linux相关的joke
另外为了调动大家学习的热情 搞了几个volunteer 任务
也是为了鼓励大家积极参与,营造一种self learning,summary and share的氛围
感谢承担相关task的兄弟姐妹 以后得发巧克力鼓励下~
总体来说 今天的交流会还有很多有待改善的地方,如下:
1)提前到达现场,确保投影仪和电脑的链接没问题
2)合理确定每次交流会的内容,确保难易和长度较合理
3)每个小节之间多停顿 给大家一定的思考和提问时间
最后感谢协会充分的组织宣传工作 感谢大家冒雪前来参加交流会
尤其是HF校区的几个兄弟 还有那些站了两个半小时的朋友 真的挺不容易的
我谨代表党和人民对你们致以崇高的敬意 还有歉意 哈哈~
2010-3-20
这次就偷个懒 直接贴上现场报告吧~
//////////////////
http://bbs.byr.edu.cn/wForum/disparticle.php?boardName=Embedded_System&ID=7892&pos=47
首先感谢所有到现场参加交流会的同学们,还有在百忙之中来参与讲座的Sailing大牛,同志们,辛苦啦!
虽然伴着风沙,但本次交流会仍然如期进行,现场依然火爆,座无虚席,还吸引了不少兄弟院校的同学和工作人士前来参加。大家的热情都很高,还有同学提前来占座,但因为参与的同学很多,仍然有不少同学站了两三个小时。在此,我们想对大家说,您们幸苦了。协会现在正积极争取更宽敞的教室等资源,但考虑到借教室的难度及交流会的现场效果,短期内还只能在会议室进行,还请大家见谅!
在交流会正式开始之前,进行了一次“颁奖仪式”。请参加Volunteer Task的同学分享经验,同时现场对这些勇于承担VolunteerTask的同学进行了嘉奖,每人一块大号的德芙巧克力作为对他们工作的肯定和鼓励,同时也提出了如何完善的建议。随后重点强调了VolunteerTask的意义和运作流程,以期规范Volunteer Task系列总结文档,争取打造BES的品牌成果。
本次交流会Sailing主要为大家介绍了嵌入式Linux的交叉开发环境。首先介绍了嵌入式系统交叉开发环境的整体框架,接着介绍了嵌入式开发的几个要素,如编译器、主机环境及交叉环境,最后实例演示了如何交叉调试应用程序和模块。
Sailing理论联系实际,PPT结合演示,形象生动的的给大家展示了各种主机服务的配置以及如何在嵌入式平台上利用NFS和GDB进行远程交叉调试。
交流会过程中,大家都很认真的思考问题,积极发言提问,经过大家的热烈讨论及交流之后,问题得到了更清晰的解释,sailing同时也对每一位积极参与的同学给予了奖励--德芙一块。
会上还布置了下一轮的Volunteer Task,争取将此活动发展成为系列交流会的另一个交流平台,吸引更多的同学来参与这种学习、总结和分享的过程,帮助他们提高自己,同时也为协会的后续发展积累了宝贵资源。
为了方便大家学习交流,我们从这次交流会开始对整个系列讲座进行了
屏幕录像,一来满足那些暂时无法来到现场参加交流会的同学的需求,另外也是积累一笔资源,为协会的发展壮大奠定基础,希望能有更多的同学参与到协会中来。
另外因为屏幕录像清晰度不是很高,同时也不能够真实反映现场的情况,很多演示的内容在录像里可能没有,还是鼓励大家去参加现场交流会,多探讨,多交流,多提问,这样才能提高自己。当然啦还能赢大奖,把德芙带回家!!(德芙笑了,免费广告啊~)
//////////////////
附:系列交流会的总体安排
序
0.1 何谓嵌入式系统
0.2 嵌入式处理器
0.3 嵌入式操作系统
0.4 嵌入式Linux的前途&钱途
0.5 需要的基础知识
0.6 交流会计划及期望
0.7 参考资源
1 第一篇 Linux主机开发环境(15天)
1.1 Linux的安装
1.2 Linux的基本命令及使用
1.3 Linux与windows的文件共享
1.4 GCC开发工具
1.5 Makefile编写
1.6 简单应用程序
1.7 GDB调试
1.8 主机端的模块编程
2 第二篇 嵌入式Linux交叉开发环境(7天)
2.1 交叉开发环境介绍
2.2 交叉编译器cross-tool
2.3 配置主机开发环境
2.4 建立交叉开发环境
2.5 交叉调试应用程序
2.6 ARM上的简单模块编程
3 第三篇 Linux系统bootlaoder移植(7天)
3.1 Bootloader基本介绍
3.2 U-boot介绍
3.3 U-boot移植过程
3.4 U-boot如何启动内核
4 第四篇 Linux的内核移植(15天)
4.1 Linux内核的配置编译
4.2 Linux启动流程
4.3 Linux内核移植
5 第五篇 Linux的内核及驱动编程(15天)
5.1 内核概述
5.2 设备管理
5.3 进程管理
5.4 中断管理
5.5 时间管理
5.6 内存管理
5.7 内核的同步互斥机制
6 第六篇 文件系统制作(5天)
6.1 文件系统的基本功能
6.2 嵌入式系统的存储设备
6.3 文件系统
6.4 文件系统和存储设备的组合
6.5 各种文件系统的制作实例
7 第七篇 Linux的高级应用编程(5天)
7.1 多进程编程
7.2 多线程编程
7.3 网络编程
7.4 应用程序的调试技巧