linuxc从入门到精通编程
1. 嵌入式软件工程师是做什么的
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
嵌入式软件工程师就是编写嵌入式系统的工程师。
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
想成为嵌入式工程师,就需要学习嵌入式,怎样学习嵌入式,我刚才看到一篇很不错的文章,是一个专科生介绍自己如何自学嵌入式,并找到嵌入式的工作,里面介绍了他的学习方法和学习过程,希望对你有帮助。
先做个自我介绍,我07年考上一所很烂专科民办的学校,学的是生物专业,具体的学校名称我就不说出来献丑了。09年我就辍学了,我在那样的学校,一年学费要1万多,但是根本没有人学习,我实在看不到希望,我就退学了。
退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。
一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。
回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。
后来,我在网络知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。
我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。
主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。
后来我又找到一份很好的视频,是在IT学习联盟网站推出的一份视频《零基础嵌入式就业班》(喜欢《零基础嵌入式就业班》的可以复制 sina.lt/qKh 粘贴浏览器按回车键即打开)。里面的教程还不错,很完整,可以让我从基础的开始学起。视频比较便宜。
下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。
收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的c语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。C语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的C语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了C和linux的基本操作。
接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了ARM的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。
这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。
最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右
我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。
后来陆续面试了几家公司,终于功夫不负有心人。我终于面试上的,是在闵行的一家民营的企业,公司规模比较小,我的职务是嵌入式linux应用开发,做安防产品的应用的。我想我也比较幸运,经理很看重我的努力,就决定录用我,开的工资是3500一个月,虽然我知道在上海3500只能过温饱的生活,但是我想我足够了。我至少不用每天都要靠父母养,我自己也能养活自己的。我想只要我继续努力,我工资一定会翻倍的。
把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。
######################################################
2. 该怎样学习嵌入式Linux的基础课程
嵌入式Linux操作系统学习规划
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回复
122.90.173.* 2楼
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明着
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》 杨宗德着
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》 杨宗德着
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。
这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!
这是从网络 福州鼎嵌贴吧看来的 呵呵
建议楼主自己去它那看看
http://tieba..com/f?kw=%E7%A6%8F%E5%B7%9E%E9%BC%8E%E5%B5%8C&fr=tb0_search&ie=utf-8
3. 如何学习C语言
如果刚开始接触c语言,听不懂也正常,不要有畏惧的心理,有些小伙伴可能看到部分同学什么都会,自己就很气馁,因为这部分同学很可能接触编程比较早,即使小孩学走路也有一个过程,刚开始有走路欲望->学会站立,腿部有力量->尝试走路,不断练习->学会走路。所以不要慌。
学C语言与走路一样,刚开始一定要有学习的欲望,然后,再制定计划,不断练习,量变会引起质变,坚持下去就发现原来这么简单。
欢迎关注公众号:c语言与cpp编程,关注后,回复“加群‘’进微信学习交流群
1、学习资料
书本推荐:《cprimerplus》难得的好书。老谭的书可看可不看,但是这本蓝皮的cprimerplus是我案头必备的参考书,后面还有完整的c99标准库,所以适合当个参考书。注意区分一下《c++primer》和《cprimerplus》
如果觉得这几本书还是有点难,那就先看《C语言程序设计》
有了经验后要去看看,例子很经典。后来进阶可以看看三剑客《c和指针》《c陷阱与缺陷》《c专家编程》
刚学C语言的话可以结合看下C语言编程经典100例;
编译器:VS,DevC++,VC++,CodeBlocks,C-Free,TurboC。关于它们的特点网上介绍很多了,就不赘述了。讲真,入门和基础阶段你用哪个无所谓,还是选自己喜欢的,不过对于初学者我们推荐DevC++。可能现在大学课堂用的还是VC++,刚入门自己习惯就行。
视频推荐:有同学曾经说过,视频这么好,上课就不用听讲了,这个是完全错误的,视频是课堂补充,上课还是一定要好好听讲的,视频可以查缺补漏,系统的学习一下。
上面提到的一些资料整理好了,可以下载:
链接:
提取码:1234
学习方法:
1、过:学习一门新的语言,第一步就是把它所涉及的基础知识大体过一点,不求深解,只求了解——第一遍:无需了解太过深入的理论,大体知道这门语言是什么样的,主要面向哪些场合,一些基本的语法格式是什么样的就可以了。
2、抄代码:刚开始写代码,没有多少人一上来就能立刻自己写一个很完善很强大的代码,甚至连基本的语法都会写错,这时候抄代码就很关键了,从书上抄,从例子里抄,边抄边想,边想边回忆语法。
3、模仿改:自己会抄写一些简单的代码,熟悉了一遍此语言的简单语法后,但还不太清楚怎样下手写一个完整的代码模块,所以这一步要仿写了,仿照给出的代码写一个属于自己的代码
4、勤调试:没有人能一下子写出完全正确的代码,自己试着写一些代码,通过不断调试来验证自己的一些想法,继续思考,再次验证,来回折腾。熟悉一些基本的调试工具以及调试方法。
5、看n遍:出错或遇到问题时,将代码从头看到尾,看了一遍又一遍,直到快全部记住时,总能找出问题原因,相信方法总会比问题多
6、练重复2-5步三遍以上,不解释。
7、创新拿出一个完全没有写过的代码,根据要求,一步步的写出来。如果写不出来,或者中间一堆错误,请参考第六步。
8、悟:主动找到写代码的感觉和成就感,并保持下去,世界上最难的语言就掌握了,将成为你软件生涯永远的工具。
4. linux学习最新书籍,谁有推荐
想要学习linux更推荐去【达内教育】进行专业的学习,linux学习最新书籍:
《嵌入式LinuxC语言程序设计基础教程》该书作为嵌入式专业的C语言教材。全书共11章,第1章介绍了嵌入式Linux下常用的C语言开发工具,为后面的学习打下基础。第2章~第5章讲解了嵌入式LinuxC语言中的基础知识。包括嵌入式LinuxC语言中的数据、数据的输入和输出、运算符和表达式、程序结构和控制语句。第6章到主要讲解了嵌入式LinuxC语言中的数组,包括一维数组、多维数组、字符数组和字符串等。第7章主要讲解了嵌入式LinuxC语言中的指针。第8章主要讲解了嵌入式LinuxC语言的函数。第9章主要介绍了嵌入式LinuxC语言中用户自定义的数据类型。第10章介绍了嵌入式LinuxC语言的高级用法。第11章介绍了嵌入式Linux内核中常见的数据结构。感兴趣的话点击此处,免费学习一下
想了解更多有关linux的相关信息,推荐咨询【达内教育】。作为国内IT培训的领导品牌,达内的每一名员工都以“帮助每一个学员成就梦想”为己任,也正因为达内人的执着与努力,达内已成功为社会输送了众多合格人才,为广大学子提供更多IT行业高薪机会,同时也为中国IT行业的发展做出了巨大的贡献。达内IT培训机构,试听名额限时抢购。
5. Linux下C语言编程,都开发些什么啊
▲Linux/Unix环境编程电子资料汇总:
Understanding The Linux Kernel 第一版
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157562
Understanding The Linux Kernel 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157563
Understanding The Linux Kernel 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157565
Linux内核精要
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146024
Understanding the Linux Kernel - 理解Linux内核
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=152408
Linux内核源代码情景分析 中文版 (上下册)
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=158240
O'Reilly Bash Cookbook
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=147327
101个超酷Shell脚本
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157380
Bash快速参考
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157340
Bash Beginners Guide
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=158089
Advanced Bash-Scripting Guide
http://bbs.topsage.com/dispbbs.asp?boardID=117&ID=174450
Perl入门及高级编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146158
Perl语言编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146157
Perl指南
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146865
Perl编程思想
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146770
Perl - The Complete Reference
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174447
O'Reilly 精通Perl编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=156728
O'Reilly Perl and XML
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=159162
Perl 5 21天自学教程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=158765
Perl编程 24学时教程 中文版PDF
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=175155
Effective Perl Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174446
O'Reilly Advanced Perl Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174444
GENOMIC Perl (PDF文字版)
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=172830
轻松学习Linux编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146075
Linux应用开发基础
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=148045
Linux 网络编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=145846
Python简明教程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146387
Wrox出版 Beginning Python
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=172824
Apress出版 Beginning Python 从入间到精通
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=171769
Text Processing in Python (CHM版)
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=175013
O'Reilly Learning Python 第三版
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174777
O'Reilly Python & XML
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174517
O'Reilly Python Standard Library
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174501
Python 2.1 宝典
http://bbs.topsage.com/dispbbs_119_171351_1.html
Wrox Professional Python Frameworks
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=176749
The Definitive Guide to django - Python Web编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=173175
Unix编程艺术 The Art of Unix Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146764
Linux编程白皮书
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146756
A Practical Guide to Linux Commands Editors and Shell Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146740
Linux案头参考(第二版)
http://bbs.topsage.com/dispbbs.asp?boardID=117&ID=146272
Linux与Unix Shell编程指南
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=146762
Linux Shell Scripting with Bash
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157511
Unix Shell Programming(第三版)
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157391
Linux Debugging And Performance Tuning
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157467
Linux系统分析与高级编程技术
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157106
十分钟Unix自学教程 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=117&ID=157373
Korn Shell:Unix and Linux Programming Manual
http://bbs.topsage.com/dispbbs.asp?boardID=117&ID=157376
Unix shell范例教程 (第四版)
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=150295
Unix环境高级编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=147632
Unix环境高级编程 第二版
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157443
Unix Systems Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=157691
Linux编程从入门到精通
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=147628
Linux实例编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=160477
Linux 3D Graphics Programming
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=177750
Linux环境编程 GCC完全参考
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=160132
Linux应用程序开发指南 使用Gtk+ Gnome库
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=148197
Programming Linux Games
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=174242
Linux C高级程序员指南
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=148196
Sams Mono Kick Start - Linux环境的.NET编程
http://bbs.topsage.com/dispbbs.asp?boardID=119&ID=160133
6. 跪求一份完整的嵌入式Linux方面的C项目实例
怎样的人适合学习嵌入式?
学习嵌入式需要有一定的基础,这些基础大概包括下面两点:
学过c语言,汇编;
对微控制器有一定了解。
一般理工类(计算机,自动化,电子类专业)的学生大三学比较合适。因为到了大三,一般学过了c语言及汇编,虽然大部分学生没有独立写过一个程序,但至少上过这门课,自己也看过相关知识点;而且上过8051等微控制器原理的课程,也看过类似的教课书。
具备以上基础的人,也不是谁都可以学。因为嵌入式学习门槛比较高,难度比较大,不但要有一定的毅力,而且要触类旁通,如果太死板也很难学会。
概括的说学习嵌入式还必备下列性格:
热爱研发!
切忌浮躁!
执着,顽强,自信!
举一反三!
如果你符合以上条件,完全可以经过努力把嵌入式学好,我了解到的在华清远见学习的一个同学,之前基本上什么基础都没有,写一个“hello world”程序都为难,编译了几次才通过,但是经过四个月的努力,在华清远见专业老师和同学们的热心帮助下,从一个完全的菜鸟变成了入门级别的linux工程师了,找到了一份做应用开发的工作,工资大概有四千吧,还算不错。
LZ要自学的话,可以多到华清远见的网站上看看他们的课程设置,就知道自己该学些什么,还有很多学习资料和视频可以下载,另外华清远见出版的40多本嵌入式专业畅销书,外面各大书店和图书馆都有,你都可以去翻翻看看。
祝你早日学有所成!
请参考,希望能帮到你。
7. 如何自学Linux下C语言嵌入式编程详细点谢谢!书籍及开发板用什么的最好
开发板用友善之臂的吧
mini2440 连3.5寸屏500块钱的样子
有好几张DVD学习光盘
这款口碑比较高
嵌入式Linux操作系统学习规划
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:
(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)
(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)
(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。
从事嵌入式软件开发的好处是:
(1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,大多数人无条件接触。
(2)与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。
(3)哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。硬件设计一般都是请其它公司给订做(这叫“贴牌”:OEM),都是通用的硬件,我们只管设计软件就变成自己的产品了。
(4)兴趣所在,这是最主要的。
从事嵌入式软件开发的缺点是:
(1)入门起点较高,所用到的技术往往都有一定难度,若软硬件基础不好,特别是操作系统级软件功底不深,则可能不适于此行。
(2)这方面的企业数量要远少于企业计算类企业。
(3)有少数公司经常要硕士以上的人搞嵌入式,主要是基于嵌入式的难度。但大多数公司也并无此要求,只要有经验即可。
(4)平台依托强,换平台比较辛苦。
兴趣的由来:
1、成功观念不同,不虚度此生,就是我的成功。
2、喜欢思考,挑战逻辑思维。
3、喜欢C
C是一种能发挥思维极限的语言。关于C的精神的一些方面可以被概述成短句如下:
相信程序员。
不要阻止程序员做那些需要去做的。
保持语言短小精干。
一种方法做一个操作。
使得它运行的够快,尽管它并不能保证将是可移植的。
4、喜欢底层开发,讨厌vb类开发工具(并不是说vb不好)。
5、发展前景好,适合创业,不想自己要死了的时候还是一个工程师。
方法步骤:
1、基础知识:
目的:能看懂硬件工作原理,但重点在嵌入式软件,特别是操作系统级软件,那将是我的优势。
科目:数字电路、计算机组成原理、嵌入式微处理器结构。
汇编语言、C/C++、编译原理、离散数学。
数据结构和算法、操作系统、软件工程、网络、数据库。
方法:虽科目众多,但都是较简单的基础,且大部分已掌握。不一定全学,可根据需要选修。
主攻书籍:the c++ programming language(一直没时间读)、数据结构-C2。
2、学习linux:
目的:深入掌握linux系统。
方法:使用linux—〉linxu系统编程开发—〉驱动开发和分析linux内核。先看深,那主讲原理。看几遍后,看情景分析,对照深看,两本交叉,深是纲,情是目。剖析则是0.11版,适合学习。最后深入代码。
主攻书籍:linux内核完全剖析、unix环境高级编程、深入理解linux内核、情景分析和源代。
3、学习嵌入式linux:
目的:掌握嵌入式处理器其及系统。
方法:(1)嵌入式微处理器结构与应用:直接arm原理及汇编即可,不要重复x86。
(2)嵌入式操作系统类:ucOS/II简单,开源,可供入门。而后深入研究uClinux。
(3)必须有块开发板(arm9以上),有条件可参加培训(进步快,能认识些朋友)。
主攻书籍:毛德操的《嵌入式系统》及其他arm9手册与arm汇编指令等。
4、深入学习:
A、数字图像压缩技术:主要是应掌握MPEG、mp3等编解码算法和技术。
B、通信协议及编程技术:TCP/IP协议、802.11,Bluetooth,GPRS、GSM、CDMA等。
2010-8-21 16:46 回复
122.90.173.* 2楼
C、网络与信息安全技术:如加密技术,数字证书CA等。
D、DSP技术:Digital Signal Process,DSP处理器通过硬件实现数字信号处理算法。
说明:太多细节未说明,可根据实际情况调整。重点在于1、3,不必完全按照顺序作。对于学习c++,理由是c++不只是一种语言,一种工具,她还是一种艺术,一种文化,一种哲学理念、但不是拿来炫耀得东西。对于linux内核,学习编程,读一些优秀代码也是有必要的。
注意: 要学会举一反多,有强大的基础,很多东西简单看看就能会。想成为合格的程序员,前提是必须熟练至少一种编程语言,并具有良好的逻辑思维。一定要理论结合实践。
不要一味钻研技术,虽然挤出时间是很难做到的,但还是要留点余地去完善其他的爱好,比如宇宙,素描、机械、管理,心理学、游戏、科幻电影。还有一些不愿意做但必须要做的!
技术是通过编程编程在编程编出来的。永远不要梦想一步登天,不要做浮躁的人,不要觉得路途漫上。而是要编程编程在编程,完了在编程,在编程!等机会来了在创业(不要相信有奇迹发生,盲目创业很难成功,即便成功了发展空间也不一定很大)。
嵌入式书籍推荐
Linux基础
1、《Linux与Unix Shell 编程指南》
C语言基础
1、《C Primer Plus,5th Edition》【美】Stephen Prata着
2、《The C Programming Language, 2nd Edition》【美】Brian W. Kernighan David M. Rithie(K & R)着
3、《Advanced Programming in the UNIX Environment,2nd Edition》(APUE)
4、《嵌入式Linux应用程序开发详解》
Linux内核
1、《深入理解Linux内核》(第三版)
2、《Linux内核源代码情景分析》毛德操 胡希明着
研发方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP详解》
3、《Linux内核编程》
4、《Linux设备驱动开发》(LDD)
5、《Linux高级程序设计》 杨宗德着
硬件基础
1、《ARM体系结构与编程》杜春雷着
2、S3C2410 Datasheet
英语基础
1、《计算机与通信专业英语》
系统教程
1、《嵌入式系统――体系结构、编程与设计》
2、《嵌入式系统――采用公开源代码和StrongARM/Xscale处理器》毛德操 胡希明着
3、《Building Embedded Linux Systems》
4、《嵌入式ARM系统原理与实例开发》 杨宗德着
理论基础
1、《算法导论》
2、《数据结构(C语言版)》
3、《计算机组织与体系结构?性能分析》
4、《深入理解计算机系统》【美】Randal E. Bryant David O''Hallaron着
5、《操作系统:精髓与设计原理》
6、《编译原理》
7、《数据通信与计算机网络》
8、《数据压缩原理与应用》
C语言书籍推荐
1. The C programming language 《C程序设计语言》
2. Pointers on C 《C和指针》
3. C traps and pitfalls 《C陷阱与缺陷》
4. Expert C Lanuage 《专家C编程》
5. Writing Clean Code -----Microsoft Techiniques for Developing Bug-free C Programs
《编程精粹--Microsoft 编写优质无错C程序秘诀》
6. Programming Embedded Systems in C and C++ 《嵌入式系统编程》
7.《C语言嵌入式系统编程修炼》
8.《高质量C++/C编程指南》林锐
尽可能多的编码,要学好C,不能只注重C本身。算法,架构方式等都很重要。
这里很多书其实是推荐而已,不必太在意,关键还是基础,才是重中之重!!!
8. 想学游戏编程c++ java C 哪个好适合零起点新手 好的追加50分
先学好C/C++
《C语言程序设计》
《C++程序设计》
就可以入门了。
然后学游戏编程:
初学的2D 《Visual C++游戏编程基础》
《Visual C++经典游戏程序设计》
一般现在都可以直接学3D,学好3D,2D就不在话下了
《nehe教程》这个是只有电子书,很好的OPENGL教程,让你对3D图形更感兴趣呵呵 《OPENGL游戏编程》,作者徐明亮,感觉算国内比较好的书了
《3D游戏编程大师技巧》,这书跟《Windows游戏编程大师技巧》有点联系,不过不多,反正也是看思想,代码也不要看了。
还有好多书可以去电驴上载。。。太多了,游戏中的每一个部分都可以单独写成一本书。。以后还要更细化的。。祝你成功,为中国游戏做贡献。
9. 嵌入式学习书籍有哪些
以下是华清远见·星创客嵌入式精英训练营提供的学习嵌入式必看的100本书:
001《大话数据结构》
002《鸟哥的 linux 私房菜》
003《疯狂 android 讲义》
004《第一行代码》
005《linux 内核设计与实现》
006《驱动设计开发》
007《linux 内核解密》
008《unix 环境高级编程》
009《linux 内核设计与实现》
010《essential C++》
011《嵌入式 linux》
012《linux 设备驱动》
013《c 语言深度解剖》
014《linux 下的 c编程》
015《C Primer Plus(第五版)》
016《ARM 体系结构与编程(第二版)》
017《lINUX 设备驱动开发详解(第三版)》
018《android 开发艺术探讨》
019《c++plus》
020《Unix 环境高级编程》
021《与大数据同行——学习和教育的未来》
022《用户体验的要素》
023《编程与艺术》
024《ARM 嵌入式体系结构与接口技术》
025《cortex-m0 接口编程》
026《C 语言程序设计:现代方法》
027《C++ Primer》
028《数据结构》(严蔚敏)
029《算法导论》
030《Linux 设备驱动开发》
031《代码大全》
032《深入理解计算机系统》
033《UNIX 环境高级编程》
034《计算机安全原理》
035《UNIX 网络编程》
036《HeadFirst 设计模式》
037《linux 驱动》(宋保华)
038《C++ primer4》
039《qt5 精彩实例》
040《ldd3》
041《C++高级编程》
042《C语言教程》
043《实战 linux 编程精髓》
044《ARM 教程》
045《JAVA 编程思想》
046《HTML+CSS 网页设计与布局从入门到精通》
047《C 语言深度解剖》
048《深度实践嵌入式 Linux 系统移植》
049《unix 高级编程》
050《c 嵌入式一站式教学》
051《编译原理》
052《深度实践嵌入式 Linux 系统移植》
053《UNIX 环境高级编程》
054《linux 网络编程》
055《C 语言程序设计》
056《unix 环境高级编程》
057《嵌入式 linuxc 语言程序设计基础教程》
058《Java 编程思想》
059《TCP/IP 详解》
060《linux 技术手册》
061《C 语言深度剖析》
062《Unix 高级环境编程》
063《C++primerplus》
064《QT》
065《C 程序设计》
066《C 和指针》
067《C++primer》
068《C 程序设计语言》
069《ProgrammingC#》
070《thinking in C++》
071《Linux Device driver》
072《Linux kernel development》
073《软件工程》
074《C 和指针》
075《Android 核心代码》
076《Android 技术内幕》
077《Android 底层移植》
078《Unix 编程手册(上下卷)》
079《Linux 驱动设计第三版》
080《ARM 实战开发》
081《unix 环境高级编程》
082《tcp/ip 编程详解》
083《Linux 网络编程》
084《Unix 编程艺术》
085《计算机程序的构造和解释》
086《C Primer plus》
087《LINUX 权威指南》
088《LINUX 设备驱动程序》
089《The C Programming Language》
090《ajax 高级程序设计》
091《angula js 权威教程》
092《ARM 体系结构》
093《Unix 环境高级编程》
094《Linux 设备驱动程序》
095《现代操作系统》
096《TCP/IP 协议详解》
097《嵌入式 C 语言设计模式》
098《Struts In Action》
099《c 程序设计语言(第二版)》
100《深入理解 Linux 内核(第三版)》
