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语言,要能用到这些工具画图画板做逻辑设计,再有就是接口设计审图能力,再者就是调试能力,如果能走到总体方案设计这块,那就基本上快成为资深工程师了。
关键字:ARM 嵌入式系统 硬件高手
引用地址:
成为ARM嵌入式系统硬件高手的要素
推荐阅读最新更新时间:2024-11-09 06:19
GCC 内联汇编(GCC内嵌ARM汇编规则)
有时为了高效,有时为了直接控制硬件,有些模块我们不得不直接用汇编语言来编写,并且对外提供调用的接口,隐藏细节,这其实就是内联汇编。如何使用内联汇编?我们就以 GCC 为例,一窥其中奥秘! 一、关键字 如何让 GCC 知道代码中内嵌的汇编呢? 借助关键字!来看下面的例子: __asm__ __volatile__( hlt ); __asm__ 表示后面的代码为内嵌汇编,asm 是 __asm__ 的别名。__volatile__ 表示编译器不要优化代码,后面的指令保留原样,volatile 是它的别名。括号里面是汇编指令。 二、示例分析 使用内嵌汇编,要先编写汇编指令模板,然后将 C 语言表达式与指令的操作数相关联,并告诉 GCC
[单片机]
13.ARM协处理器的知识
在处理器中有协处理器来辅助处理器完成部分功能的,主要是协助作用。 协处理器: 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担。ARM可支持多达16个协处理器,其中CP15是最重要的一个。 在ARM9、ARM11、cortexa8等核中,CP15的功能都是一样的。 在ARM11核的文档看到图1-1: The section gives an overall view of the system control coprocessor. For detail of the registers in the system control coprocessor, see System contr
[单片机]
Arm Tech Symposia 年度技术大会即将启幕,报名通道现已开启
享誉业界的Arm® Tech Symposia 年度技术大会将于 2024年 11 月 19 日在上海浦东丽思卡尔顿酒店拉开帷幕,并于 11 月 21 日移师深圳湾万丽酒店。 作为 Arm 一年一度最重要的技术盛会,本届Arm Tech Symposia以“让我们携手重塑未来”为主题,将汇聚多位全球顶尖的技术领袖、生态伙伴和开发者,共同展示和探讨AI时代下基于 Arm 技术的最新创新成果和未来发展趋势。 在人工智能的浪潮中,生成式AI、边缘AI、大语言模型、Chiplets、AI 基础设施、智能驾驶等前沿科技正不断突破,引领着应用场景创新。本次年度技术大会将聚焦这些激动人心的领域, 呈现六大精彩看点,敬请期待 : 1.4
[网络通信]
【嵌入式】用Qt给ARM9(mini2440)添加软件键盘,添加动态链接库
以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载 其他的动态添加链接库的方法是一样的 账号:sharefromfox@163.com 密码:3.1415926 以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载 其他的动态添加链接库的方法是一样的 账号:sharefromfox@163.com 密码:3.1415926 第一步: 先修改五个文件的使用权限,最好都是777 (sudo)Chomd 777 +(文件名) 将libQSoftKeypad.so.1.0.0库文件拷贝到/usr/local/lib
[单片机]
IAR Embedded Workbench for Arm现已全面支持
凌通科技GPM32F系列MCU 中国上海 — 2023年6月 — 嵌入式开发软件和服务之全球领导者 IAR,与业界领先的MCU供应商凌通科技(Generalplus)联合宣布,最新发表的完整开发工具链IAR Embedded Workbench for Arm 9.4版本已全面支持凌通科技GPM32F系列MCU。 凌通科技致力于语音IC、LCD IC、数字图像处理IC、AI/智能教育相关芯片、8至32位各式MCU芯片的研发,其 GPM32F系列MCU产品具备高性能及可靠性,广泛应用于家电产品/马达产品/无线充电/量测IC。 IAR Embedded Workbench for Arm 9.4 版本为凌通科技MCU
[嵌入式]
ubuntu 9.1 下搭建Qt Creator的ARM开发环境(2)
5、安装Qt-creator-1.3.1 把下载的qt-creator-linux-x86-opensource-1.3.1.bin文件拷到一个目录(如前面的/root/tmp目录), chmod 777 qt-creator-linux-x86-opensource-1.3.1.bin ./qt-creator-linux-x86-opensource-1.3.1.bin 直至安装完成. 6、Qt-creator开发环境的配置 启动Qt-creator, 为qtc配置各种编环境, 即上一篇生成的x86 PC版,x86 嵌入版,arm 嵌入版, 并用后两个编译例子books, 其中,x86 嵌入版的可以在PC端的qvfb
[单片机]
基于ARM处理器S3C2440和Linux系统的I2C触摸屏
0 引言 随着计算机相关技术的发展,ARM嵌入式系统受到越来越广泛的应用,与人们生活的结合也越来越紧密。触摸屏设备因其友善的人机交互性,操作方便灵活,输入速度快,被广泛的应用于这种嵌入式领域中。嵌入式Linux系统具有开发源代码、内核稳定、可裁减性等特点,吸引着众多商业公司和自由软件开发者的目光,成为嵌入式系统领域不可或缺的操作系统之一。触摸屏是一种输入设备,操作简单易学,可靠性高,不占额外的空间,是最常用的便携式系统的输入设备。特别是电阻式触摸屏,它结构简单,成本低,透光效果好,工作环境和外界完全隔离,不怕灰尘和水气,同时具有高解析度、高速传输反应、一次校正、稳定性高、不漂移等特点,因而被广泛用于工业控制领域。 1 电阻式触摸屏
[单片机]
arm-linux-gcc编译器的命名
1. arm-none-linux-gnueabi- arm - 目录CPU none - 编译厂商名称,none代表开源编译器 linux - 编译出的代码所以支持的系统 gnueabi - 开源的(gnu)的嵌入式标准接口 2. arm-none-eabi- (不支持操作系统) arm - 目录CPU none - 编译厂商名称,none代表开源编译器 eabi - 新的嵌入式标准接口 4. arm-elf- arm - 目录CPU elf - 老的嵌入式标准接口,一般用于裸机开发
[单片机]