问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

嵌入式开发学习步骤

发布网友 发布时间:2022-04-20 08:18

我来回答

6个回答

热心网友 时间:2022-04-09 18:42

我也是计算机科学与技术专业的,你要是在单片机上做开发,给你看看怎么学习。当然我们的嵌入式学习基本上都是基于Linux的啊。

开发板必须要有的啊!!呵呵。

这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究! 

     在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。 

    关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的*。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。 

     怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。 先看《深入理解linux内核》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深入理解linux内核》看。两本交叉看,《深入理解linux内核》是纲,《情景分析》是目。最后深入代码。 

学习嵌入式技术,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。

如果没有开发板,那是纸上谈兵。有人说,那要1000-2000啊,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿 1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理! 

没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。也想介绍毛德操的《嵌入式系统》那本书,对学习arm linux的很好,也想介绍实习和工作的东西,太长了,耽误大家时间。我也不想检查里面的错别字了,很多!

呵呵呵,我想对你应该有帮助的啊,特别是那几本书,必看的啊!!

希望你前程似锦,学习进步!!

呵呵呵呵。汇编也很重要啊,这一点对明白操作系统和CPU有重要的推进作用。

参考资料:《汇编语言程序设计》

热心网友 时间:2022-04-09 20:00

嵌入式开发的学习其实并没有那么难,只要了解学习的体系,掌握正确的学习方法,学习起来并不难。来讲一下嵌入式开发都要学些啥!

嵌入式开发的主要学习内容:

热心网友 时间:2022-04-09 21:34

