1. bread电子发烧友论坛/
  2. 嵌入式论坛/
    1. 电子论坛综合区
    2. 嵌入式论坛
    3. 电源技术论坛
    4. 硬件设计论坛
    5. 测试测量论坛
    6. 检测技术与质量
    7. EDA设计论坛
    8. 综合技术与应用
    9. 开源硬件
    10. IC设计论坛
    11. 消费电子论坛
    12. 无线通信论坛
    13. 个人版区
    14. 厂商专区
    15. 论坛服务区
    16. 高校联盟
    17. 供求信息发布
  3. ARM技术论坛
    1. Android论坛
    2. Linux论坛
    3. 单片机/MCU论坛
    4. FPGA|CPLD|ASIC论坛
    5. DSP论坛
    6. 嵌入式系统论坛
  4. / 想成为ARM嵌入式系统硬件高手,照着这个大纲来奔吧! ...
    关闭提示
123下一页

[资料] 想成为ARM嵌入式系统硬件高手,照着这个大纲来奔吧!

[复制链接]
发表于 2016-8-25 11:50:07   3973 查看 54 回复 只看该作者 倒序浏览
分享
ARM嵌入式和单片机学习有着密不可分的关系,在学习单片机的过程中积累必要的学习经验和知识是非常有必要的,如何在这一过程中逐渐成为高级嵌入式工程师呢?


对于硬件来讲有几个方向,就单纯信号来说,分为数字和模拟,模拟比较难搞,一般需要很长的经验积累,单单一个阻值或容值的精度不够就可能使信号偏差很大,因此年轻人搞的较少。

随着技术的发展,出现了模拟电路数字化,比如手机的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设计的辅助工具类如ProtelORCADPowperPCBMaplux2ISE、VDHL语言,要能用这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。


转自《嵌入式资讯精选》

评分

参与人数 1积分 +20 收起 理由
ElecFans处女座 + 20 您的帖子很精彩,期待您分享的下一个帖子!.
查看全部评分
标签:单片机 嵌入式
举报
高级工程师
发表于 2016-8-25 16:48:43   来自发烧友APP
HUAYIKEJI 发表于 2016-08-25 15:08
需要电子元件找我。QQ2788969008

广告party!
回复 点赞 举报
高级工程师
发表于 2016-8-26 07:03:14   来自发烧友APP
我想成为一个软硬通吃的高手
回复 点赞 举报
发表于 2016-8-27 12:52:01    楼主|
@曲终人散@ 发表于 2016-8-26 07:03
我想成为一个软硬通吃的高手

