V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ren2881971
V2EX  ›  程序员

最近对 ARM C 有兴趣咋入门?

  •  
  •   ren2881971 ·
    ren2881971 · 2019-10-18 13:43:24 +08:00 · 3711 次点击
    这是一个创建于 1623 天前的主题,其中的信息可能已经有所发展或是发生改变。

    对 ARM 嵌入式一窍不通。 头大 先从 C 入手? LZ 目前是 Java Web 开发

    第 1 条附言  ·  2019-10-18 16:34:01 +08:00
    想了解的怎么入门学习。。
    是不是坑啥的不要再提啦。。。打消积极性
    33 条回复    2019-10-31 01:32:32 +08:00
    brucewuio
        1
    brucewuio  
       2019-10-18 13:54:14 +08:00   ❤️ 1
    计算机组成原理 ARM 接口技术 arm-gcc 然后自己写个 bootloader 入门差不多了
    ren2881971
        2
    ren2881971  
    OP
       2019-10-18 13:58:33 +08:00
    @brucewuio c 和计算机组成原理一起学了?
    RYYang
        3
    RYYang  
       2019-10-18 14:43:16 +08:00
    直接树莓派
    lvA
        4
    lvA  
       2019-10-18 14:54:06 +08:00
    我这里搞硬件的同事一心想搞软件,感觉你俩应该认识认识
    ren2881971
        5
    ren2881971  
    OP
       2019-10-18 15:04:06 +08:00   ❤️ 1
    @lvA 哈哈 我是企业开发,不是互联网企业。 业务弄多了真的烦。。。 换个思路研究点别的
    brucewuio
        6
    brucewuio  
       2019-10-18 15:04:51 +08:00
    @ren2881971 我以为你会 C -_-||
    ren2881971
        7
    ren2881971  
    OP
       2019-10-18 15:08:51 +08:00
    @brucewuio 不会哇。实话实说 大学那点玩意 早忘没了。
    rockyou12
        8
    rockyou12  
       2019-10-18 15:10:53 +08:00
    先把计算机组成复习下,最好能懂点汇编,不然硬件开发和软件开发差别还是相当大的
    ren2881971
        9
    ren2881971  
    OP
       2019-10-18 15:16:34 +08:00
    @rockyou12 @brucewuio 两位大佬都默认我会 c 了么。。。
    buxudashi
        10
    buxudashi  
       2019-10-18 15:54:18 +08:00
    @ren2881971
    我也想搞硬件。如果只是搞硬件上的程序,看起来简单多了。各种传感器用起来也不难。不过如果搞硬件外围的电路板,电子电路,这些就没那么容易了。
    想换就直接换吧。软件硬件看你喜欢哪个
    zivyou
        11
    zivyou  
       2019-10-18 15:59:30 +08:00
    巧了。 我是 nodejs crud boy。想搞内核,现在在自己写内核。我搞的是 x86
    要学的东西太多了,大概是微机原理, 汇编(特别是 at&t 汇编),booter and loader,然后才是内核的各种设计。
    深坑,慎入
    koebehshian
        12
    koebehshian  
       2019-10-18 16:29:19 +08:00   ❤️ 2
    我也想搞硬件,但电路图看不懂,得先学会数字电路,数字电路看不懂,得先学会模拟电路,模拟电路看不懂,得先学会电路分析,电路分析看不得,得先学会电磁学,电磁学看不懂,得先学会微积分。
    当然,硬件上的软件,还得简单的
    ren2881971
        13
    ren2881971  
    OP
       2019-10-18 16:30:42 +08:00
    @buxudashi 我就是想先了解下~ 最后应该是研究 pcb 之类的。。
    ren2881971
        14
    ren2881971  
    OP
       2019-10-18 16:32:29 +08:00
    @zivyou 啥技术不是坑呀~ 铁子!
    maokabc
        15
    maokabc  
       2019-10-18 17:07:19 +08:00 via Android
    不是先买个 6410 之类的开发板,写写裸机代码吗?
    afirefish
        16
    afirefish  
       2019-10-18 17:52:00 +08:00
    树莓派
    loading
        17
    loading  
       2019-10-18 18:18:24 +08:00 via Android
    来,一起做个键盘就好了。

    最好有比较好的 c 语言基础。
    mosfet
        18
    mosfet  
       2019-10-18 20:00:13 +08:00
    cortex-m, cortex-a 都是是 arm
    前者买个 stm32 开发板,跑跑裸机实时操作系统,后者买个树莓派
    Halry
        19
    Halry  
       2019-10-18 20:32:21 +08:00 via Android
    本想推荐 stm32 的,但是感觉不对,如果是写惯了 java 这些的不建议,直接先树莓派,看看想不想弄,免得买一块真的是用来尘封的板
    LZSZ
        20
    LZSZ  
       2019-10-18 20:34:27 +08:00
    不搞 RISC-V ?
    SUMPaul
        21
    SUMPaul  
       2019-10-18 21:11:46 +08:00 via iPhone
    对各种各样的芯片手册,cmos 集成电路和万用表,示波器感兴趣?
    liuzhiyong
        22
    liuzhiyong  
       2019-10-18 21:17:22 +08:00
    入门还是轻松的,推荐 STM32。C 语言比 Java 应该轻松多了。祝你好运!
    liuzhiyong
        23
    liuzhiyong  
       2019-10-18 21:19:35 +08:00
    关于问题:“对 ARM 嵌入式一窍不通。 头大 先从 C 入手?”

    答案:先从控制闪烁 LED 灯开始,这个相当于软件行业的 Hello World。
    yplam
        24
    yplam  
       2019-10-18 21:58:41 +08:00 via Android
    入门推荐 arduino,资料比较完善,最基本的就是了解变量跟寄存器,外设 /IO 的关系

    嵌入式跟纯软件编程最明显的区别就是需要考虑时序,有些代码明明看起来没问题,但在硬件上跑起来就是得不到想要的结果,最简单的是你不断的开关一个 LED,如果中间没加入适当延时的话,LED 看起来会是常亮的
    nimab
        25
    nimab  
       2019-10-18 22:10:47 +08:00
    从单片机开始
    imbushuo
        26
    imbushuo  
       2019-10-19 06:21:12 +08:00
    可以来做 baremetal bringup,然后把 Windows on ARM 或者 Linux 带起来(
    Guosch
        27
    Guosch  
       2019-10-19 08:55:51 +08:00 via Android
    @koebehshian 数字电路看不懂,跟模拟电路有什么关系?
    wangkai0351
        28
    wangkai0351  
       2019-10-19 09:28:21 +08:00
    @Guosch 世界的本质是连续的。或许可以这样解释??哈哈哈
    0x61
        29
    0x61  
       2019-10-19 18:14:16 +08:00 via iPhone
    系统性一点的方法是:计算机组成原理 数字电路 8086 汇编 C 语言 计算机操作系统。 粗暴一点方法是:C 语言。
    beginor
        30
    beginor  
       2019-10-19 19:11:24 +08:00 via Android
    安卓手机的话直接装 Termux 走起 gcc 直接编译运行
    koebehshian
        31
    koebehshian  
       2019-10-19 21:01:16 +08:00
    @Guosch 至少和电路有关系吧,和模拟电路主要是一个 CMOS 管
    Guosch
        32
    Guosch  
       2019-10-20 08:34:39 +08:00 via Android
    @wangkai0351 好吧,是我认真了。。
    coloz
        33
    coloz  
       2019-10-31 01:32:32 +08:00
    想玩玩的话 arduino 是不二选择。如果想专业搞,可以买个 nrf52 DK 带蓝牙、带 jlink 的开发板,重点是 IDE 也可以免费用,不用去找破解版了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2719 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 00:20 · PVG 08:20 · LAX 17:20 · JFK 20:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.