你可以尝试以下路线:
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。
推荐书籍:《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) (3)Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。
推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
(5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发
linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。
linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因为每一部分要详细研究的话足够可以扩展成一本厚书。

以上只不过是大概的框架,在实际的开发中还会涉及很多东西,比如:交叉编译、makefile、shell脚本等等,所以说学习嵌入式的周期较长,门槛较高,自学的话更是需要较强的学习能力和专业功底。只要能坚持下来一定会取得成功!

关于嵌入式领域内的相关专业问题,建议LZ到华清远见的网站上详细了解一下,也可以拨打电话咨询华清远见的专业老师,各大书店及图书馆也有华清远见出版的畅销嵌入式专业图书,了解一下相信对你会有帮助!

热心网友 时间:2022-04-09 23:26

1、Linux 基础
安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用vi编辑文件 使用Emacs编辑文件 使用其他编辑器
2、Shell 编程基础
Shell简介 认识后台程序Bash编程熟悉Linux系统下的编辑环境 熟悉Linux下的各种Shell 熟练进行shell编程熟悉vi基本操作 熟悉Emacs的基本操作 比较不同shell的区别 编写一个测试服务器是否连通的shell脚本程序 编写一个查看进程是否存在的shell脚本程序 编写一个带有循环语句的shell脚本程序
3、Linux 下的 C 编程基础
linux C语言环境概述 Gcc使用方法 Gdb调试技术 Autoconf Automake Makefile 代码优化 熟悉Linux系统下的开发环境 熟悉Gcc编译器 熟悉Makefile规则编写Hello,World程序 使用 make命令编译程序 编写带有一个循环的程序 调试一个有问题的程序
4、嵌入式系统开发基础
嵌入式系统概述 交叉编译 配置TFTP服务 配置NFS服务 下载Bootloader和内核 嵌入式Linux应用软件开发流程熟悉嵌入式系统概念以及开发流程 建立嵌入式系统开发环境制作cross_gcc工具链 编译并下载U-boot 编译并下载Linux内核 编译并下载Linux应用程序
4、嵌入式系统移植
Linux内核代码 平台相关代码分析 ARM平台介绍 平台移植的关键技术 移植Linux内核到 ARM平台 了解移植的概念 能够移植Linux内核移植Linux2.6内核到 ARM9开发板
5、嵌入式 Linux 下串口通信
串行I/O的基本概念 嵌入式Linux应用软件开发流程 Linux系统的文件和设备 与文件相关的系统调用 配置超级终端和MiniCOM 能够熟悉进行串口通信 熟悉文件I/O 编写串口通信程序 编写多串口通信程序
6、嵌入式系统中多进程程序设计
Linux系统进程概述 嵌入式系统的进程特点 进程操作 守护进程 相关的系统调用了解Linux系统中进程的概念 能够编写多进程程序编写多进程程序 编写一个守护进程程序 sleep系统调用任务管理、同步与通信 Linux任务概述任务调度 管道 信号 共享内存 任务管理 API 了解Linux系统任务管理机制 熟悉进程间通信的几种方式 熟悉嵌入式Linux中的任务间同步与通信编写一个简单的管道程序实现文件传输 编写一个使用共享内存的程序
7、嵌入式系统中多线程程序设计
线程的基础知识 多线程编程方法 线程应用中的同步问题了解线程的概念 能够编写简单的多线程程序编写一个多线程程序
8、嵌入式 Linux 网络编程
网络基础知识 嵌入式Linux中TCP/IP网络结构 socket 编程 常用 API函数 分析Ping命令的实现 基本UDP套接口编程 许可证管理 PPP协议 GPRS 了解嵌入式Linux网络体系结构 能够进行嵌入式Linux环境下的socket 编程 熟悉UDP协议、PPP协议 熟悉GPRS 使用socket 编写代理服务器 使用socket 编写路由器 编写许可证服务器 指出TCP和UDP的优缺点 编写一个web服务器 编写一个运行在 ARM平台的网络播放器
9、GUI 程序开发
GUI基础 嵌入式系统GUI类型 编译QT 进行QT开发熟悉嵌入式系统常用的GUI 能够进行QT编程使用QT编写“Hello,World”程序 调试一个加入信号/槽的实例 通过重载QWidget 类方法处理事件
10、Linux 字符设备驱动程序
设备驱动程序基础知识 Linux系统的模块 字符设备驱动分析 fs_operation结构 加载驱动程序了解设备驱动程序的概念 了解Linux字符设备驱动程序结构 能够编写字符设备驱动程序编写Skull驱动 编写键盘驱动 编写I/O驱动 分析一个看门狗驱动程序 对比Linux2.6内核与2.4内核中字符设备驱动的不同Linux 块设备驱动程序块设备驱动程序工作原理 典型的块设备驱动程序分析 块设备的读写请求队列了解Linux块设备驱动程序结构 能够编写简单的块设备驱动程序比较字符设备与块设备的异同 编写MMC卡驱动程序 分析一个文件系统 对比Linux2.6内核与2.4内核中块设备驱动的不同
11、文件系统
虚拟文件系统 文件系统的建立 ramfs内存文件系统 proc文件系统 devfs 文件系统 MTD技术简介 MTD块设备初始化 MTD块设备的读写操作了解Linux系统的文件系统 了解嵌入式Linux的文件系统 了解MTD技术 能够编写简单的文件系统为 ARM9开发板添加 MTD支持 移植JFFS2文件系统 通过proc文件系统修改操作系统参数 分析romfs 文件系统源代码 创建一个cramfs 文件系统

热心网友 时间:2022-04-10 01:34

先学一下汇编,这个很重要,然后再系统的对嵌入式系统的发展历史和工作原理进行一个细致的了解,然后行动起来,去从简单到复杂的开发...当然要有板子..

热心网友 时间:2022-04-10 04:15

自己买个板子,光碟里就有教程
学习嵌入式开发需要哪些知识?

要学习嵌入式开发,首先需要明确目标,主要包括掌握ARM架构、Linux操作系统及应用软件开发。以下是学习路径的详细规划:1. 确定基础:了解主流嵌入式微处理器如ARM9的结构与工作原理。2. 选择操作系统:熟悉并专攻一个嵌入式操作系统,如uCLinux或Linux(具体版本待定)。3. 开发流程:掌握软件开发流程,通过...

嵌入式有什么学习方法?求个嵌入式学习方法,经验

1.:基础与理论阶段 主要包括一些理论知识,你至少了解这行业吧,基本的Linux系统使用;其次就是嵌入式核心开发语言C语言(必须精通);了解c语言数据结构及经典算法编程;最后就是要了解嵌入式产品的一个基本的开发流程,这对后续的开发有很大的帮助,不至于是那么的迷茫。2.:嵌入式系统核心开发 整理了下,至...

嵌入式开发如何入门

6、嵌入式Linux下串口通信 串行I/O的基本概念嵌入式Linux应用软件开发流程Linux系统的文件和设备与文件相关的系统调用配置超级终端和MiniCOM 能够熟悉进行串口通信熟悉文件I/O编写串口通信程序编写多串口通信程序 7、嵌入式系统中多进程程序设计 Linux系统进程概述嵌入式系统的进程特点进程操作守护进程相关的系统...

想学习嵌入式软件开发,需要学习哪些内容

4:Java语言高级编程 5:嵌入式Linux项目开发流程 6:综合案例的实战训练 其次,从事嵌入式软件开发的好处是:1:目前国内外这方面的人都很稀缺。2:与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。3:哪天若想创业,搞自已的产品,嵌入式不像应用软件那样容易被盗版。...

学习嵌入式软件开发需要什么流程?请教学习路线?!

嵌入式软件开发所需的流程如下:熟练使用Linux操作系统 精通Linux下C语言编程 精通嵌入式Linux应用开发 掌握ARM处理器平台及其接口硬件开发 掌握嵌入式Linux下Bootloader的移植方法 精通嵌入式Linux内核裁减移植及内核调试 精通嵌入式Linux下常用接口的驱动开发 熟悉Java语言编程 熟悉Android应用开发 掌握基于Linux...

嵌入式软件开发怎么学习

最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天...

我还有半年就要从事嵌入式系统应用软件/中间件开发,请专家指导,该怎样...

新手必读“嵌入式系统学习11大步骤”1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉Linux服务能够独立安装Linux操作系统 能够熟练使用Linux系统的基本命令 认识Linux系统的常用服务安装Linux操作系统 Linux基本命令实践 设置Linux环境变量 定制Linux的服务 Shell 编程基础使用...

嵌入式系统原理及应用开发教程

1、建立开发环境 安装操作系统与交叉编译器,操作系统一般使用RedhatLinux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器。2、配置开发主机的参数 配置MNICOM参数,MNICOM软件的作用是作为调试嵌入式开发板...

学习嵌入式开发要学习哪些知识

嵌入式Linux操作系统学习规划 ARMLINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标:(1) 掌握主流嵌入式微处理器的结构与原理(初步定为arm9)(2) 必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定)(3) 必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。从事嵌入式...

