还剩28页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
【最新】嵌入式学习心得体会篇5篇一为毕业后能找到工作而读书,本着务实精神,从入学那一刻起就要开始准备找工作了发这篇文章主要是针对大学刚接触嵌入式的同学很多新手觉得嵌入式入门并不容易,牵扯的内容、知识点太多像语言c基础是否掌握?汇编语言是否了解?电路原理学的怎么样,能看懂接单的电路图吗?软件学的怎么样,能画电路吗?AD本文主要包括以下内容嵌入式的前景如何入门嵌入式怎么才算是掌握一个单片机大学期间需掌握的嵌入式相关的知识、技能学习单片机的最快途径嵌入式前景用一种说法,下一个时代是物联网的时代,以后的生活一定是智能的、万物互联的,所有的家电都会集中到一个终端上,通过这个终端就可以控制周围的一切,就像扎克伯格为自己家的设备写的一套系统一样,通过一个语音助手就控制整个家这些智能设备都需要我们嵌入式开发者来做,把那些设备嵌入进程序,让它们任你控制另外一个特点是概念特别多,多了还不算,难的是看到了怎么理解,理解了怎么用,用了怎么用好这是一个逐次递进的过程,就像升级打怪一样,不停的面对新的概念,不停的提升还有一个特点是知识源大部分是英语的,这一点就劝退了很大一部分人这并不是说英语不好就做不了嵌入式,但是想学好,学到最新的知识,学到最全的知识体系,阅读英语资料是必不可少的嵌入式学习的这些特点,决定了学习的过程充满艰辛,坚持到底才能收获成功的喜悦管=.为毕业后能找到工作而读书,本着务实精神,从入学那一刻起就要开始准备找工作了发这篇文章主要是针对大学刚接触嵌入式的同学很多新手觉得嵌入式入门并不容易,牵扯的内容、知识点太多像语言基础是否掌握?汇编语言是否了解?电路原理学的C怎么样,能看懂接单的电路图吗?软件学的怎么样,AD能画电路吗?本文主要包括以下内容嵌入式的前景如何入门嵌入式怎样算掌握一个单片机大学期间需掌握的技能学习单片机的最快途径嵌入式前景有一种说法,下一个时代是物联网的时代,以后的生活一定是智能的、万物互联的,所有的家电都会集中到一个终J.dj I师上通过这个终端就可以控制周围的一切,就像扎克伯格为自己家的设备写的一套系统一样,通过一个语音助手就控制整个家这些智能设备都需要我们嵌入式开发者来做,把那些设备嵌入进程序,让它们任你控制嵌入式以后的工作是可以动手做自己想做的东西,而且是很智能的设备,开发出来一款设备岂不是很爽,比如门禁,热敏打印机,电子手表,扫地机器人等等嵌入式学习有软件知识还有硬件知识,当看到学习的是可以实际操作的单片机后就感觉不错了前景也好,而且不用担心找不到工作最后真正喜欢嵌入式的话,那么就好好学习吧,后期的学习嵌入式还是有点难度的,这个时候就要发挥兴趣的作用了既然喜欢,知道他好,那再难也要去学习,这样一定能学好的,比的不是谁比谁聪明,比的完全是谁学的时间久,学的知识多如何入门嵌入式大学期间想要学好嵌入式,那么从大一开始吧嵌入式不容易学习,嵌入式牵扯的东西太多了,不会像软件那么容易学你可能见过满大街、、大数据、数据库的培训,JAVA Python但很少听到有培训嵌入式培训吧?就是因为入门比较难,既要掌握软件的知识,还要学习硬件的知识,还要学习各种硬件之间通讯原理也就是说,嵌入式学习需要一定的的科班基础大一刚来的话,肯定要多参加学校的活动,多交些朋友的,期间要留意下实验室什么时候纳新,最好从实验室纳新的时候就进去,当然大一主要学习语言C大二要开始学习单片机了,这个要有老师,学长带带,有实验室的环境,还能一起做项目,学的会快很多,想着在宿舍学习的尽早放弃,感觉几乎不可能学好如果大一上学期就加入了实验室,那么上学期就应该把语言C学习完的语言在实验室学习的进度一定要比课堂上的快的,不会,c的就问别人或者上网搜索这样下学期就开始学习单片机,刚开始学习的时候一套资料是一定要有的,不然很吃力怎样算掌握一个单片机大一阶段,懵懵懂懂,思维还没有从高中转变过来总觉得学习就是要把所有的东西看一遍做一遍才叫会如果是这样的话,那你的上限只会成为一个“匠所谓掌握,就是做到心中有数,那什么样算心中有数?这就很关键了,掌握单片机的核心构架、拥有自己的编程思我当时学到了大二下学期,把单片机的各个模块都学习过了,但是不太会用,不能把每个模块结合起来做一个项目后来有幸参加蓝桥杯,当时的题目是做一个可以改时间的万年历,我们需要把温湿度模块,时钟模块,按键模块,液晶模块都添加到程序中,并且让他们能够运转正常最后,在主函数里面调用各个模块的功能,做成了一个项目,不一定非要把每一个知识点都吃透,但是你要准确无误的用起来,那么这时候你就算是学会了大学期间需掌握的技能大一应该学习最重要的语言单片机,大二学单片机也C,5151可以,高数也应该好好学下,考研或者以后的工作中会有用的大二期间一定要把单片机学完,做几个小项目,再去学习51一些自己感兴趣的模块,比如红外感应模块、模块、蓝牙模WIFI块、指纹检测模块……很多很多模块你可以实现你自己的想法了,譬如做个跑马灯、动态数码管显示、模拟个“世上只有妈妈好的铃声\又或者弄个难点的时钟计时又或者红外控制,想做什么,都可以问问老师有没有相关的模块大二期间还应该学习画原理图的软件或者,数protel99se AD据结构,数据库,这些都是课堂上的课程,在课堂上好好学习就行英语在以后的工作中也挺重要的,要看英文的文档,!级要好好准备在大二下学期也可以开始学单片机了,我是stm32大二暑假留在学校的实验室学习的,就是每天看视频学些STM32基础的知识大三学习一种做上位机的语言或者同时VC C#,要学的精通了,可以先在上学习实时操作STM32STM32UCOS系统大三的时候要多参加大的项目,多参加比赛,我们实验室就会常参加赛佰特杯,还有挑战杯,蓝桥杯,拿着自己做的东西去参加大三如果还有时间的话,就开始做毕业设计,一般两个月应该就能做好了,我们是选择暑假留在学校做毕业设计,实验室的老师给的题目做完了就用学习当然在学校阶段熟悉ARM LINUX,LINUX就行如果这些知识都掌握了,那学的一定不错了,以后就去实习吧,尽早去社会磨练磨练看了看怎么这么多东西要学,选一个方向学不就行了吗?其实大学所学的知识都是基本的知识,所学的知识都是为你以后学习更加深的知识打基础的O当你选择一个新方向,在大学里面如果还接触过,那么学习起来就没那么难了,如果压根没见过,那么学习起来一定会花费大量的时间,工作的时候可不会给你这么多时间学,所以多学点肯定是有用的学习单片机的最快途径学习单片机最快的方法就是做项目当把一个知识,单片机的基础知识看完之后,一定要做项目,做项目才能让你学的更快简单谈一下我从做项目中获取的经验吧大一期间就对无线控制很感兴趣,觉得无线控制很有意思,响应设备与控制设备之间的数据交互看不见摸不着,但却能精准高速的相互通信经过一段时间的学习,我选择红外线这一无线通信工具完成的项目是“基于物联网教室空调控制系统”,主要实现的功能,学习、发射红外码,加入通信功能、定时功能、温湿度检测WIFI等首先接到这个项目,先了解基本功能,设计一下方案,思考方案可不可行,各个模块如何相互配合工作?具体需要什么模块等等吧,然后选择适合的不需要多大,够MCU,用就行,然后选择要使用的模块硬件准备工作做好之后,就可以从构图做起了当然如果没PCB有条件,可以选择一个带有你需要模块的现有单片机硬件准备好之后,就可以嵌入式最擅长的软件编程了编程过程中,一定要多注意细节,以及个人编程习惯都会导致一些很难排查的过程当中无可避免的会出现各种各样的bug,bugo篇四最近一年都在忙着一个项目,并且需要学习另一个领域的知识,从单片机过渡到了嵌入式,倒静不下LINUX心去写点东西看了下之前写的东西,感觉已经过去了很久很久现在项目快忙完了,准备把最近的心得给大家分享下刖B之前准备用很多文章介绍整个电力电子的体系,现在看看仅仅写了几个技术性的文章,这对于想了解这门学科的小伙伴感觉是不够的前面写了、、屏幕和其实对于一个小STM32FPGA QT,型的项目来书,这几个部分已经差不多够了但是介绍的仅仅是中间的技术问题,所以还是不能从整体上把控该怎么弄,该用到什么知识,该怎么去转型之后的文章我将一一介绍从开始到结束怎么一步一步的去搞当然这个是花费很大的经历,自己做明白和说明白是两回事最近心得做了电力电子八年,加上自己系统学习的年,又加7上基础学习的年,差不多搞了年了当然基础学习419都是胡乱学,没啥长进,那也差不多好好搞了年了15开始的时候调试出个串口信号,心理美滋滋的,感觉很神奇,充满了兴奋到后来的慢慢的工作,感觉这个是应该做的,不过调试出来东西,看着波形在示波器上显示,心理还是挺兴奋的直到现在,做出来东西,已经没有任何波澜,感觉这个是工作,应该做出来或许这个就是慢慢的心理变老了不喜欢这种状态,可是却无可奈何现在仅仅是做新东西的时候,没有任何基础的东西,然后做出来,才会开心一会,那种兴奋已经没了或许这个就是消磨吧有时候真羡慕那些可以一直保持兴奋的人话说回来,我很喜欢电力电子,是感兴趣那种能让我调试个板子,我是很喜欢的,能坐在那里一上午不动,慢慢搞的那种人并且自己的工作也是电力电子,知乎上很多人羡慕自己的工作就是自己的兴趣这样的一开始不觉得,时间长了感觉兴趣和工作一样的这种情况,确实挺东西还能拿钱多好少的工作就是工作,拿钱就是拿钱可偏偏正好喜欢的不过慢慢的这种情况的弊端我也感受到了回到家坐在那里想做点自己喜欢的东西,可总感觉自己的加班、在工作这种感觉很难受并且工作也不太开心的时候,总有些不如意的时候,你再去做自己感兴趣的东西,并且和工作内容一样的时候,你会感觉很别扭,甚至有些如坐针毡的感觉哎!有利有弊吧!前面说了那么多,是想和小伙伴分享下心情,不知道有没有一样的小伙伴,或者已经经历过这个阶段的前辈下面的路怎么走呢,也没人指导,真心希望这个时候能有个前辈指一条道路啊,当然不仅仅是技术上的,还包括心理建设方面的技术路线先系统说下自己到现在都干了啥,给想走这条道的小伙伴抛砖引玉上学期间的基础感觉对现在有用的电路,这个不多说了,整个电力系统的基础,1必须得会书目也就是大学期间学的邱关源的电路现在看看不用都学,学个差不多就行模拟电路,这个也是后来的整个电力电子的基2础,是必须会的关系到后面的硬件基础当然大学期间学的太皮毛现在的产品一般都有推荐电路,所以可以少学点,但是总会出现问题,还是得回归到课本中去看为啥学习里面的知识很重要至于数字电路,现在看来不用学,用不着,别人都做好了,还做啥,会用就行了也不用了解里面咋弄的,知道输入输出就行了,里面咋弄的无所谓!电力电子,这个本科学了,研究生期间也学了其实现在3看来学习一些基本的东西就行当时学习的时候感觉很难,现在看看用到的很少,也就几个电路当然关键的时候还需要分析电路为啥会出问题,这个就没办法了,还是得好好的学这个东西的澄清概念现在我写的差不多是全栈工程师的要求,也就是啥都能会的要求一个人能挑起一个项目,从头到尾的那种其实前面说的是硬件基础,也就是想做硬件,前面的几个必须学好当然对于我这种半吊子的选手,学的不扎实,出现的问题多的很,现在也就将就着搞了最近华为、中兴的芯片事件刺痛了每一个国人的心华为因为被美国制裁,麒麟芯片将成为绝版,因为以国内的技术、设备、工艺水平无法生产纳米芯片在芯片领域,国家投入几千7亿来做,这方面人才非常稀缺传闻阿里收购了唯一自主嵌入式公司中天微,就CPU IPCore是想做芯片,解决我们的无“芯”之痛我们学习嵌入式正好可以用的上嵌入式以后的工作是可以动手做自己想做的东西,而且是很智能的设备,开发出来一款设备岂不是很爽,比如门禁,热敏打印机,电子手表,扫地机器人等等嵌入式学习的有软件知识还有硬件知识,当看到学习的是可以实际操作的单片机后就感觉不错了前景也好,前面说过了,不用担心找不到工作最后真正喜欢嵌入式的话,那么就好好学习吧,后期的学习嵌入式还是有点难度的,这个时候就要发挥兴趣的作用了,既然喜欢,知道他好,那再难也要去学,这样一定能学好的,比的不是谁比谁聪明,比的完全是谁学的时间久,学的知识多如何入门嵌入式大学期间想要学好嵌入式,那么从大一开始吧嵌入式不容易学习,嵌入式牵扯的东西太多了,不会像软件那么容易学你可能见过满大街、大数据、数据库的培训,但很JAVA Python,少听到有培训嵌入式培训吧?就是因为入门难,既要掌握软件的知识,还要学习硬件的知识,下面是研究生期间的基础(感觉对现在有用的)()西门子的我仅仅推荐至于其1PLC,s300300,o他的就算了非常容易上手,硬件西门子做的非常好,怎么搞都不会搞坏的那种这个对于刚学完硬件的小伙伴非常友好,也就是电路控制有了上面的基础,加上一些流程,就可以慢慢的编写出需要的程序了这里要插一个概念,非常重要,也就是学习软件(联系硬件的软件)问题有的小伙伴感觉会就是会用软件,现在感觉这个概念是很不对的(当然有人不同意这个观点),我仅仅是个人感觉学习软件是一个必须的东西,但是软件这个东西仅仅是个工具对于工程师来说,软件仅仅是个工具举几个例子有人说我会是个软件,能写文章才可能word,word成为作家,仅仅会是基础word有人说我会是个软件,能在里面搭建出想要的matlab,matlab电路才能去仿真,仅仅是做硬件的第一步,知道你用的电路可能是对的说回来,的编程软件会了行不行,PLC SIMATIC,可以,这个是必须的,但是这是个软件,需要流程去编写里面的东西才是最重要的编着编着运行起来,知道里面出现的问题,然后去解决出现的问题,才是学习这个东西最终的精华所在然后再接触其他的时候,才能举一反三,才能去流畅的的搞下面的技PLC术,和这俩都是电路仿真软件差不多这个2matlab psim,和上面说的一样,仅仅是个工具想实现什么东西才是最重要的就像我的世界的游戏,都是小方块,大神在里面做了个计算机,还能加载系统的那种,嫉妒羡慕恨,没办法!仅仅会玩是玩,但是知道自己在里面干啥才能大神!当然一般的为了完成任务,仅仅是基础性的就行这个和是差不多的东西,都是实现3DSP,PLC的硬件当然具体的肯定差别很大和硬件联系很紧密,从PLC老式电工基础转过来很容易对于他们来说不太容易当然DSP最终的目的都是控制是输入模拟信号,输出或者DSP PWM01,信号也差不多,输入模拟信号,PLC输出信号最后说的软件,什么,什么01DSP IARCCS,和差不多,都是工具,需要会用,然后慢慢的知道里面的matlab问题,解决问题,留下来的就是你自己的东西了前面说的就是现在感觉整个学科的基础了会电路和模拟电路,就能知道想要的功能,会软件就知道怎么去搭建电路,就知道怎么去仿真,就这道怎么去调试参数,会和就知PLC DSP道怎么去编程,怎么去控制其实到这里大部分的工作和技术都能实现了举个例子变流器主电路,无论两电平还是三电平输入接口-共模电感-1差模电感-变压器-断路器-电路-稳压电容-输出接口这里IGBT面的东西当然怎么选择参数,怎么放在柜子里,这些都面差不多都是电路和电力电子里需要慢慢去学习和摸索的东西当然做之前需要仿真,去看看到底选的参数怎么样控制电路,传感器变换电路-控制芯2・DSP片-驱动电路控制电路-输出电路这里面差不多也都是上面说的・模拟电路和控制的东西前面写写大学期间一些基础的东西,之后的东西会在以后的文章中慢慢写感想很多小伙伴想学习开发板无论是单片机的还是嵌入式1的,可是拿到开发板却不知道自己干啥其实按照现在的LINUX自己的经历,肯定是先点灯当然里面和中断里面都要点while1灯能成功的点亮等,你的程序就已经完成了然后是串口90%定时发送和接收,定时发送和接收完成这些程序差不多完成can了剩下的就是自己的流程程序了,这部分就是你需要实现的95%功能,流程都不一样,就看你的想法流程和计算机的流程一样不一样了,这部分是时间问题,都可以完成有的小伙伴想做硬件,说自己会仿真什么的,会什2PCB么的这部分需要的是实现功能,然后去找对应电路,然后采取画图和仿真之类的仿真和软件仅仅是个工具,知道自己要做什么,需要什么样的电路才是最重要的写在最后之后的一篇文章会继续介绍电力电子工程师硬件和软件需要的知识,当然也会介绍转型的问题,也就是从硬件工程师到软件工程师再到嵌入式工程师(基于自己现在的经历)我也仅仅是一只脚踏进去而已,离全栈工程师应该还有很远很远的距离篇五篇五本人本科学的是电子信息工程专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下语言语法,C学完之后还不知道什么是语言,只记住了C等占几个字节,循环什么的,感觉也就能char,int,long if,while,for算一些小学就会的题目,全国计算机二级语言也就糊涂的过了C我这个专业没学过一开始不知道什么是面向对象,这可能会C++,让人笑话了不过这说的是实话,本科的时候,学院安排的课程大部分偏硬件部分,动手机会比较多,自然而然比较喜欢硬件方面在大二的时候就听学长说,单片机很难学,那时候经学长介绍,淘宝买了本郭天祥老师出的书《单片机语言教程》,一开51C始还真是不怎么懂,感觉有点像是看天书,然后硬着头皮去看,当我把的结构看完了,就不像一开始那样一头雾水了,自己在纸51上把的结构图默画一遍,然后再把各个寄存器功能写一下,各51,,个功能口的结构粗略画了下然后觉得整体已在我心中了虽51然没有什么作用,但是至少懂得这门课要怎么去学习其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了在大三的时候,第一学期课比较少,我就经常待在图书馆,会去蛮看些专业相关的书籍,现在想想,那时候也是机缘巧合下,看到了一本书《从到》,讲述的是从系列单片机的51ARM51一般知识出发,将处理器和系列单片机进行对比,引导读arm51者去理解和学习处理器的知识那个时候也有考虑到以后就业arm的问题,就想到一件事情,如果去应聘工作的话,每个工科院校电子信息类的毕业生都会异口同声地说我会系列单片机当他说51这句话的时候,他和别人是站在同一起跑线上的可我们完全有可能和别人不站在同一起跑线上正是这本书给我开启了另外一扇大门,让我初步了解了嵌入式后来去报考全国计算机等级考试三级教程一一嵌入式系统开发技术,在图书馆奋斗了两个月,最后取得优秀的成绩,也让我进一步了解嵌入式系统在大四的时候,我们有嵌入式的选修课,不过当时因为考研的缘故,就没有去上过这门课,好可惜呀!但是,在选择读研研究方向的时候我还是毅然选择了嵌入式方向,我知道这将成为我未来三年研究的方向这学期(研一下学期),很开心能够再次接触嵌入式系统这门课程,对于导师教的这门课程,我觉得自己上课还是蛮认真听讲的,当然也被师在台上那讲得头头是道,温文儒雅的风姿所吸引对于没有学过微机的我,有些时候,老师用8086微机与嵌入式的对比让我头脑没有相关概念…首先,我对嵌入式在概念上有了一个比较精确的了解嵌入式是指以应用为中心,以计算机为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统它由硬件平台和系统软件组成硬件平台指嵌入式处理器和与之通过接口连接的外围硬件平台系统软件是指实时操作系统和用户应用软件谈到硬件部分,我首先想到的是嵌入式处理器那些外围功能模块对于这部分的学习,我当初花了好长时间看《深入浅出)这本书,现在想想觉得自己学习方法没用ARM7——LPC2400对,完全没有那个必要,自己却花了大把时间在看这些寄存器引脚的使用,因为单纯的看过之后还是很容易忘的,之后在进行实验的时候还是翻书来查就证明了这一点不过一些最基本的模块,例如通用输入/输出口(),通用异步收发器(),向量GPIO UART中断控制器(),外部中断输入和定时器/计数器还是需要看VIC书认真去记住那些常用的引脚功能对于异常这部分,我一CPU开始以为异常就是中断,因为处理程序流程设计是相似的,都是请求处理器打断正常的程序执行流程,进入特定程序的一种机制当时还对老师提出的一个看法有点疑义可以处理中断嵌套而,51处理器却不能?我当时脑子里面就在想中断不都是有硬件ARM设备产生的,那按常理来讲处理器也可以处理的呀后来在ARM认真查书,发现异常有种复位,数据中止,中断,快CPU7中断,预取中止,未定义,软件中断而异常向量会使转入CPU异常入口地址执行程序,开始了异常处理同理的话,中断向量使转入中断入口地址执行程序,开始了中断处理即当发生CPU IRQ中断时,程序返回地址被存入该中断模式下的如果继续IRQ LR,发生中断,那IRQ第二次的中断返回地址也还是被存入该中断模式下的中,IRQ LR那先前发生中断时候存入的程序返回地址将被覆盖掉,导致不能返回正确的位置在我解决这个问题的期间,每次睡前思维准会定格在这问题上,久久不能绕出来,其实有时候查书还是最好的解决方案,因为网络资源只能提供给我们部分的参考资料对于汇编语言这部分的学习,我认为是需要重视的,ARM学汇编不是说用这语言做多牛逼的事情,问题的关键在于,学透了汇编会使你真正理解计算机另外一方面,只要以后在嵌入式工作中你迟早会在某个阴暗的角落里遇到汇编“不管你承认不承认,现在的没有直接跑高级语言的,哪怕是虚拟机也都是类似汇CPU编的指令集.当遇到崩溃分析,性能优化甚至编译器抽风等等的时候,汇编是你最后一根救命稻草(这句话是福来师兄讲的)”为此他给了我们一份资料,周立功系列启动Ipc21xx/lpc22xx ARM7代码分析,主要讲述的是文件的分析,看了下才发现老师startup.s上课讲的那个启动代码分析很多不理解之处这里都有详细的介绍,这分析太精辟了学这么久,我认为从硬件上讲,一方面就是ARM7学习接口电路设计,另一方面就是学习汇编和语言的板级编程C如果从软件上讲,就是要学习基于处理器的操作系统层面的ARM驱动和移植这些对于我们初学者来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级,硬件的寄存器类的东西还是要能看懂的,C基于板级的汇编和编程还是要会的是一种基于优先级的抢占式多任务实时操作系统,JJC/OS-II包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息队列)和内存管理等功能它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化是一个完整的、可移植、可固化、可裁MC/OS-II剪的占先式实时多任务内核p绝大部分的代码是用的语言编写的,包C/OS-II ANSIC含一小部分汇编代码,使之可供不同架构的微处理器使用pc/os-n可以大致分成内核结构、任务管理、时间管理、任务之间通信与同步个部分内核结构是操作系统的处理核心,包4括操作系统初始化、操作系统运行、中断进出的前导、时钟节拍、任务调度、事件处理等多部分任务管理部分中的内容都是与任务的操作密切相关的包括任务的pc/os-n建立、删除、挂起、恢复等等因为是以任务为基本单位调度的,所以这部分内容也相当重要中的最小时钟单位是(时钟节拍),任务延时等pC/OS-II timetick操作是在时间管理这部分完成的任务之间通信与同步为事件处理部分,包括信号量、邮箱、邮箱队列、事件标志等部分;主要用于任务间的互相联系和对临界资源的访问操作系统是在pC/OS-ll,中建立的,首先要系统初始化初始化系统所有main OSInitO,的变量和数据结构然后进行任务的创建,;之OSTaskCreate后进行多任务的启动,在进行任务的并行处理的时候,OSStart一个任务的程序是顺序执行的,而不同任务的程序却是并行执行的从应用程序的观点来看,此处的并行处理只是一个假象而实际上它是通过实时操作系统的内核控制任务之间的切换来实现的,也就是任务调度啦总是运行进入就绪态任务中优先级最高的那一个RCOS-II当创建新任务时,或当前任务调用一些可能把自己挂起的系统函数(如)时,内核就要进行任务切换在上述的场合OSMBoxPend任务级的调度是由函数完成的OSSched在一个多任务的应用工程中,任务之间并不是完全独立的,它们存在一些需相互配合的处理,这些相互配合是靠任务间的通讯或同步,信号量、邮箱、消息队列可以实现这种任务与任务,任务与中断服务函数间的通讯与同步邮箱可以使一个任务或者中断服务子程序向另一个任务发送一个指针型的变量而信号量不可以,其只能发送信号量消息队列可以使一个任务或者中断服务子程序向另一个任务发送以指针方式定义的变量因具体的应用有所不同,每个指针指向的数据结构变量也有所不同,实际上,我们可以将消息队列看作多个邮箱组成的数组,只是它们共用一个等待任务列表我们实验所用的开发工具是全称ARM ADS
1.2ARMADS为是公司推出的新一代ARMDeveloperSuite,ARM还要学习各种硬件之间通讯原理也就是说,嵌入式学习需要一定的的科班基础大一刚来的话肯定要多参加学校的活动,多交些朋友的,期间要留意下实验室什么时候纳新,最好从实验室纳新的时候就进去,当然大一主要学习语言C有实验室的环境还能一起做项目,学的会快很多,想着大二要开始学习单片机了,这个要有老师,学长带带,在宿舍学习的尽早放弃,感觉几乎不可能学好如果大一上学期就加入了实验室,那么上学期就应该把语C言学习完的,语言在实验室学习的进度一定要比课堂上的快的,c不会的就问别人或者上网搜索这样下学期就开始学习单片机,刚开始学习的时候一套资料是一定要有的,不然很吃力关于学习态度与动力问题,可以点击看下之前发的文章嵌入式开发经验分享,把学习当作一种兴趣怎么才算是掌握了一个单片机大一阶段,懵懵懂懂,思维还没有从高中转变过来总觉得学习就是要把所有的东西看一遍做一遍才叫会如果是这样的话,那你的上限只会成为一个“匠”所谓掌握,就是做到心中有数,那什么样算心中有数?这就很关键了,掌握单片机的核心构架、拥有自己的编程思想我当时学到了大二下学期,把单片机的各个模块都学习过了,但是不太会用,不能把每个模块结合起来做一个项目集成开发工具现在的最新版本是支持软件调试ARM ADS
1.2,及硬件仿真调试、支持汇编、语言、源程序,具有编JTAG CC++译效率高、系统库功能强等特点在安装的时候出现过小ADS
1.2问题,当时我的电脑是位的,安装完之后显示不了,后来百度64查找到原因,竟然是文件夹放错地方,应该放在ProgramFilesx86这个文件夹中后来有同学问我这方面的问题,但是发现他们的安装不了的原因是因为弄错了在打开ADS
1.2Licence的时候,一定要记得选CodeWarriorforARMDeveloperSuite否贝都出现很多,而且那些几乎都DebuglnChipRAM,Make error是未定义函数的错误之后就进行调试成功之后会跳出Debug,的界面,选择里面的再添力口AXD OptionsConfigureTarget,的文件,之后点击程序会跳出汇编语言的界面,再点H-JTAG GO,击下就跳到语言程序入口地址,之后再点击下程序就开始C GO,跑起来前面所述的这些步骤是理想情况下程序自身没有发生错误,当然在调试过程中,还是有很多硬件上的问题,一方面是有些开发板可能用久了,用并口连接的时候接触不良,很容易自动JTAG,掉线常出现未连接设备的的还有一方面是跑程序过程常会Error,出现兼容性的问题,导致程序调试时候会出现卡在某个部分AXD一直进入死循环,这个后来是解决了,但是偶尔还是会出现这个BUG通过这学期对嵌入式的学习,我发现自己尚未掌握的知识点还是蛮多的,尤其是对的移植方面,我只pC/OS-II是理论上粗略了解,没有经过实验的操作还有对存储器加速模块这方面不够了解,主要一方面当初在MAM做消息队列采集实验,这个模KeySem_SampdataQeue块被代替掉,不需要使用它,所以后来也没有去掌握相关知识点对于任务就绪算法这部分,我只是上课的时候听“懂”了,课后自己再看完全懵了对于总线调试的部分,老师上课没有讲到CAN这部分的介绍与应用,但是后来通过自己对实验室师兄们所做的课题初步了解,发现我自己有必要去弄懂它的构造和原理“看书不要希望一次就会,一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了”依然记得当初不懂怎么解决某个问题的时候请教李硕师兄,师兄对我说的这番话自己在这部分内容挣扎了好久,pc/os-n现在想想,觉得当初不应该一上来就直接阅读内核源代码,看了一些自己把头撞破也想不明白的事,这样直接正面打击我学习嵌入式的积极性学习啊,还是得要循序渐进如果你想学习嵌入式一定要有块学习板看再多的视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题找到原因,解决问题,只有这样才能学到东西记得我第一次仿写的驱动,想自己试一下,可是自己一试,就出了好多的问题,led那个弄了我一天才把灯点亮所以不要眼高手低led led对于初学者,有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴,最后等着别人去回复,当见没人回复就开始抱怨这种做法是不可取的,有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去一下(最好别google用百度,不太好用),了解了一些,也就大概知道要怎么做了如果再遇到问题,再去发贴问,这样也显得咱们有水平比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事啊见多识广,熟能生巧多看代码,要从代码中读出代码的意思来自己平时也要多写代码,多练习(这一点我做的不好,写的少)最后,我想说的是嵌入式系统的学习和研究一旦我们达到了一定的水平后,其实很简单,就是如何去看和相关芯片的CPUDatasheet!后来有幸参加蓝桥杯,当时的题目是做一个可以改时间的万年历,我们需要把温湿度模块,时钟模块,按键模块,液晶模块都添加到程序中,并且让他们能够运转正常,最后在主函数里面调用各个模块的功能,做成了一个项目,不一定非要把每一个知识点都吃透,但是你要准确无误的用起来,那么这时候你就算是学会了大学期间需掌握的嵌入式相关的知识、技能大一应该学习最重要的语言,单片机,大二学单片C5151机也可以,高数也应该好好学下,考研或者以后的工作中会有用的大二期间一定要把单片机学完,做几个小项目,再学习些51自己感兴趣的模块比如红外感应模块模块,蓝牙模块,指,WIFI纹检测模块……很多很多模块的,你可以实现你自己的想法了,譬如做个跑马灯、动态数码管显示、模拟个“世上只有妈妈好的铃声”、又或者弄个难点的时钟计时又或者红外控制,想做什么,都可以问问老师有没有相关的模块大二期间还应该学习画原理图的软件或者protel99se AD数据结构,数据库,这些都是课堂上的Altium Designer,C++,课程,在课堂上好好学习就行英语在以后的工作中也挺重要的,要看英文的文档,四级要好好准备在大二下学期也可以开始学单片机了,我是大二暑假留在学校的实验室学习的,stm32STM32就是每天看视频学些基础的知识大三学习一种做上位机的语言或者同时要学VC C#,STM32的精通了,可以先在上学习实时操作系统,大三的STM32UCOS时候要多参加大的项目,多参加比赛,我们实验室就会常参加赛佰特杯,还有挑战杯,蓝桥杯,拿着自己做的东西去参加大三如果还有时间的话,就开始做毕业设计,一般两个月应该就能做好了,我们是选择暑假留在学校做毕业设计,实验室的老师给的题目做完了就用学习,当然在学校阶段熟悉就行ARM LINUXLINUX如果这些知识都掌握了,那学的一定不错了,以后就去实习吧,尽早去社会磨练磨练看了看怎么这么多东西要学,选一个方向学不就行了其实大学所学的知识都是基本的知识,所学的知识都是为你以后学习更加深的知识打基础的,当你选择一个新的方向,在大学里面如果还接触过,那么学习起来就没那么难了,如果压根没见过,那么学习起来一定会花费大量的时间,工作的时候可不会给你这么多时间学,所以多学点肯定是有用的学习单片机的最快途径学习单片机最快的方法就是做项目当把一个知识,单片机的基础知识看完之后,一定要做项目,做项目才能让你学的更快简单谈一下我从做项目中获取的经验吧大一期间就对无线控制很感兴趣,觉得无线控制很有意思,响应设备与控制设备之间的数据交互看不见摸不着,但却能精准高速的相互通信经过一段时间的学习,我选择红外线这一无线通信工具完成的项目是“基于物联网教室空调控制系统”,主要实现的功能,学习、发射红外码,加入通信功能、定时WIFI功能、温湿度检测等首先接到这个项目,先了解基本功能,设计一下方案,思考方案可不可行,各个模块如何相互配合工作?具体需要什么模块等等吧,然后选择适合的不需要多大够用就MCU,行,然后选择要使用的模块硬件准备工作做好之后,就可以从构图做起了当PCB然如果没有条件,可以选择一个带有你需要模块的现有单片机硬件准备好之后,就可以嵌入式最擅长的软件编程了编程过程中要多注意细节,以及个人编程习惯都会导致一些很难排查的,过bug程当中无可避免的会出现各种各样的bugo养成好的编程习惯,比如对代码加注释管一■Jm——.嵌入式学习的一点体会新年了,也不能歇着,聊聊我的一些体会吧如果觉得对就参考一下,觉得不对也有助于梳理自己的观点,总是赢的如果说有一种人生的理想状态的话,我想有钱、有权、健康的身体、渊博的学识、美满的家庭等等,这些都不是充分条件那么什么才是理想状态呢?也许“不以物喜,不以己悲”的境界离我们太远如果每天早晨起床,都能有一个平静的内心,不焦虑,知道自己要的是什么,知道自己能做到,同时也知道自己的缺点和不足,并坦然接受简单地说就是认同自己,不受外界干扰,内心平静,我想这就算是理想的状态了吧那这些跟学习有什么关系呢?学习的重要性我们从出生,一直到走出校门,在家庭、在学校,一直把学习当作主要任务毕业工作,还要在社会上或自学、或接受社会教育,学习是少有的要坚持一辈子的事情但是,在很多情况下,我们忘记了人是要学习的,甚至是厌恶学习,逃离学习也许有人会想,不学习又会怎样呢?知道那么多又有什么用呢?我不学习还不是一样活得好好的吗?平静内心的必要条件通过学习,让知识充实自己,不停思考,不断进步,这是不焦虑,内心平静的必要条件学习是最容易的那条路人生的路千万条,每条路都可以通往终点,但是学习是最容易的那条路,这是很多人实践过并认同的一个道理追求美好生活的基本要求我们追求美好生活,需要一定物质基础,这个物质基础需要我们掌握一定的技能来交换,这要靠学习如果想做自己喜欢做的工作,想让自己能更好地掌控自己的生活,就必须有核心竞争力,这就需要持续地学习,有一个完整的知识体系,掌握核心技能怎样学习古人云“读万卷书,行万里路”而且子曰“学而不思则罔,思而不学则殆”这是先贤们告诉我们,多读书,多经历,多思考,这就是学习的基本方法论所以,学习+思考+坚持就是我们学习的基本方法,而且学习和思考是一对亲兄弟,还不能分家的那种我觉得要做到好好学习,我们至少要做到下边几条持之以恒的学习+思考养成学习的习惯,每天都有固定的习惯坚持学习,或是读书,或是学习专业知识,或是思考某件事重要的是沉浸式学习,不受外界干扰,提升效率这个其实很难,尤其是在习惯形成之前,很难坚持,也很容易受到干扰,但是我想,坚持下去总会做到的记录整理,形成自己的知识体系记录,或者是做笔记是学习中很重要的一环,把知识体系化,网络化,然后再吸收、再思考,形成自己的知识体系我们的记忆力毕竟有限,很多东西看过就忘,更别说对比、联系、思考了所以这个一定要借助于笔记软件,很多软件都能够实现知识的记录、知识间的链接、多平台编辑、设备间共享等功能像这类笔记软件非常多,我之前也推荐过一些,也用过不少,而且还在尝试中用过一段时间的目前在用OneNote,Typora+Gitee然后云盘同步当然想实现知识点链接,网络图等WPS Typora做不至!],我只是当做一个编辑器在用,还不错也MarkDown在学和功能更强大,学习成本更高一些看需Obsidian Logseq,求吧汲取有营养的知识这一点的意思是把时间花在提升自己上,做对自己有意义的事嵌入式学习的体会嵌入式的学习自有它的特点,那就是知识体系拉得比较长光懂软件还不行,还需要硬件基础,那么就要有电路、数电、模电的基础,在硬件的基础上编程,软件根植于硬件之上,是一个有机整体,这才是嵌入式的重要特征所以学好嵌入式,不光要会语言最好能自己从硬件原理图开始,画,调试硬件,C PCB编写软件,这一整套,这样难度就上去,护城河也就建立起来了。
个人认证
优秀文档
获得点赞 0