Linux上位机开发实践(以MCU小系统入门嵌入式电路)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        一直都主张嵌入式软件工程师,也要会做一点电路设计的工作。哪怕自己做的是嵌入式linux上层开发,一个会硬件设计,一个不会,两者的未来发展路径也是不同的。如果一个人自己会电路设计,这意味着自己是可以提供整体方案的,而不仅仅是把自己的工作依附在某个硬件平台上面。因为企业里面工作,每个人做一部分,这无可厚非。但是如果将来想自己独当一面的话,最好软硬件都要会。

1、mcu最小系统不复杂

        mcu要想跑起来,就要搭建一个最小系统。这个最小系统有这么几个部分,电源、输入、输出、晶振、复位。有了电源,芯片才能启动。有了复位,芯片才能从混沌走向稳定,而晶振则是芯片的心脏。至于输入、输出,这部分就和具体的业务有关。实在不行,点个灯也行。

        当然涉及到具体的mcu,一般还要处理下boot config和swd。前者负责启动模式,后者负责hex文件的下载。等到处理好了这两部分,这个最小系统就完成了。当然,如果要多做一点业务的话,还需要根据需求把其他外设补充完整,比如ad、da、spi、iic、pwm、lcd、usb、eth等等。

2、mcu价格不贵

        mcu是充分竞争的市场,不管是国外的mcu,还是国产的mcu,那些通用、入门类的mcu价格都不贵。一般都在10元以下,大部分甚至低于5元,普遍在2、3元附近。所以,自己做一个mcu开发板,或者是业务板,成本上也是可控的,价格也不是很贵。

3、打板费用低、焊接容易

        mcu封装简单,外部引脚也不算多。大部分mcu电路图,打板的时候都是选择2层板。就算是为了信号稳定性,最多使用4层板。就打板来说,4层板以下的价格都是比较容易承受的。这也就是说,就算设计失误、打板失败,重新再来几次,也没有关系,毕竟这些费用都是自己可以承受的。

        拿到板子,可以自己焊接,也可以贴片处理。这一步骤不算复杂。

4、调试流程简单

        打板之前,我们一般先在买的开发板上面做实验。等软件开发完毕了,再去自己画板子、自己来做硬件。因此,调试之前,最好可以有一份还算稳定的固件,这个时候再来调试,就事半功倍了。调试和焊接,是相伴相生的,更多时候是焊接一部分,调试一部分。

        一开始调试的是电源,保证电源转换ok。其次是晶振。等这两部分都ok之后,就可以焊接一下复位。至此,可以用swd接口烧录一下软件,如果烧录是ok的,那么代表芯片至少是跑起来了。不行的话,就要回过头去查看电源、焊接、晶振和复位电路了。

        芯片能烧录,意味着一大半工作都解决了,下面就是依次焊接led、输入开关和基本外设。如刚才所说,可以一边焊接,一边调试。调试的时候,手上可以同时焊接2块以上的板子,这样可以对比着测试,避免一些低级的硬件问题。最小电路调试好了,就可以依次调试其他外设了。

        测试中遇到的问题,都可以通过excel记录一下,这样为下一次硬件优化做准备。哪怕是简单的板子,一般也是2次之后才会趋向于稳定的。调试的时候,通常是软硬件一起想办法,只要能解决问题就行,不必拘泥于形式。

5、容易扩展到复杂soc电路设计

        很多同学即使是做嵌入式linux开发,这个时候学习mcu硬件设计也是有意义的。就算将来不想在电路设计着墨过多,也可以通过学习mcu设计轻松过渡到soc设计。实现的方式,就是购买som开发板,自己来做底板,专注于外设开发、算法开发、业务开发即可。

        有了som开发板,就相当于是mcu准备好了,接下来自己只需要在底板适配好电源、复位、输入、输出、boot config和usb otg下载即可。这比单纯的som设计,要容易得多。底板设计,和mcu设计也是几乎一模一样的。所以说,掌握了mcu电路设计,就可以很容易扩展到soc电路设计。