嵌入式开发如何入门

嵌入式开发如何入门嵌入式开发想入门首先C语言是必须掌握且熟练的编程语言,掌握之后要灵活运用,还需掌握linux的命令和安装,嵌入式开发工程师还必须懂硬件电路的基本常识以及会看原理图,嵌入式入门并不难,但学习是一个漫长的过程,要打好基础才能走好下一步。嵌入式开发是什么意思嵌入式开发的意思是指...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
亲们 谁帮我写一个拒绝的短信呀 是相亲认识的 希望有才的帮我写下哦... 出自《聊斋志异》 狼三则的成语有哪些 ...就是现在国内的粉丝比较崇拜哪些韩国偶像,谢谢各位! 请问韩星金贤重主演的电视剧和电影都分别有哪些?除了《花样男子》!谢谢... 鉴别变色眼镜质量的好坏有什么方法呢如何鉴别变色眼镜质量的好坏_百 ... 怎么知道什么颜色的眼镜适合自己 怎样选购变色眼镜 选购变色眼镜有什么方法 马斯克称赞中国电动汽车称其处于世界领先地位 新手怎样挑选变色镜片? 鉴别变色眼镜质量的好坏有什么方法呢如何鉴别变色眼镜质量的好坏 嵌入式开发要学什么,小白必备 嵌入式软件开发和PC机软件开发的的异同点 嵌入式就业方向有哪些? 关于嵌入式系统应用的程序 嵌入式linux和嵌入式android系统有什么区别和联系 让嵌入式linux系统开机后不加载桌面,直接加载我的... 针对c/s架构服务器是嵌入式设备的用什么作ui自动化... 自学嵌入式开发应该先要学些什么? 嵌入式系统开发与软件开发的区别 UI设计和嵌入式哪一个更有市场? 嵌入式系统的UI设计一般都用什么软件实现?(不是... 关于寄生虫 这个寄生虫学名叫什么?在我老家那边叫草爬子,附图! 污水处理厂,镜检中出现的线虫 的学名叫什么? 一种带红色的寄生虫学名叫什么?? 十大人体寄生虫危害有多大 如何知道自己身体里有没有寄生虫?? 能寄生在人的大脑上的寄生虫是什么 寄生虫的含义是什么 桔子中寄生虫的学名叫什么? 神经调节与体液调节 生物,什么叫神经-体液调节 酸菜香菇饺子馅的做法 冻豆腐香菇酸菜馅饺子的做法 香菇与酸菜鸡蛋一块包饺孑有无副作用? 白菜酸菜饺子馅的做法 酸菜和磨菇可以包饺子吗 酸菜馅素馅饺子怎么调馅好吃 素酸菜饺子馅做法大全 营养专家说:这几种饺子馅儿最健康 香菇和什么一起包饺子好吃 酸菜馅怎么做 立冬吃些什么 香菇可以和肉和酸菜一起妙吗 音质LDAC好还是aptx好? 广西数字国信安全技术服务有限公司怎么样? 信息安全等级保护商用密码安全测评机构 商用密码的商用密码的作用 国家鼓励商用密码从业单位采用商用密码是真的吗? 商用密码领域的行业协会等组织依法