V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
FreeWong
V2EX  ›  程序员

===嵌入式软件开发新手入门请指点===

  •  
  •   FreeWong · 106 天前 · 2572 次点击
    这是一个创建于 106 天前的主题,其中的信息可能已经有所发展或是发生改变。
    仅会上位机软件开发,C 语言也才看了二个星期。
    有什么你认为对于入门新手来说,非常值得推荐的书籍,教程有哪些,感激不尽。
    另外,野火开发板的教程,以及开发板是否对于新手入门有帮助?
    https://doc.embedfire.com
    任何建议,请分享给新手入门,感激。
    16 条回复    2024-09-09 13:22:55 +08:00
    zzz22333
        1
    zzz22333  
       105 天前
    跟着野火的学也行,跟着慢慢做实验, 先了解是什么为什么,在去了解原理。如果先去原理的话,很容易劝退。
    zhujinliang
        2
    zhujinliang  
       105 天前 via iPhone
    书的话我记得有个 《 ARM Cortex 权威指南》,我是以看官方手册为主
    danbai
        3
    danbai  
       105 天前   ❤️ 1
    开发版我最近在看 https://m5stack.com/
    villivateur
        4
    villivateur  
       105 天前
    建议从 Arduino 开始学
    trlsmax
        5
    trlsmax  
       105 天前
    单片机这类嵌入式要搞得好,电路要基本能看懂。纯软件不太行的。
    Evovil
        6
    Evovil  
       105 天前
    电路嘛 必读
    信号完整性与电源完整性分析:
    https://item.jd.com/12578108.html
    其余看兴趣选择,模电数电之类的

    嵌入式嘛:
    没啥要看的你用啥芯片看啥芯片的 datasheet ,user manual ,reference

    RTOS:
    看文档

    剩下来就是动手了,基本工具学会,示波器,逻辑分析仪,电烙铁什么的

    FPGA:
    先看上面那些吧。。


    我觉得你应该先把 c 语言看看透:
    强烈推荐:
    https://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628
    FreeWong
        7
    FreeWong  
    OP
       105 天前
    FreeWong
        8
    FreeWong  
    OP
       105 天前   ❤️ 1
    @trlsmax 看懂电子电路要看哪些教程,我正在网上找。。
    目前仅需要可以使用 单片机与 另一个 华大的 MCU 通讯读 Modbus 数据,然后使用 nbiot 模块发送出去就可以
    jessiepan2017
        9
    jessiepan2017  
       105 天前
    https://www.v2ex.com/t/1063294?p=1#reply15

    v2ex 上做嵌入式软件开发的人确实不多啊,希望可以帮助到你吧
    volvo007
        10
    volvo007  
       105 天前
    @FreeWong 这个功能会用现成的产品就可以,不需要看懂电路

    先找到 Modbus 的通讯协议,试着通过 MCU 读取数据;之后找一个 nbiot 的模块,用串口把读到的数据发出去

    这要求设备有两个独立串口,stm32 或者 esp32 的板子应该都可以。如果对方是 485 模块的,还需要 485 转 TTL 或者 URAT 的模块

    但是我现在做这些并不需要看懂电子电路…… 会读寄存器会编程就能解决你 95% 的需求
    buptzt8013
        11
    buptzt8013  
       104 天前
    其实就是正点原子教程最好,赶紧往 linux 和 fpga 爬,嵌入式如果只是做单片机 32 没前途的
    dayeye2006199
        12
    dayeye2006199  
       104 天前 via Android
    Arduino micropython 有手就行,但是都是自己玩玩的东西
    BuffDog
        13
    BuffDog  
       104 天前
    嵌入式难点在硬件交互上吧,软件跟系统方面没什么好说的
    C 语言要牢固
    各种通信协议得了解吧,最好自己动手实操一遍,用 STM32 就可以,搞懂上下电,波形啥的其实就差不多了
    实际上就是操纵寄存器,只是调试的过程相对软件来说,更麻烦而已
    至于 Linux,那范围就大了
    Pinealxx408
        14
    Pinealxx408  
       104 天前
    1 、开发板有帮助,是新手入门嵌入式最好的方式。买一块开发板,跟着免费的课程学习(野火/正点原子)都可以。 这种东西已经很成熟了,从 mcu 学到 rtos 。(这个需要很长时间)
    2 、加强 C 语言能力,非算法,主要是指针,结构体,队列之类的;
    3 、加强英语能力,因为未来会有很多英文文档。
    4 、如果感觉学的差不多,找个小项目试试手,看看能不能做出来。常见的 “测温湿度浇花” “循迹小车” 等
    UIXX
        15
    UIXX  
       104 天前   ❤️ 1
    啥呀,还从电路学起...你这个就是软件机制还不了解。

    元件焊接问题,元件损坏造成的 bug ,多板对比就行了。电路相关的设计问题,那是硬件工程师的领域,你去了解可以更细致地调试板子,但时间有限职责未及的情况下没必要。

    “会读寄存器会编程就能解决你 95% 的需求”,就是这样。

    ---------------------------------------------------------------------

    真要学习,我建议软件人员按从顶到底、从芯片到局部电路的顺序进入嵌入式开发行列,优先阅读目标芯片的手册和目标芯片的架构手册。
    FreeWong
        16
    FreeWong  
    OP
       103 天前
    @jessiepan2017 @volvo007 @buptzt8013 @dayeye2006199 @BuffDog @Pinealxx408 @UIXX 都是好人,感谢你们了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2331 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 02:07 · PVG 10:07 · LAX 18:07 · JFK 21:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.