这是至少年薪30W的水平
回复 点赞 举报
助理工程师
发表于 2016-8-27 14:25:58  
学习下哈!!!!!
回复 举报
高级工程师
发表于 2016-8-27 14:31:56  
ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和众多合作伙伴。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:33:20  
嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(原文为devices used to control, monitor, or assist the operation of equipment, machinery or plants)。这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。嵌入式系统的核心是嵌入式微处理器。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:33:45  
ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:36:34  
用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:36:48  
使用集成开发环境开发基于ARM的应用软件,包括编辑、编译、汇编、链接等工作全部在PC机上即可完成,调试工作则需要配合其他的模块或产品方可完成。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:39:08  
近几年来,嵌入式系统在众多领域得到了广泛的使用,而ARM处理器作为其中最重要的一部分,也得到了巨大的发展,预计在未来的几年中以ARM为核心的嵌入式系统在人们生活中的方方面面都会起到更大的作用。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:41:04  
ARM高档单片机,可以跑操作系统,但不是一定要跑操作系统,完全可以仿照51单片机按裸机开发的。所以ARM不必然代表嵌入式,ARM可以称为“可以跑嵌入式系统的高档单片机”,具体到一个项目是否跑操作系统,由开发人员而定。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:42:00  
初学ARM 首先用C编程,不要去管汇编;找简单的ARM7入门,不要一开始就选ARM9;用KEIL这个编译环境。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:44:03  
目前,流行的ARM软件集成开发环境有ADS1.2、Keil uV3和IAR等。对于51单片机应用开发工程师来说,Keil开发环境应该应用得比较熟练,若采用Keil uV3进行ARM软件开发,应该可以快速上手。但是,我们并不推荐ARM初学者选择Keil uV3进行ARM软件开发,主要是基于以下2个原因:
(1)Keil uV3是第三方ARM软件集成开发环境,目前支持的ARM芯片种类还不多,所带的编译器也并不完善;
(2)由于Keil uV3为了方便用户的开发,提供了现成的ARM启动文件,换句话说,它屏蔽了ARM开发中的一个重要内容——启动代码的编写,而这一点对初学者来说应该是非常重要的内容。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:45:52  
ADS1.2集成开发环境是ARM公司推出的ARM核微控制器集成开发工具。它支持ARM10之前的所有ARM系列微控制器,支持软件调试及JTAG硬件仿真调试,支持汇编、C、C++源程序;具有编译效率高、系统库功能强等特点;可以在Windows 98、Windows 2000、Windows XP以及RedHat Linux上运行。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:46:56  
推荐ARM初学者使用ADS1.2集成开发环境进行ARM开发。关于ADS1.2集成开发环境的使用,初学者可以参看ADS1.2集成开发环境自带的用户手册。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:49:24  
很多ARM初学者有一个错误的概念——学ARM必搞嵌入式操作系统。认为在ARM上跑嵌入式操作系统就代表技术先进、产品档次高的观点绝对是谬论。持这种观点的人一定是没有做过具体的产品开发。一个嵌入式产品是否需要跑嵌入式操作系统,是由很多因素决定的,例如,产品的功能需求、开发成本、开发周期等都是需要综合考虑的。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:50:43  
对于ARM初学者来说,前期我们并不建议使用嵌入式操作系统。当用户把所有配套实验都熟练掌握后,即对LPC213X/214X的内部功能器件可以做到熟练应用的程度后,可以考虑学习一个具体的嵌入式操作系统。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:56:34  
学习ARM嵌入式开发,尤其对于初学者而言,不应该过早地、过多地将精力用在嵌入式系统移植、Linux内核的研究和学习上,这些诱人的“热点”很容易使初学者迷失方向,进而忽视对基础知识的深入学习,到头来说得头头是道,可真的干起来却离实际的需求差得太远。知识是永远也学不完的——学海无涯、人生苦短!我们学习的目的是为了满足应用的需求。只要方法得当,掌握ARM嵌入式开发应用技术其实并不难。
回复 点赞 举报
高级工程师
发表于 2016-8-27 14:59:33  
对于学硬件的人而言,必须先对硬件的基本使用方法有感性的认识,更必须深刻认识该硬件的控制方式,如果一开始就学linux系统、学移植那么只会马上就陷入一个很深的漩涡。
回复 点赞 举报
123下一页
高级模式
您需要登录后才可以回帖 登录 | 注册
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表
  1. time最新主题
  2. recommend推荐主题
  3. hot热门主题
  4. post 我的帖子
-

推荐专区

技术干货集中营

专家问答

用户帮助┃咨询与建议┃版主议事

工程师杂谈

工程师创意

工程师职场

论坛电子赛事

社区活动专版

发烧友活动

-

嵌入式论坛

ARM技术论坛

Android论坛

Linux论坛

单片机/MCU论坛

FPGA|CPLD|ASIC论坛

DSP论坛

嵌入式系统论坛

-

电源技术论坛

电源技术论坛

无线充电技术

-

硬件设计论坛

PCB设计论坛

电路设计论坛

电子元器件论坛

控制|传感

总线技术|接口技术

-

测试测量论坛

LabVIEW论坛

Matlab论坛

测试测量技术专区

仪器仪表技术专区

-

EDA设计论坛

multisim论坛

PADS技术论坛

Protel|AD|DXP论坛

Allegro论坛

proteus论坛|仿真论坛

EasyEDA-中国人自已的EDA工具

Orcad论坛

-

综合技术与应用

电机控制

智能电网

光电及显示

参考设计中心

汽车电子技术论坛

医疗电子论坛

-

开源硬件

-

无线通信论坛

无线通信技术专区

天线|RF射频|微波|雷达技术

-

IC设计论坛

芯片测试与失效分析

Mixed Signal/SOC[数模混合芯片设计]

Analog/RF IC设计

设计与制造封装测试

-

厂商专区

TI论坛

TI Deyisupport社区

-

检测技术与质量

电磁兼容(EMC)设计与整改

安规知识论坛

检测与认证

-

消费电子论坛

手机技术论坛

平板电脑/mid论坛

音视/视频/机顶盒论坛

-

电子论坛综合区

聚丰众筹官方社区

新人报道区

聚丰供应链

-

论坛服务区

-

供求信息发布

供需广告

招聘┃求职发布区

电子展览展会专区

鸿运国际手机版