6、有利于将来的商务拓展

        企业里面的工作安排,每一个人的工作基本都是固定分配好的,大家像流水线一样,各司其职一起合作。但是,这种合作也会让个人依附于平台,缺少独立面对客户的能力。很多需求,客户需要的是一个方案,这个方案可能涉及到需求理解、协议交付、软件、硬件、商务好几个方面。如果自己在熟悉业务的同时,把硬件这部分也及时补上,就算不是特别精通,那也不至于特别拉跨。这样,在和别人沟通的时候,可以聊技术,也可以聊商务,效率要比纯商务,高很多。

7、一人企业不是不可能

        目前外部的大环境,对于大龄程序员,或者对于crud的开发同学都是不友好的。这种情况下,就要想办法抛弃打工的思维,多想想自己可以做什么,能够提供什么样的服务。如果自己是做嵌入式开发的,那么可不可以提供软、硬件整套服务呢?可不可以提供开发板、提供上位机?就算是将来有业务,是不是开一个一人公司?这样的公司不一定大,老板自己就是那个核心,所有的人都是作为助手协助老板落实业务。

        就算公司的业务规模不大,至少从逻辑上,这种形式是自洽的、合理的。所以,很多时候,大家对自己的限制都是来自于社会的约定,但是并没有释放个人真正的竞争力。况且现在由于chatgpt等ai工具的出现,这种公司小型化的操作会越来越多,越来越普遍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77473.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器的存储机制 - Storage

