0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8年经验老嵌入式工程师的工作总结

工程师人生 ? 来源:工程师吴畏 ? 2019-08-06 10:28 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

嵌入式这行已经8年了吧,也算是一个老工程师了,工作多年,做过MCUDSPARM、ARM+DSP、ARM+FPGA等等芯片。现在想将嵌入式的东西整理一下,不能只看眼前路,不顾身后身。

嵌入式的东西很多,想要整理起来,也是很花费力气的一件事情,稍后的一年时间,有时间我就会慢慢的整理,算是对自己做一个交代,当然如果对别人有用的话,那就更好。

目前AI异常火爆,现阶段大家都停留在功能实现上,至于端测的落地,个人感觉还有一小段距离要走。当端测AI落地的时候,我相信市场上对嵌入式工程师、硬件工程师的需求会越来越大。尤其是涉及到性能优化方面,我相信应该会有很大的市场吧。

1. 嵌入式绕不开各种接口

比如:uart 、spii2cusb、eth、mipi、edp、can、i2s、hdmi等等。需要了解各接口的使用场景、带宽、机制、时序、工作模式、缺点,时序等等。我相信硬件接口这一块儿就会让很多新手摸不到头脑吧。

2. 嵌入式绕不开交叉编译工具

嵌入式一般都需要自己搭建交叉编译工具链,当然MCU类的开发也会有成熟的IDE可供使用。但是对于编译器而言一般都是GCC。对于嵌入式开发人员来说,搭建交叉编译工具链。编译过程分为 ——预编译、编译、汇编、链接。通过GCC提供的工具可以使程序完成任一阶段的处理。要清楚各个阶段主要完成了什么工作。链接分为静态链接、动态链接,各自的优缺点及使用场景要知道。同时编译生成ELF格式的文件,要理解ELF文件的格式、必要的时候需要通过objdump或readelf工具来解析ELF文件。

3. 嵌入式开发绕不开调试

嵌入式开发的很大一部分时间都在调试,好的调试方法和工具可以更快速的定位问题。

3.1 vargrind 的使用

3.2 gdb的使用

3.3 kdump

3.4 corddump

3.5 oops

4. 嵌入式开发离不开优化

嵌入式的优化分为两部分,算法上的优化,编程上的优化。其中编程上的优化分为以下技术。

4.1 内存使用上的优化-cacheline的使用

cache涉及到cache命中率、cache一致性,write-back,wrte-through等。全局变量问题、常用变量位置问题、互锁问题。

4.2 并行优化

并行优化主要是SIMT或SIMD技术的应用,包括GPU的使用,NEON优化、SSE优化等。

其中并行分为任务并行和数据并行、任务并行是多核方面的优势。数据并行是GPU和NEON来解决。

同时需要

4.3 依赖性问题

依赖性问题主要是流水线问题,避免数据的依赖性可以高效的使用流水线。至于这部分的优化要借助反汇编,来对比不同写法造成的差异。

5. 嵌入式绕不开驱动

很多人对驱动开发有技术情节,越是年轻的工程师越是这样。驱动的开发本质上就是给外设配置参数,使其工作在期望的方式。linux下的 驱动开发需要遵从linux的驱动框架,裸机的驱动开发就是直接配置寄存器就可以。

linux有一个很好的理念,就是万物皆文件。linux将外设也会抽象成文件,读写外设和读写文件在操作上没有了区别。

linux下的设备,分为字符型设备、块设备、网络设备。

linux下注册驱动的时候,将设备号和文件名进行了映射,并实现file_operation里的一些函数,例如,write、read、ioctl。其中write、read主要用于读写外设的有用数据。ioctl主要用于配置外设的一些参数,使其工作在不同的模式或状态。

6. 嵌入式离不开操作系统

其实嵌入式指的就是嵌入式操作系统,操作系统有很多种。vxworksucosfreertos、bios、linux、uclinux、nuttx等等。对于操作系统的选择个人感觉要看实时性、以及生态。生态很重要,这样出现问题的时候,才不至于绝望,感觉不是孤军奋斗。

