新手如何学习学嵌入式开发?
新手如何学习嵌入式开发?
这个问题相信是困扰所有嵌入式初学者的难题,下面的内容是嵌入式学习必学的: C语言; C++;操作系统;计算机组成原理; linux编程; 51单片机; arm;硬件编程语言(FPGA);模拟电路&数字电路。
1、cc++语言,这是计算机行业的必修课,必须找扎实实学好,可以安装 turbo c编译器为开发环境,联系C语言编程; 安装vc++6.0学习C++编程。
2、操作系统,先在电脑上安装一个vmware work station,然后在vmware work station里安装一个linux(redhat 企业版)虚拟机。学习一下操作系统的基本原理,熟悉linux环境下的开发环境,然后你就可以照着《自己动手写操作系统》写个操作系统试试。
3、计算机组成原理,熟悉计算机的基本原理,看看一个计算机的基本组成及软件在里面是如何跑的。
4、《unix/linux编程实践教程》可以说是linux编程的必修课,很不错的一本书,初学嵌入式的朋友可以看看。
5、单片机,其实就是一台电脑,像现在的汽车控制、led控制、屏幕亮光程度控制,它都可以实现,自己买块开发板弄一下,你能学到很多的别人学不到的。
6、arm,现在流行的微机,说白了就是32位的单片机,还可以跑操作系统哦,自己想办法移植一个操作系统上去吧。
7、硬件编程语言(FPGA),芯片到底是怎么做成的,学习这门课,你就知道了。
8、模拟电路&数字电路,硬件的基础,如果可以的话,学习下protel ,自己做个硬件pcb板试试。
计算机这行都是偏向于实践的课程,所以要注重动手能力,学习嵌入式这基本课程的时候,你可以按照这样的顺序来学习:
1:C语言、计算机组成原理、模拟电路&数字电路
2:汇编语言、单片机、操作系统、C++
3:硬件编程语言、arm
嵌入式开发大抵分四个方向,硬件、驱动、内核、应用,如果是希望向嵌入式软件方向发展的话,目前常见的是
嵌入式Linux+ARM方向,关于这个方向,大概分3个阶段:
1、嵌入式linux上层应用,包括QT的GUI开发
2、嵌入式linux系统开发
3、嵌入式linux驱动开发 嵌入式目前主要面向的几个操作系统是,LINUX,WINCE、VxWorks等等 Linux是开源免费的,而且其源代码是开放的,更加适合我们学习嵌入式。
自学的话你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。 推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。
给大家把一个嵌入式开发学习大方面的学习框架搭出来了。
最后呢祝大家能够在学习的路上马到成功。
新手如何学习学嵌入式开发?相关推荐
- 2019年Java就业前景如何?新手还能学Java开发吗?
2019年Java就业前景如何?新手还能学Java开发吗?Java是目前世界上最流行的计算机编程语言,是一种可以编写跨平台应用软件的面向对象的程序设计语言.随着互联网的快速发展,对于程序员的需求量很大 ...
- 嵌入式linux学习路线,嵌入式开发视频教程
Linux 是一个开源.免费的操作系统,主要应用于服务器(网站服务器.云计算集群.DNS 等)和嵌入式,同时也被很多程序员用作个人操作系统.Linux 使用 GPL 许可证,允许任何人以任何形式传播其 ...
- 基于stm32的linux开发的书籍,跟工程师学嵌入式开发:基于STM32和μC OS-Ⅲ 带目录高清版pdf...
本书选用的STM32芯片基于ARM Cortex-M3体系结构,根据基于MCU的嵌入式技术实际应用需求,合理地选择了多种常用的重要外设接口,如USART.SPI.I2C.FSCM.SDIO总线.以太网 ...
- 【嵌入式学习】嵌入式开发的第一课
前言 在这里仅就嵌入式的学习,简单记录分享. 一.什么是嵌入式 嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能.可靠性.成本.体积.功耗.环境等)灵活裁剪软硬件模块的专用计算 ...
- 【MindStudio训练营第一期】【昇腾AI训练营新手班学习笔记】开发环境配置
准备 购买云服务器,安装提供的镜像 华为云:https://www.huaweicloud.com 下载MindStudio(windows),安装 MindStuidio下载页: https://w ...
- android开发板那种好,学嵌入式用哪个开发板好?嵌入式开发板推荐
学习嵌入式,必不可少的工具就是一块开发板.对新手而言,学嵌入式用哪个开发板好,下面为大家推荐一款比较好的嵌入式开发板. 嵌入式开发板要推荐的是:fs4412开发板,是当前前沿的ARM Cortex-A ...
- 循序渐进学习嵌入式开发技术
嵌入式时代已经来临,你还在等什么? ---循序渐进学习嵌入式开发技术最近经常有用人单位给我打来电话,问我这有没有嵌入式Linux方面的开发人员,他们说他们单位急需要懂得在嵌入式linux环境下的 ...
- 如何学习嵌入式开发必备技能
嵌入式是当下最流行的开发模式,从今天看,不管是从行业应用,还是智能硬件的爆发,物联网时代的来临,大数据等等嵌入式技术都得到了史无前例的发展.那要如何学习嵌入式开发呢?下面来简单来了解下嵌入式开发的一些 ...
- 嵌入式培训如何学?什么人适合转行嵌入式开发?
未来的几年,随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间.手机.电子字典.可视电话.数字相机(DC).数字摄像机(DV).U-Disk.机顶盒(Set Top Box).高清 ...
最新文章
- Find Large Files in Linux
- 2017年卖掉全副身家买比特币,全家人一起游牧……这个企业家好疯狂!
- linux tomcat下部署多个项目启动失败
- c++ 读取txt文件保存到vect
- windows和linux多进程效率,Windows程序效率 (转)
- Syslog系统日志配置
- C# 如何在PDF中绘制不同风格类型的文本
- r语言 小树转化百分数_魅力语言小课堂|绕口令《说日》
- 部署ganglia3.7
- StringUtil
- 读书笔记:《牛奶可乐经济学》
- 世界各国及其省份城市经纬度
- 云蹦迪云广场舞软件开源源码
- 《青浦区加快发展跨境电子商务实施细则(审议稿)》
- 记录一下Python的11个小技巧
- html屏幕遮挡,遮挡屏幕怎么设置 为什么手机上会出现请勿遮挡屏幕顶端
- 算法与价值观如何平衡?凤凰新闻客户端新版给出了答案
- SQL面试问题及回答
- 深度linux任务栏在哪,更新Deepin 20后任务栏dde-dock消失不见的暂时解决
- TensorRT 推理时提示This container was built for NVIDIA Driver Release 470.42 or later 解决方法
热门文章
- GICV2GICV3的基础知识
- 电脑摄像头未能创建连接服务器,电脑提示未能创建视频预览,请检查设备连接的原因及解决办法...
- Composite 聚合——Elasticsearch 聚合后分页新实现
- 华为、惠普、 戴尔、浪潮 服务器命名规则和型号分类
- 决策树的预剪枝与后剪枝
- 阿里云Maven仓库地址及设置
- [Apple Shapr3D]【续更】【shapr3D】认识Shapr3D,一个简单易用的设计类软件
- setTimeout()和setInterval()的区别和转换
- 如何使用IOS自动化测试工具UIAutomation
- 准备移民澳洲的你,为何改移加拿大?