嵌入式开发分为驱动开发和应用开发。
驱动开发难度较高,除了精通嵌入式芯片工作原理(寄存器设定...),操作系统原理(存储空间分配...等)外,还需要了解基本的数字电路的知识(端子电位...等)。
这部分主要用c语言和汇编,这种开发薪金较高,不是随便上个培训班就能胜任的。
嵌入式应用开发,其实基本已经和普通软件开发没什么区别了,只是使用的工具不同,因为各种不同已经在驱动层和操作系统层屏蔽了,直接调用各种接口函数编写程序。是在嵌入式驱动开发的基础上做的进一步开发。
这部分用c\c++,java,c#都有,java多一些,因为java语言对不同平台间的兼容性较好,不管什么系统,装个java虚拟器就可以跑java程序。
早些年嵌入式开发指的都是嵌入式驱动开发,现在很多培训班混淆视听,把应用开发也归类为嵌入式,会嵌入式应用开发的人一点都不缺乏。这也和市场需求有关,目前人才需求大部分都是嵌入式应用开发,国内很少有公司有财力和物力自己做驱动开发。
一个合格的嵌入式驱动开发程序员再怎么也月薪上万。
一个合格的嵌入式应用开发程序员最多四五千。
懂得应用开发的,根本不懂驱动开发,因为不懂硬件;懂得驱动开发的人轻松做应用开发,因为那些接口函数都是他们自己做的。
你真正要选择的不是c语言还是java,而是驱动还是做应用。
做驱动绝对是有挑战的。高投入,高回报。
以下是华清远见·星创客嵌入式精英训练营提供的学习嵌入式必看的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 内核(第三版)》
ARM嵌入式LINUX应用实例开发作者:欧文盛 编著
出版:中国电力 出版日期:2010年02月
本书是《ARM嵌入式Linux系统开发丛书》之一。本书主要以完整的小型实例的形式讲述嵌入式Linux系统下的应用开发。在介绍基本的开发环境和QtopiaCore开发包的基础上,本书采用实例讲解的方式,由浅入深逐步介绍各种类型的应用开发,包括比较基础的截屏程序、时钟程序和拼图游戏,以及稍微复杂的桌面管理器、嵌入式数据库、嵌入式Web服务器等应用实例,并在最后两章讨论了嵌入式Linux应用开发中常用的调试和优化技术。本书提供所有实例的完整源代码,便于读者分析和学习。
Linux设备驱动程序 中国电力出版社
深入理解Linux内核
宋宝华老师的 Linux设备驱动开发详解
杜春雷的 ARM体系结构和编程
都挺经典的,学习的关键在于实践,多动手
希望能给你帮助