===嵌入式软件开发新手入门请指点=== - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
FreeWong
V2EX    程序员

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

  •  
  •   FreeWong 2024-09-07 09:50:08 +08:00 3614 次点击
    这是一个创建于 398 天前的主题,其中的信息可能已经有所发展或是发生改变。
    仅会上位机软件开发,C 语言也才看了二个星期。
    有什么你认为对于入门新手来说,非常值得推荐的书籍,教程有哪些,感激不尽。
    另外,野火开发板的教程,以及开发板是否对于新手入门有帮助?
    https://doc.embedfire.com
    任何建议,请分享给新手入门,感激。
    16 条回复    2024-09-09 13:22:55 +08:00
    zzz22333
        1
    zzz22333  
       2024-09-07 10:14:30 +08:00
    跟着野火的学也行,跟着慢慢做实验, 先了解是什么为什么,在去了解原理。如果先去原理的话,很容易劝退。
    zhujinliang
        2
    zhujinliang  
       2024-09-07 10:19:20 +08:00 via iPhone
    书的话我记得有个 《 ARM Cortex 权威指南》,我是以看官方手册为主
    danbai
        3
    danbai  
    PRO
       2024-09-07 10:24:54 +08:00   1
    开发版我最近在看 https://m5stack.com/
    villivateur
        4
    villivateur  
       2024-09-07 11:31:37 +08:00
    建议从 Arduino 开始学
    trlsmax
        5
    trlsmax  
       2024-09-07 11:33:02 +08:00
    单片机这类嵌入式要搞得好,电路要基本能看懂。纯软件不太行的。
    Evovil
        6
    Evovil  
       2024-09-07 12:05:21 +08:00
    电路嘛 必读
    信号完整性与电源完整性分析:
    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
       2024-09-07 13:00:36 +08:00
    FreeWong
        8
    FreeWong  
    OP
       2024-09-07 13:02:00 +08:00   1
    @trlsmax 看懂电子电路要看哪些教程,我正在网上找。。
    目前仅需要可以使用 单片机与 另一个 华大的 MCU 通讯读 Modbus 数据,然后使用 nbiot 模块发送出去就可以
    jessiepan2017
        9
    jessiepan2017  
       2024-09-07 21:04:12 +08:00
    t/1063294?p=1#reply15

    v2ex 上做嵌入式软件开发的人确实不多啊,希望可以帮助到你吧
    volvo007
        10
    volvo007  
       2024-09-07 21:09:37 +08:00
    @FreeWong 这个功能会用现成的产品就可以,不需要看懂电路

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

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

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

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

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

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

    真要学习,我建议软件人员按从顶到底、从芯片到局部电路的顺序进入嵌入式开发行列,优先阅读目标芯片的手册和目标芯片的架构手册。
    FreeWong
        16
    FreeWong  
    OP
       2024-09-09 13:22:55 +08:00
    @jessiepan2017 @volvo007 @buptzt8013 @dayeye2006199 @BuffDog @Pinealxx408 @UIXX 都是好人,感谢你们了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2784 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 14:47 PVG 22:47 LAX 07:47 JFK 10:47
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86