嵌入式底层和应用层区别

嵌入式层和应用层之间存在根本区别。

基本管风琴现场演奏记录。
比如ARM Cortex-M4 ,如果你想改GPIO,就得看手册。

应用层管理业务并编写代码实现功能。
导航系统使用C++并依赖于地图数据。

底层需要硬核,懂中断、DMA、内存管理。
与 USB 驱动程序一样,它需要计算时序并防止崩溃。

应用层依赖于算法、图像处理和人工智能模型。
要使用 TensorFlow 进行自动驾驶,您需要了解深度学习。

最低级的职业就像万金油,任何设备都可以使用。
比如BSP植入,把汽车改成工控。

应用层专业非常专业,扎根于特定领域。
比如,就做汽车导航,成为专家。

底层调试困难,硬件排查速度慢。
例如CAN总线连接超时,检查芯片手册。

应用层优化难度较大,算法效率必须高。
例如,语音识别需要毫秒响应。

自己掂量一下。

“嵌入式底层开发”与 “上层应用开发” 哪个更累

嵌入式哪个方向比较适合没基础的人学?

你的总结很全面,给没有基础知识的人提供了大致的指导。
但不得不说一下我掉过的坑和一些真实的感受。

上周,一位客户问我在哪里可以获得嵌入式系统。
我和他聊了很久,最后发现他其实很喜欢摆弄硬件,但又怕困难。
因此,我们不只是总结这些理论框架,而是更具体地解释它们。

2 02 3 年我在上海教学生,没有基础知识,很快就学会了Linux驱动。
结果,即使学习了六个月,他对于调试简单的字符设备仍然感到困惑和焦虑。
之后我就让他回来开始做5 1 单片机。
他想着每天打开LED灯并打开流水灯。
孩子眼睛一亮,说这是一种叫植入物的东西,他可以触摸东西。
这是一个经典的例子。
并非每个人都可以直接访问 Linux。

我们将真诚地从硬件(微控制器)方面提出建议。
您不必总是考虑高端 MCU。
2 02 2 年,我在深圳电子市场看到很多新手玩家还在用5 1 单片机搭建板子。
这很简单,只需几行即可完成。
了解 GPIO、定时器和串行通信,一步一步进行。
我正在尝试使用 STM3 2 开发板创建一个智能汽车项目。
我觉得修改和运行代码比玩游戏更有趣。
但这是假设你不害怕这样做。
焊接错误的引脚可能会损坏电路板。
这样的教训还有很多。
我认识一个朋友,去年刚开始从事这个行业。
他损坏了开发板上的一个重要外围设备,他的老板要求他赔偿。
你很痛苦吗?
软件方向(Linux),虽然这条路看起来很吸引人,但实际上需要有基本的编程背景。
我的另一个朋友2 02 1 年在北京一家大工厂做嵌入式Linux,每天编译内核、移植驱动。
虽然这项工作确实需要高水平的技能,但也可能会带来压力。
今年,他在一次技术分享会上表示,他的团队正在为几个项目进行驱动开发,加班是常事。
那你问合适吗?除非您真的喜欢这种系统级调试,否则不要闯入它。
首先学习 C 并直接修改 Linux 内核是很困难的,特别是如果你完全没有基础的话。
这纯粹是自虐。

选择方向的标准都是正确的。
我们有学生报名了2 02 3 年夏天的嵌入式课程。
他最初选择了微控制器,但在意识到焊接IC时手都在颤抖后,最终转而选择了软件。
所以说,实践能力的差距确实很大。
职业目标也很重要。
去年,我在杭州一家汽车公司招聘。
当然,对 Linux 的需求很大,但他们想要的是有经验的人,而不是初学者。
在消费电子领域,5 1 单片机还有一线生路,但在Linux方向有更多机会。

关于避坑指南,我同意这一点。
今年我在成都教的一个学生,刚刚听别人说AIoT很流行,就往这个方向走,却发现自己连Linux都搞不懂。
你认为这是一种浪费吗?还有碎片化的学习。
2 02 2 年的时候,我在西安社区看到很多人在收集教程,但是我一个都看不懂,最后连完整的系统都搭建不出来。
我的建议是选择一个方向并坚持下去。
例如,如果您选择 5 1 微控制器,则需要对从基本焊接到螺丝刀的所有内容有深入的了解。
别看这座山有多高。

说到学习资源,你推荐的东西都很靠谱。
自学的时候看了《STM3 2 库开发实用指南》。
这是一本很厚的书,但是非常有用。
魏东山的视频课程固然经典,但你要有耐心。
今年我在南京给新人讲课,有学生直接说视频太慢,所以就跳过看了,但最后什么也没学到。

综上所述,没有任何基础没必要贸然进入Linux。
从微控制器开始,创建开发板,创建温湿度传感器、智能汽车等小工具,并了解基本电路、C 语言和外设驱动程序。
可能需要六个月到一年的时间,但是回顾 Linux 驱动程序会容易得多。
如果你有良好的编程基础并且热爱学习,Linux当然值得投资。
但不要只听风吹雨打。
你需要考虑自己的实际情况。
只要听听人们说什么,然后就跳进去,而不去考虑哪个方向更好。

总之,就看你自己的想法了,我还在考虑这个问题……