开发板制作电脑系统软件_开发板制作电脑系统
1.单片机学习之路:从入门到精通
2.请问怎么学习linux操作系统
3.(原创)OrangePI-PC开发板Armbian系统安装到USB设备的方法
4.嵌入式应用系统开发过程包括那些,操作系统的移植是必要的吗
5.嵌入式学习建议
问题一:单片机开发板上的硬件怎么使用 首先,你需要仔细看开发板的原理图。你需要把单片机插到开发板的芯片座上,芯片座的引脚会和PCB板连接,PCB板上的走线会将芯片座的引脚连接到具体硬件上。开发板上的硬件设备都是通过开发板的PCB走线连接好的,你只需要在原理图上寻找具体硬件连接到单片机的管脚关系。
目测你的开发板是51开发板,可能用的是STC单片机。你需要准备类似Keil这样的开发工具,C和汇编都可以编程的。具体怎么编程,建议你去图书馆借阅书籍:新概念51单片机C语言教程(教你怎么用C编程)、单片机原理与实践指导(教你怎么用汇编编程)、C Programming Language(经典,教你C语言的)
另外你的这个开发板完全配套郭天祥的视频,建议你买本郭天祥的书《新概念51单片机C语言教程》,参照郭天祥的视频来学习这个开发板会快一些。
你的开发板看起来和下图这个开发板布线一致,
你把图放大来看,上图PCB的丝印层都有每个模块的简单说明的。
如果看不清,请参阅下面的描述:
1. 单片机最小系统:可以使用51单片机如STC89C52,AT89S52,也可以使用AVR单片机如AT mega 16,AT mega 128等系列。
2. 流水灯模块:我们使用了8个红色led,可以进行闪关灯实验,流水灯实验。
3. 独立键盘模块:4个小按键组成,可以做外中断INT0、INT1 ,外定时器T0、T1 实验。
4. 矩阵键盘模块:16个小按键组成可以做外中断INT0、INT1 ,外定时器T0、T1 实验。
5. 数码管模块:由6个一位一体数码管组成,可以显示0,1,2,3,4,5,6,7,8,9,0,a,b,c,d,e,f等简单信息,构成信息交流的人机界面。
6. 蜂鸣器模块:可以用来做报警实验,也可以对歌曲进行编码,用来唱歌。
7. AD模块:主芯片为ADC0804,采集模拟信号(1路输入),并转化为数字信号,内置8位转换器(分辨率为8位)。
8. DA模块:主芯片为DAC0832, 把数字信号转化为模拟信号,分辨率为8位。
9. 串口通信模块:主芯片我们使用了MAX232的升级版MAX3232,通信性能更好。MAX3232把TTL电平转换为RS232电平。
10. 1602液晶显示模块:每行显示16个字符,可以显示两行。这款单片机使用并行接口。
11. 12864液晶显示模块:并行操作方式,可以在液晶的任意位置显示数字,符号,汉字,图像。
12. E2PROM模块:使用I2C总线通信协议(51单片机模拟),主芯片为ATMEL公司的AT24C02N,可以进行数据存储实验。
13. 定时器/计数器模块。
14. DS18B20温度采集模块:采用单总线协议。
15. 红外遥控器DS18B20模块:包括红外接收头,可以进行短程遥控。
16. 直流电机驱动模块:本款开发板含有直流电机驱动模块,可以直接驱动直流电机(本款开发板赠送直流电机)。
17. 步进电机驱动模块:本款开发板含有步进电机驱动模块,可以直接驱动步进电机。
18. 继电器驱动模块:本款开发板含有继电器驱动模块,可以做继电器相关实验。
19. LED点阵显示模块:本款开发板赠送8*8点阵。
20. LM7805 5V稳压模块,可以使用外接电源,方便单片机在无电脑供电时正常使用可以输入5-18V外电源。
21. USB转TTL电平模块:使用CH340T主芯片,可以保证一根USB线就可以下载。
22. RTC实时时钟DS1302模块:可以进行实时时钟......>>
问题二:单片机开发板有哪些功能 我学的是吴鉴鹰单片机开发板,是51的,功能是很全面的,我把这个板子的功能列举下
资源介绍
1、一个CH340的USB转UART芯片,实现USB下载程序,为无串口的笔记本电脑提供下载方便。
2、板子上电源入口有一个自恢复保险丝,可以有效的保护您的电脑主板和开发板。加上这个保险,作为初学的你,即使不小心短路了,也不会烧主板和单片机。
3、板子自带单片机,一个STC89C52RC,有8K的程序空间和512字节的数据空间.
4、板子上共有18个LED小灯,其中一个是USB电源指示灯,插上电源就亮。还有一个是单片机电源指示灯。
5、板子上共有8个数码管,可以用来做数码管的简单秒表实验,计算器功能,显示温度时间等等。
6、板子上配有一个数字旋转编码器,可以通过旋转完成数据的加、减以及作为确认按键使用。
7、板子上配套一个DS1302实时时钟芯片,可以用来做实时时钟实验,弄懂电子表的工作原理。
8、板子上配一个24C02的EEPROM芯片,用来保存掉电后不准丢失的重要数据,用来学习IIC通信实验。
9、板子上配有一个PCF8591,这个芯片集成了AD和DA,可以用来通过AD来进行电压采集实验,通过DA来产生方波、三角波、正弦波信号。
10、板子上集成1602液晶屏,可以用来学习液晶显示,做温度显示实验,秒表显示实验等。
11、板子上共集成有21个按键,其中1个单片机复位按键,16个矩阵按键。分为0到F共16按键,还有四个独立式按键,通过与门74HC08将按下信息送给单片机中断口。
12、板子上有一个无源蜂鸣器,可以用来做音乐输出实验让你充分了解生日贺卡的工作原理。
13、板子上集成一个DS18B20温度传感器,用来学习实现数字温度计。
14、板子上集成一个红外接收管,用来学习红外通信的原理。
15、板子上共4个74HC595芯片,用来驱动16个LED,8个数码管,74HC595在工控领域的显示很常用,可以节约大量的IO口资源,为实现一个复杂系统化工作打下基础。
问题三:初学者怎样使用单片机开发板 我也是在用这本书在学,因为你是高三毕业个人建议是买一块配套的板子,虽然确实是贵了一点,但确可以节省不少麻烦。而且那板子还行,最少工能够齐。
就比如 郭天祥要教你做第14章的时钟那你有可能也想来个掉电保护,那么你须要一块AT24C02这一类型的芯片;别的板子不一定有,你又没有实验室。那要么不用,要么在淘宝上买,先不说价格,你也没工具焊接啊!!
像上图,你能用到红外等别的东西时,你也差不多可以换板子了!!
问题四:51单片机开发板的使用! 单片机开发板要正常工作,一般需要这几个基本条件:
1.供电电源;
一般开发板上提供两种供电方式,USB供电梗专用电源供电。使用USB供电你只要用一根USB线将开发板USB电源接口与电脑的USB接口相连即可;使用专用电源(一般开发板配带)供电只要将专用电源一头接220V市电一头接开发板专用电源供电接口即可;
2.系统时钟;
检查你的开发板上晶振是否正确连接,晶振频率是否正确;
3.复位电路;
检查你的开发板上复位电路是否正常;
4.程序下载;
要将编写好的C源程序下载到单片机内执行,你需要:
(1)硬件连接:一般使用出串口下载方式,用串口线一头接开发板上程序下载串口一头接电脑上任一串口;
(2)软件准备:编辑好的C源文件,利用集成开发环境(keil C使用较广)调试无误后,编译连接生成相应的hex文件,程序下载软件(如stc isp v4.88)做相应设置,如选择要下载的hex文件,设置下载速度,选择单片机型号等等),保证前3个条件具备,点击下载,出现提示后给开发板上电,等待程序下载成功。复位开发板运行程序。
注:以上回答仅针对一般情况(如采用USB下载,不同集成开发环境,非STC51系列单片机等这些情况会略有差异,可留言咨询)
问题五:单片机开发板怎么使用? 这个我就不具体回答你了。
可以参考经验:jingyan.baidu/...c
问题六:自己做单片机开发板需要什么东西 51还是算了吧,直接做一个avr的学就可以了
电路从几个简单部分入手:
1.电源,用个7805神马的,网上多的是电路,LM7805三端稳压电源,几个电容二极管神马的搞定了
2.复位电路,加个按键手动复位,按键按下拉低reset引脚,要加个电阻上拉的,1k就可
3.仿真和下载程序接口,有仿真器建议将jtag口引出到5x2端子,avr的jtag引脚说明网上可以百度到,单片机手册也有。没有仿真器用isp方式下载程序,要将isp用到的引脚引出到端子,ourdev可查到,有很多做开发板的例子,甚至有pcb
4.将所有io口引出,用插针把芯片围上,方便试验,再搞8个发光二极管,几个按键引到IO口
5.其他的就看你的需要了,有很大的发挥空间,比如加个232芯片和DB9端子,到时让单片机和电脑通信,要准备串口线。想玩液晶神马的,用杜邦线就搞定了,不用做到板子上。
大体上就这么多东西,想加上神马再看相应资料。我手上有一块淘宝买的atega128的开发板,有原理图和例程,资料挺全,有不明白留言啊,希望能帮到你。
问题七:单片机开发板如何焊接?什么工具? 用刀口的电烙铁,然后弄0.5mm左右粗细的锡线,开始不熟悉的时候拿废板子练手,熟悉了就能自己焊接了,一般烙铁温度开到400,焊MCU的时候可以调低点郸350左右,不要太高。还需要的工具有,尖嘴的镊子,吸锡器,万用表(测电压和开路短路),松香(用来清除多余的锡)等。
问题八:拿到单片机开发板后,该如何开始学习? 编一些小程序,最简单的像流水灯、加法运算器、抢答器什么的,电脑编译一下,传到开发板上,演示一下就可以了,程序暂时还不会编,可以网上搜一些,要想认真学习单片机,推荐你一本书 《单片机应用技术》中国劳动社会保障出版社出版 劳动和社会保障部教材办公室组织编写,我自己感叮这本书特别容易理解接受,而且里边详细讲了好多实用性很强的小例子,在开发板上都可以实现,试试吧,祝你早日学好单片机,加油I(^ω^)J!
问题九:51单片机开发板的功能介绍 1、8个LED灯,可以练习基本单片机IO操作,在其他程序中可以做指示灯使用。2、2个四联8段数码管,显示温度数据,HELLO欢迎词、时钟等。3、高亮8*8点阵,如练习数字,字母,显示,或者小游戏的开发如贪吃蛇等。4、4个独立按键,可以配置为中断键盘,为程序的按键扫描节省更多的时间。5、8个AD按键,主要设计为游戏开发如推箱子等,去掉了矩阵键盘,AD键盘在实际中的应用相当广泛,如电视机加减搜台等都是采用AD键盘,一根AD线可以扩展几百个按键,更接近工程。6、PCF8591具有AD/DA功能,其采用IIC总线协议,可练习IIC总线的操作。7、DS18B20:单线多点检测支持。8、光敏电阻测试光线强度,感受白天黑夜的区别。9、FM收音机:能接收80M到110MHz之间的FM频段。可实现自动搜台和手动搜台。10、DS1302时钟芯片提供实时时钟,带3V电池,在掉电的情况下,时钟仍然可以继续运行。11、可读写SD卡文件系统,保存数据显示到TFT液晶屏等。12、继电器可以控制高电压的设备,高压危险,请小心使用。13、直流电机接口,控制直流电机。14、步进电机接口,控制步进电机运行。15、蜂鸣器,可以做电子琴、音乐发声等。16、74HC595芯片练习串行转并行数据扩展。17、74HC573锁存扩展芯片,可以扩展接口。18、ULN2003电机驱动芯片。(这里用它来驱动步进电机,直流电机,继电器和蜂鸣器)19、MAX232串口数据传输延长发送距离。(可与计算机通信,同时也可做为STC单片机下载程序的接口)20、PL2303下载单片机,一线下载,直接的USB下载方式,高速下载。21、TFT液晶屏,单片机也可以控制彩屏了,让你的学习充满乐趣22、nRF24L01无线数据传输芯片接口,可以插nRF24L01芯片,做高速无线数据传输。23、LCD1602液晶接口,字符液晶两行,每行可以显示16个字符。24、LCD12864带字库液晶接口。25、LCD12864图形液晶接口。26、DS18B20单线多点温度采集接口。一根线上便可拓展多个DS18B20温度传感器,先提供两个。27、提供ISP下载接口,可下载AVR、AT的单片机。支持AVR单片机。28、40针扩展接口,可以无限扩展。以后的DZR-01A开发板配件将从此端口扩展出去。29、PS2鼠标键盘接口。配合红外遥控器甚至可以遥控我们的电脑!(配例程)30、AVR/51复位按键。可以复位51 STC AVR单片机,全部支持31、TEA5767的IIC总线控制。学习IIC控制32、SD卡的SPI总线控制。扩展大容量存储器33、红外遥控接收器,可采集红外遥控发出的信号,可使用遥控信号控制其他设备。34、外接5V供电电源座。35、RXD、TXD、POWER电源指示灯36、40PIN紧锁座(非常方便单片机芯片的取放)37、带LM1117-3.3稳压芯片(为彩屏液晶,SD卡和无线模块供电)38、USB供电(USB可以提供500MA的电流,完全能满足开发板的需求了)39、预留电源+5V,GND接口各四个(方便用户扩展其他外围电路时取电和共地)
问题十:如何在51单片机开发板上烧写程序 淘宝搜索ISP烧录线。
烧录线一头连接单片机上的某几只脚,一头连接电脑。
用软件把你的程序转换成hex格式的,然后用烧录软件通过下载线烧录到单片机里面。
买isp线的时候记得要看看支不支持你的单片机型号。
单片机学习之路:从入门到精通
用来进行嵌入式系统开发。
开发板是用来进行嵌入式系统开发的电路板,包括中央处理器、存储器、输入设备、输出设备、数据通路/总线和外部资源接口等一系列硬件组件。
开发板为了嵌入的学习者设计好了常用的电路,嵌入学习者不用再自己制作电路板,可以直接使用开发板即可进行测试学习。
扩展资料:
开发板的分类:
1、51系列单片机。51?单片机目前已有多种型号, 8031/8051/8751是Intel公司早期的产品,而 ATMEL 公司的AT89C51、AT89S52则更实用。
2、PIC系列单片机。在全球都可以看到PIC单片机从电脑的外设、家电控制、电讯通信、智能仪器、汽车电子到金融电子各个领域的广泛应用。
3、AVR系列单片机。AVR单片机是1997年由ATMEL公司研发出的增强型内置Flash的RISC精简指令集高速8位单片机。
4、ARM开发板。ARM开发板是以ARM内核芯片的嵌入式开发版,主要特点是速度快,库文件统一,并且有利于进行开发。
百度百科-开发板
请问怎么学习linux操作系统
单片机作为嵌入式系统的核心,是电子工程和计算机科学的重要基石。让我们一起踏上这条精彩的单片机学习之旅!
学习准备掌握模拟电路和数字电路的基本概念是必不可少的。此外,对于编程语言,C语言和汇编语言也是单片机开发中的关键技能。
理论学习深入了解单片机的原理,掌握其结构和工作原理。在这里,汇编语言将成为您的得力助手。同时,C语言程序设计也是实际项目中应用更为广泛的编程语言。
实践学习投资一套单片机开发板、电烙铁、万用表和其他常用电子器件,为实践操作做好准备。通过不断实践,您将逐渐掌握单片机的奥秘。
迈向精通掌握了基本技能后,您可以尝试更复杂的项目,探索更多资源丰富的单片机平台。在此过程中,丰富的实验教程和开发板附赠的学习资料将成为您的最佳助手。
持续进步学习C语言,推荐谭浩强的《C语言程序设计》。对于单片机汇编的学习,高校教材如丁元杰的《单片微机原理及应用》是一个不错的选择。请记住,看不懂的章节可以先标记,以后回头再学会有更深刻的理解。
电子工程基础模拟电路和数字电路的知识对于深入了解单片机的运作原理至关重要。虽然内容可能有些复杂,但请相信,每一步的学习都将为您的未来发展奠定坚实基础。
(原创)OrangePI-PC开发板Armbian系统安装到USB设备的方法
我将从技术和就业经验等角度为即将进入嵌入式开发的程序员们,详细讲述了嵌入的概念,嵌入式开发之间的异同以及应该如何做出选择,希望对大家有所帮助。
一、嵌入式系统的概念
着重理解“嵌入”的概念
主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类IntelXscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febrechannel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。
以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科
二、嵌入式系统的分层与专业的分类。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。
硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Jave方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
三、目标与定位
先有目标,再去定位。
学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。
因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。
如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。
对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。
四、开发系统选择。
很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。
在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。
ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将Cache关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。
而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。
我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM都做用得烂了,但对于初学者来,就却是件好事。
因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。
五、如何看待培训。
首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。
因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。
对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。
另一层面上讲,对于新人的培训相当于他们为自己提前买了份失业保险,有师傅会带领他们入道,我今年暑假时班里最年轻的一个学生是大二的,今年才上大三,这学期才刚学单片机,但现在ARM方面的编程工作已经搞得有声有色了,再过一年多毕业,他还会失业吗?
再者通过培训,你可以知道很多业界不为常人所知的事,同时也为自己找了个师傅,就比如说,两个工程师分别用S3C2410和PXA255来做手持设备,同样两人都工作四年,再出去找工作,两人工资可能最多可相差一倍,为什么?这就是业界不为常人所知的规则,2410属于民品,被业界用烂了,做产品时成本特敏感,当然也对人才成本敏感了,PXA255是intel的东西,一个255CPU能买三个2410,一直被业界定义为贵族产品,用的公司都是大公司或为军方服务的公司,不会在乎成本,只要把东西做好,一切都好说,但这方面做的人也少啊,因为开发系统贵啊。
对于说为自已找了个好师傅,我想是这样的,因为同级工程师间存在着某此潜在的竞争关系,有很多人不愿意把自己知道的东西教给别人,这意味着他将要失业,就是所说的教会徒弟,饿死师傅,但对于我们这些人就不存在这样的关系了,我是在嵌入式系统平台设计上走到了一定程序,目前在国内这块的技术上已经是自己很难再突破自己,因此很多东西我对大家都是OPEN的,就比如说下面那部分关于接口设计中所提到的时序接口东西,我要是不讲,却使是高级硬件工程师我想也几乎只有10%的人能知道吧。
六、成为高级嵌入式系统硬件工程师要具备的技能。
对于硬件来讲有几个方向,就单纯信号来分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大。因此年轻人搞的较少,随着技术的发展,出现了模拟电路数字化,比如手机的Modem射频模块,都采用成熟的套片,而当年国际上只有两家公司有此技术,自我感觉模拟功能不太强的人,不太适合搞这个,如果真能搞定到手机的射频模块,只要达到一般程度可能月薪都在15K以上。
另一类就是数字部分了,在大方向上又可分为51/ARM的单片机类,DSP类,FPGA类,国内FPGA的工程师大多是在IC设计公司从事IP核的前端验证,这部分不搞到门级,前途不太明朗,即使做个IC前端验证工程师,也要搞上几年才能胜任。DSP硬件接口比较定型,如果不向驱动或是算法上靠拢,前途也不会太大。而ARM单片机类的内容就较多,业界产品占用量大,应用人群广,因此就业空间极大,而硬件设计最体现水平和水准的就是接口设计这块,这是各个高级硬件工程师相互PK,判定水平高低的依据。而接口设计这块最关键的是看时序,而不是简单的连接,比如PXA255处理器I2C要求速度在100Kbps,如果把一个I2C外围器件,最高还达不到100kbps的与它相接,必然要导致设计的失败。这样的情况有很多,比如51单片机可以在总线接LCD,但为什么这种LCD就不能挂在ARM的总线上,还有ARM7总线上可以外接个Winband的SD卡控制器,但为什么这种控制器接不到ARM9或是Xscale处理器上,这些都是问题。因此接口并不是一种简单的连接,要看时序,要看参数。一个优秀的硬件工程师应该能够在没有参考方案的前提下设计出一个在成本和性能上更加优秀的产品,靠现有的方案,也要进行适当的可行性裁剪,但不是胡乱的来,我遇到一个工程师把方案中的5V变1.8V的DC芯片,直接更换成LDO,有时就会把CPU烧上几个。前几天还有人希望我帮忙把他们以前基于PXA255平台的手持GPS设备做下程序优化,我问了一下情况,地图是存在SD卡中的,而SD卡与PXA255的MMC控制器间采用的SPI接口,因此导致地图读取速度十分的慢,这种情况是设计中严重的缺陷,而不是程序的问题,因此我提了几条建议,让他们更新试下再说。因此想成为一个优秀的工程师,需要对系统整体性的把握和对已有电路的理解,换句话说,给你一套电路图你终究能看明白多少,看不明白80%以上的话,说明你离优秀的工程师还差得远哪。其次是电路的调试能力和审图能力,但最最基本的能力还是原理图设计PCB绘制,逻辑设计这块。这是指的硬件设计工程师,从上面的硬件设计工程师中还可以分出ECAD工程师,就是专业的画PCB板的工程师,和EMC设计工程师,帮人家解决EMC的问题。硬件工程师再往上就是板级测试工程师,就是C语功底很好的硬件工程师,在电路板调试过程中能通过自已编写的测试程序对硬件功能进行验证。然后再交给基于操作系统级的驱动开发人员。
总之,硬件的内容很多很杂,硬件那方面练成了都会成为一个高手,我时常会给人家做下方案评估,很多高级硬件工程师设计的东西,经常被我一句话否定,因此工程师做到我这种地步,也会得罪些人,但硬件的确会有很多不为人知的东西,让很多高级硬件工程师也摸不到头脑。
那么高级硬件件工程师技术技能都要具备那些东西哪,首先要掌握EDA设计的辅助工具类如、VDHL语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
硬件是要靠经验,也要靠积累的,十年磨一剑,百年磨一针。
嵌入式应用系统开发过程包括那些,操作系统的移植是必要的吗
首先感谢@Jio童鞋帮忙,由于本人手上没有告诉sd卡,恰好有一不用的60G固态硬盘,用USB转接线当移动硬盘用,速度不错,就有把系统装到USB设备的想法,本人自己纯属业余玩,所以各种不懂,顺便说下,论坛的教程不适用,不要费劲了,现在的系统镜像是armbian官网下的。
准备工作,在USB设备写一同样的镜像,插入USB接口。启动armbian系统,修改/boot/boot.cmd文件,内容是将mmcblk0p1修改为USB设备,如/dev/sda1,然后所以mmc开头修改为USB,然后在顶端加入一行usb start。保存修改,使用apt-get install u-boot-tools
sudo mkimage -C none -A arm -T script -d boot.cmd boot.scr
更新boot.scr文件。然后sudo reboot,U盘灯狂闪,搞定。
嵌入式学习建议
嵌入式应用系统开发可包括以下过程:
1.原理设计及论证
对嵌入式系统的硬件原理进行设计,主要涉及到使用什么方案、器件的选型 、器件之间的连接关系、系统电磁、发热等方面的考虑,以及对功能性能本身的实现原理的实现,同时还要考虑后期的软件设计以及产品维护等情况。
对于软件的考虑还需要结合设计目标考虑是否使用操作系统,如果项目软件规模较小可以不使用系统,系统复杂、或有现成的类似方案,或有熟练的使用系统的开发人员,则可以考虑嵌入操作系统。
若有可能,对设计结果(原理图)进行论证,改进其中不合理或者有问题的部分,纠正缺点。
2.布板
将原理图转换为PCB图,主要涉及到器件布局、布线等工作。最终结果是可以生产的板图。工作完成后,需要将板图或按厂家要求导出相应格式的文件提交给厂家生产。
3.设计软件
当原理完成后,就可以按照原理图进行软件的设计了。一般情况下如果PCB板未完成生产和焊接,只能使用仿真环境进行软件编写和调试。有PCB板焊接好的样板后,就可以在实际环境下调试软件了。
另外一种方法是使用现成的开发板,降低了原理和布板环节的风险和时间成本 。
4.测试
软件和硬件在调试过程中可能会需要反复修改,即便正式版定型后,也需要进行批量测试,测试的项目可能包含电磁兼容性、功率、软件功能和性能等项目。
若有不能通过的项目,需要进行项目修改后再次进行,直到通过为止。
学习嵌入式一定要有平台,现在学习一般用linux,要是你没学过,建议赶紧看。还有WinCE平台目前也比较吃香!
三本教材嵌入式Linux应用程序开发标准教程,华清远见编的,光盘资料也不错!ARM嵌入式系统基础教程,周立功编著的;学嵌入式硬件原理也要知道,嵌入式系统原理及接口技术,符意德编著的,基于S3C2410的,硬件讲的比较好!
软硬兼备要学嵌入式一定要软硬兼备才行!动手能力很重要,要是能力够的话,买个开发板,自己烧写程序进行调试,可以事半功倍。
向研究生请教
你们学校要是有研究生,可以向他们请教,研究生都有实验室,有开发板和实验箱,硬件资源丰富。学生一般都很乐于助人的,只要你有诚心,相信他们会帮你的。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。