STM32 和 ARM Linux - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liuyulvv
V2EX    问与答

STM32 和 ARM Linux

  •  
  •   liuyulvv 2021-02-25 10:02:54 +08:00 2698 次点击
    这是一个创建于 1752 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟只会照着开发文档写程序,对单片机、嵌入式这些东西都不懂

    实验室最近想买个传感器,在官网上看到的是传感器是可以通过 STM32 进行编程控制的,但是我们想用英伟达的 Jetson 开发板,Jetson 是 ARM Linux,运行 Ubuntu,请问 Jetson 也可以通过编程控制这个传感器嘛?

    15 条回复    2021-02-25 15:23:29 +08:00
    Cooky
        1
    Cooky  
       2021-02-25 10:07:50 +08:00 via Android
    gpio ?
    ZoteTheMighty
        2
    ZoteTheMighty  
       2021-02-25 10:15:32 +08:00
    用 gpio 应该可以, 很久很久之前在学校搞过三星 4412 的开发版, 一般主要是交叉编译环境要搭好,其余就可以参照着移植驱动了。
    ZoteTheMighty
        3
    ZoteTheMighty  
       2021-02-25 10:18:42 +08:00
    要能看懂 datasheet 。
    jworg
        4
    jworg  
       2021-02-25 10:24:05 +08:00
    传感器型号给出来啊,不然怎么知道模数转换后输出是啥,万一是 i2c 等一些高级点的接口,直接驱动没问题,输出高低电平频率比较高的话可能需要编写内核模块然后 gpio 采样了,频率低的话不停读也没问题
    surfwave
        5
    surfwave  
       2021-02-25 10:29:38 +08:00
    Jetson 用 GPIO,安装 linux 可以用 Python 来编程控制传感器。STM32,Arduino 这些开发要底层用它们的环境,毕竟就是一个单片机,没有操作系统,一般是 c 写的。
    rainman777
        6
    rainman777  
       2021-02-25 10:35:57 +08:00
    如果硬件接口相同的话应该是可以的,但是用 linux 来控制(读取)传感器会稍微复杂一些,可能还会涉及到重新 build device tree,还要去写硬件驱动~ 建议用 MCU 来做,比较简单~
    rainfallmax
        7
    rainfallmax  
       2021-02-25 10:39:13 +08:00
    先搞懂传感器的 datasheet,是数字量还是模拟量 输入输出,再看开发板上有没有对应脚位输入输出。。。。
    nevin47
        8
    nevin47  
       2021-02-25 10:40:01 +08:00
    我印象中 Jetson 的板子默认有 GPIO,官方还有 GPIO 的 API 驱动

    自己对着 Datasheet 改一下协议就好了,应该不难
    liuyulvv
        9
    liuyulvv  
    OP
       2021-02-25 10:43:28 +08:00
    liuyulvv
        10
    liuyulvv  
    OP
       2021-02-25 10:48:40 +08:00
    @jworg 图片里面的 i2c 就是大佬说的 i2c 嘛
    @rainman777 还想要联网,看重的一个 sim 卡拨号联网装置不支持 stm32,jetson 还有一定的算力。
    jworg
        11
    jworg  
       2021-02-25 10:55:40 +08:00   1
    @liuyulvv 有 i2c 或者 uart 就随随便便写啦,c,golang,rust,bash 任君挑,也就可以明确说 Jetson 可以通过编程控制这个传感器,arm 里默认文件系统有 i2c-tools 这个工具,i2c/dump/i2cget/i2cset 调试起来很方便的
    soysss
        12
    soysss  
       2021-02-25 11:02:18 +08:00
    没看懂。
    systemcall
        13
    systemcall  
       2021-02-25 11:50:02 +08:00
    有 i2c,那就用 i2c 的工具来控制吧。没有用过 Jetson,但是这种东西肯定是有 i2c 的工具的,官方的文档里面看一下有没有 i2c 的例程
    注意一下要使用的 i2c 有没有和别的功能冲突,有些板子是和 i2s 之类的东西复用了部分引脚之类的资源的,多留意一下
    systemcall
        14
    systemcall  
       2021-02-25 11:53:11 +08:00   1
    @rainman777 #6
    如果是树莓派那样自带了开箱即用的操控 SPI I2C 等接口的工具的话,连 bash 都可以写
    看样子不是什么复杂的需求,只是一个传感器而已,不用绑到什么别的东西上面,又不是接个屏幕之类的东西,没那么复杂。如果不需要输出系统的画面而是完全自己控制屏幕,也可以用 SPI I2C 之类的接口的工具直接控制
    surfwave
        15
    surfwave  
       2021-02-25 15:23:29 +08:00
    确实,最好要去官网看 Datasheet,GPIO 里面哪些口对应 I2C 或者 SPI 等等总线,找到驱动之后,能够驱动起来编程就简单了。另外 Jetson 是一个系列,你这个具体型号是 Nano,TX1 还是什么?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2738 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:49 PVG 10:49 LAX 18:49 JFK 21:49
    Do have faith in what you're doing.
    ubao msn 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