c++ - 嵌入式领域有专长吗

标签 c++ c embedded

我已经开始学习嵌入式及其 2 种主要语言(c 和 c++)。但我开始意识到,尽管学习要求很简单,但嵌入式本身就是一个完整的世界。一旦你处理了真实的项目,你就会开始意识到你需要学习更多特定于你正在使用的设备中使用的硬件的“东西”。这是我目前从事的纯软件项目很少遇到的问题。

是否可以将该字段分割成子字段?我想那些在该领域有经验的人可能已经注意到某些类型的项目与其他类型不同,这导致他们可能会提出自己的类别。例如,当你遇到一个项目时,你可能会认为它“在你的领域之外”?你会遇到这种情况吗?如果是这样,您会如何称呼您的子领域或您遇到过哪些其他子领域?

最佳答案

以下是我能想到的几个子专业:

汇编语言专家

  • 是的。您需要了解 C 和 C++。但有些人也专门从事装配工作。这些专家被召集起来将 RTOS 移植到新芯片上,或者从高度受限的嵌入式系统中榨取每一滴性能(通常是为了每单位节省 $$)。
    这些天可能不太需要这个人……但是……但有时仍然很挑剔。

设备驱动专家

  • 在真正的操作系统或 RTOS 与硬件之间舒适地生活。此人通常熟悉 o-scope 或逻辑分析仪等实验室工具,以“十六进制”方式思考,并了解 HW 计时的关键性质。此人晚上阅读设备数据表以取乐,并对为某些新设备创建完美的移植驱动程序感到兴奋。

DSP专家

  • 数字信号处理似乎是它自己的嵌入式子专业,尽管软件工程师可能不知道确切的算法细节,并且可能只实现系统或电气工程师需要的东西。但是,了解采样率理论、FFT 和“DSP”中的一些基本元素是很方便的,而且可能是必需的。而且您通常仍然必须非常了解时间和目标硬件的限制(采样率、噪声、每个样本的位数等)。

控制理论专家

  • 可能与 DSP 存在相同的问题:系统或电气工程师可能会提供详细的规范。但是,话又说回来,熟悉微 Controller 处理的各种电机、传感器和其他 Controller 会很棒。添加波德图、一两个拉普拉斯变换和一些更高等的数学技能……这不会造成太大伤害!

网络专家

  • 基本上与 PC 世界的“网络”相同。如今,许多嵌入式设备都在添加网络连接功能。 TCP/IP 套接字、http 等很适合了解和理解如何在资源受限的设备中使用。加入 USB 和蓝牙以备不时之需。

用户界面专家

  • 越来越多的嵌入式设备包括 2D 图形,现在由于 iPhone 等的影响,更多的包括 3D 图形。尽管这些仍然是其他嵌入式设备标准的“胖”系统,但它们仍然是有限的。只要稍微阅读一下 Android 开发指南,您就会意识到,即使是在高端手机中,您仍然必须考虑响应速度、性能等。 http://developer.android.com/guide/practices/design/performance.html

然后,当然,每个行业都是其自身的特化。消费电子、军事、航空电子、机器人、工业机器、医疗设备等...

玩得开心,祝你好运!

关于c++ - 嵌入式领域有专长吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3275793/

相关文章:

python - 在 Python 仿真中使用嵌入式 C 库

linux - 在 Qemu 中重定向多个 UART

c++ - 将 wrap 与 gcc 的 '-u' 标志一起使用

c++ - 如何添加退出窗口事件?

c - 如何阻止control-d退出c中的shell

c - <signal.h> header 错误,会不会有什么问题?

operating-system - 完全可以在没有虚拟内存的情况下运行,只需要物理内存(事实上,大多数嵌入式系统都以这种方式运行)。如何?

c++ - 对 B::B & B::~B 的 undefined reference

c++ - UDF 在 SQL Server 中调用外部 C++ 代码

c++ - Qt 在可选列表中显示来自资源的图标