其实操作系统的出现,主要是为了解决任务调度、内存管理。这两方面是操作系统的精髓。感兴趣可以阅读源码。ucos的源码不多,可以从它看起。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式工程师为什么要学QT?

    Qt对嵌入式工程师来说,真的很重要吗? Qt是一个跨平台的C++应用程序开发框架,非常适合嵌入式系统的开发,Qt在嵌入式开发中具有很重要的作用。 在项目实践中可以看出,Qt在工业自动化
    发表于 08-14 15:15

    嵌入式工程师的进阶之路

    嵌入式工程师的进阶之路 (一)初级工程师(0-3 )核心技能: 单片机开发:STM32F103系列 GPIO/USART/SPI 外设驱动,能完成 LED 呼吸灯、按键检测、串口通
    发表于 08-13 11:08

    工程师分享的模电设计经验

    模拟电路的设计是工程师们最头疼,但也是最致命的设计部分。尽管目前数字电路、大规模集成电路的发展非常迅猛,但是模拟电路的设计仍是不可避免的,有时也是数字电路无法取代的,例如RF射频电路的设计。 本文总结了模拟电路设计中应该注意的问题。
    的头像 发表于 05-29 09:38 ?193次阅读

    如何成为一名嵌入式软件工程师

    软件工程师保持持续学习的态度,紧跟技术发展趋势;同时,注重实践经验的积累,积极参与实际项目的开发和调试工作。 此外,还应不断提升自己的沟通能力和团队协作能力,以适应日益复杂的工作环境。
    发表于 04-15 14:37

    电子发烧友荣获飞凌嵌入式“2024度最具价值媒体”奖

    近日,飞凌嵌入式授予电子发烧友平台 “2024度最具价值媒体”奖 ,以表彰其在过去一中深度合作,为电子工程师、开发者及技术爱好者群体带来的卓越价值。此次授牌不仅是对电子发烧友平台的
    发表于 02-28 15:20

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到
    发表于 02-20 10:19

    如何成为嵌入式开发工程师

    如何成为嵌入式开发工程师? 成为嵌入式开发工程师通常需要掌握一系列技能和知识,并且在实践中不断积累经验。以下是一些基本步骤和建议: 1. 基
    发表于 02-19 10:39

    月薪 3 万的嵌入式工程师都在用,串口屏到底神在哪?

    作为一名资深的嵌入式工程师,我深知在选择硬件组件时,性能、可靠性、易用性和成本效益都是至关重要的考量因素。月薪3万的嵌入式工程师们之所以倾向于使用串口屏,主要是基于以下几个方面的考量
    的头像 发表于 02-12 10:33 ?730次阅读
    月薪 3 万的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程师</b>都在用,串口屏到底神在哪?

    电子工程师的电源设计经验分享

    作为一名电子工程师,电源设计一直是我在工作中重点关注的领域。电源设计不仅需要扎实的理论基础,还需要丰富的实践经验。以下是我多年工作总结的一
    的头像 发表于 01-21 15:53 ?627次阅读

    年薪30万的嵌入式工程师,究竟需要掌握哪些技能?

    技术功底、跨领域能力和团队协作精神的嵌入式工程师,他们的年薪已经不再是遥不可及的梦想,尤其是当目标设定在30万薪时。那么,如何从初级工程师跨越到年薪30万的技术
    的头像 发表于 01-16 10:59 ?1421次阅读
    年薪30万的<b class='flag-5'>嵌入式</b><b class='flag-5'>工程师</b>,究竟需要掌握哪些技能?

    电子工程师经验分享

    电子工程师在实际工作中积累了丰富的经验,这些经验对于新手工程师和电子专业的学生具有重要的参考价值。 一、电路设计
    的头像 发表于 01-14 10:14 ?718次阅读

    为什么嵌入式驱动开发工程师可以拿高薪?

    。 为什么嵌入式驱动开发工程师可以拿高薪? 嵌入式驱动开发工程师属于技术密集型工作,不仅需要深入了解硬件的
    发表于 01-07 16:56

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着一系列强大的工具,将创意与技术完美融合,打造出高效、可
    发表于 12-20 15:29

    KiCon 演讲回顾(十三):嵌入工程师的硬件梦之 KiCad 经验和项目分享

    “ ?在KiCon Asia 2024,我们有幸听到了@IAMLIUBO 的分享——嵌入式工程师的硬件梦之KiCad经验分享。 ? ” 以下是完整演讲视频: 为什么选择KiCad? 跨平台支持
    的头像 发表于 12-09 01:02 ?689次阅读
    KiCon 演讲回顾(十三):<b class='flag-5'>嵌入</b><b class='flag-5'>工程师</b>的硬件梦之 KiCad <b class='flag-5'>经验</b>和项目分享

    名单公布!【书籍评测活动NO.42】 嵌入式Hypervisor:架构、原理与应用

    研究所嵌入式系统软件工程师。有多年从事嵌入式系统开发工作经验,对嵌入式系统软件(包括RTOS内
    发表于 08-23 15:17