浏览器的存储机制 - Storage 前言一、核心概念与区别二、常用 API1、存储数据(setItem(key, value))2、 获取数据(getItem(key))3、删除单个数据(removeItem(key))4、清空所有数据(clear()&…

考研单词笔记 2025.04.18

chance n机会,风险,冒险,可能性,巧合,意外a偶然的,意外的 opportunity n机会,时机 crisis n危机,危急关头 the economic crisis 经济危机 danger n危险,可能性&#…

第三方API——Spring Boot 集成阿里云短信发送功能

目录 一. 创建阿里云OSS服务并获取密钥,开通短信服务 1.1 注册阿里云服务器 1.2 开通短信服务 1.3 创建对象存储OSS服务 1.4 RAM用户授权短信权限 1.5 新增用户并授权用户短信权限 1.6 获取 AccessKey ID 和 AccessKey Secret 二. 创建项目集成短信发送 2.1…

b站PC网页版视频播放页油猴小插件制作

文章目录 前言需求分析实施观察页面起始渲染编码效果展示 总结 前言 新手上路,欢迎指导 需求分析 想要一个简约干净的界面,需要去除推荐栏和广告部分. 想要自由调节视频播放速率,需要在视频控制栏加一个输入框控制视频倍速 实施 观察页面起始渲染 因为要使用MutationObse…

畅游Diffusion数字人(27):解读字节跳动提出主题定制视频生成技术Phantom

畅游Diffusion数字人(0):专栏文章导航 前言:主题定制视频生成,特别是zero-shot主题定制视频生成,一直是当前领域的一个难点,之前的方法效果很差。字节跳动提出了一个技术主题定制视频生成技术Phantom,效果相比于之前的技术进步非常显著。这篇博客详细解读一下这一工作。 …

ESP8266简单介绍

ESP8266模块图如下 ESP8266的工作模式有三种 ESP8266支持STA、AP、STAAP三种工作模式 ①STA模式 (ESP充当设备与路由器相连) ②AP模式 (ESP充当路由器) ③APSTA(上述两种模式兼具) AT指令介绍 使用安…

DeepSeek-R3、GPT-4o 与 Claude-3.5-Sonnet 全面对比:性能、应用场景与技术解析

随着大模型技术的迅猛发展,国产模型正逐渐崭露头角,尤其是DeepSeek-R3的发布,更是在AI技术社区中引起广泛关注。而与此同时,国际领先的GPT-4o和Claude-3.5-Sonnet也在不断迭代升级,持续刷新业界对AI能力的认知。下文将…

城市街拍暗色电影胶片风格Lr调色教程,手机滤镜PS+Lightroom预设下载!

调色介绍 城市街拍暗色电影胶片风格 Lr 调色,是借助 Adobe Lightroom 软件,为城市街拍的人像或场景照片赋予独特视觉风格的后期处理方式。旨在模拟电影胶片质感,营造出充满故事感与艺术感的暗色氛围,让照片仿佛截取于某部充满张力…

数字后端设计 (一):数字电路设计的「前后端」到底是什么?

—— 想象你在做一道菜——前端设计是写菜谱,后端设计是进厨房真正炒菜。这篇文章帮你搞懂「芯片设计」里这两个阶段到底在干嘛。 1. 前端设计——写一份「理想化」的菜谱 任务:用代码描述芯片的功能。例子:你要做一个自动计算“112”的芯片…

网站301搬家后谷歌一直不收录新页面怎么办?

当网站因更换域名或架构调整启用301重定向后,许多站长发现谷歌迟迟不收录新页面,甚至流量大幅下滑。 例如,301跳转设置错误可能导致权重传递失效,而新站内容与原站高度重复则可能被谷歌判定为“低价值页面”。 即使技术层面无误&a…

WiFi“管家”------hostapd的工作流程

目录 1. 启动与初始化 1.1 解析命令行参数 1.2 读取配置文件 1.3 创建接口和 BSS 数据结构 1.4 初始化驱动程序 2. 认证和关联处理 2.1 监听认证请求 2.2 处理认证请求 2.3 处理关联请求 3. 数据转发 3.1 接收客户端数据 3.2 转发数据 4. 断开连接处理 4.1 处理客…

YOLOv2 快速入门与核心概念:更快、更准的目标检测利器

今天,我们就来聊聊 YOLO 系列的第二代—— YOLOv2,看看它是如何在速度的基础上,进一步提升检测精度的。 目标检测的重要性:让机器“看懂”世界 想象一下,自动驾驶汽车需要实时识别道路上的车辆、行人、交通标志&…

[苍穹外卖 | 项目日记] 第三天

前言 实现了新增菜品接口实现了菜品分页查询接口实现了删除菜品接口实现了根据id查询菜品接口实现了修改菜品接口 今日收获: 今日的这几个接口其实和之前写的对员工的操作是一样的,都是一整套Curd操作,所以今天在技术层面上并没有…

Go语言入门到入土——三、处理并返回异常

Go语言入门到入土——三、处理并返回异常 文章目录 Go语言入门到入土——三、处理并返回异常1. 在greetings.go中添加异常处理代码2. 在hello.go中添加日志记录代码3. 运行 1. 在greetings.go中添加异常处理代码 处理空输入的异常,代码如下: package g…

创维E900V20C-国科GK6323V100C-rtl8822cs-安卓9.0-短接强刷卡刷固件包

创维E900V20C/创维E900V20D-国科GK6323V100C-安卓9.0-强刷卡刷固件包 创维E900V20C 刷机说明: 1、用个老款4G,2.0的U盘,fat32,2048块单分区格式化, 5个文件复制到根目录,插盒子靠网口U口&…

视频分析设备平台EasyCVR安防视频管理系统,打造电石生产智能视频监控新体系

一、背景介绍 电石生产中的出炉工序是整个生产流程中最为繁重且危险的环节。在开堵炉眼的过程中,电石极易发生飞溅现象,尤其在进行吹氧操作时,人员灼伤的风险极高。鉴于此,该工序正逐步由传统的人工操作模式向智能化方向转变。然…

Verilog的整数除法

1、可变系数除法实现----利用除法的本质 timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2025/04/15 13:45:39 // Design Name: // Module Name: divide_1 // Project Name: // Target Devices: // Tool Versions: // Description: // // Depe…

UniApp + Cursor + Devbox 全栏平台开发教程:从0到完整项目打造

本文基于B站热门教程《一口气学会小程序 / App / H5开发:UniApp教程 + Cursor + Devbox》,https://www.bilibili.com/video/BV1W7QZYMEus/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=a1428945043b2df41c1896acb90d942a,进行全面扩展…

ESP32-idf学习(一)搭建环境和点灯

一、前言 先说一下查到的数据(不保证准确): 1、连续四年Wi-Fi MCU全球市场份额第一,产品应用于智能家居、工业自动化、医疗健康等泛IoT领域‌,2024 年营收突破 20 亿元(同比 40%),…

hooker frida版just_trust_me.js 2025升级 支持boringssl unpinning

曾几何时,我翻版了 Xposed 的 just_trust_me.apk, just_trust_me.js 脚本仿佛是一张通行证,让我们在 SSL Pinning 的高墙前轻松穿越。 但时代变了。BoringSSL、Cronet、静态 inline hook、动态 verify callback……一切都变得更加隐蔽和棘手…