V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
gaoyadianta
V2EX  ›  Linux

开发嵌入式 Linux 用什么开发环境

  •  
  •   gaoyadianta · 2017-04-17 14:43:56 +08:00 · 4541 次点击
    这是一个创建于 2781 天前的主题,其中的信息可能已经有所发展或是发生改变。
    新项目,之前没做过 linux 的项目,之前做的都是 stm32 之类的。
    我已经安装了 Ubuntu 的虚拟机,另外硬件平台是 i.MX6QUL ARM Cortex-A7 架构的。
    想了解下,做嵌入式 liunx 的开发一般是用什么开发环境?
    在 Ubuntu 下用 eclipse ?
    在 Ubuntu 下直接 gcc+makefile 编译,用 gdb 调试?
    还是什么其他我没了解过的,希望有实际项目经验的给介绍下,先谢了!
    22 条回复    2017-04-17 22:58:26 +08:00
    booboo
        1
    booboo  
       2017-04-17 14:47:12 +08:00   ❤️ 1
    什么平台都差不多,你这个的 cpu 应该是用 yocto , ubuntu 装个应该问题会少点。
    其他工具都一样,就是 minicom, vim , telnet, ssh 这些
    wizardoz
        2
    wizardoz  
       2017-04-17 14:48:57 +08:00
    CLion
    调试好不好用不知道,因为我开发多年很少用单步调试。
    bellchu
        3
    bellchu  
       2017-04-17 14:58:41 +08:00 via Android
    Win10-HyperV-Gentoo
    价廉物美
    gaoyadianta
        4
    gaoyadianta  
    OP
       2017-04-17 15:21:45 +08:00
    @booboo 谢谢,我们是买的核心板,厂家提供裁剪好的 linux 系统,因为没做过 linux 的开发,想了解下上位机开发的时候用什么开发工具。 linux 的工程也需要添加各种.h 文件.c 文件吗?-_-!
    gaoyadianta
        5
    gaoyadianta  
    OP
       2017-04-17 15:23:21 +08:00
    @wizardoz 谢谢,我先了解下,这个还是第一次听说
    gaoyadianta
        6
    gaoyadianta  
    OP
       2017-04-17 15:26:28 +08:00
    @bellchu 你的意思是,上位机用 win10 ,再用 Hyper-V 装一个 Gentoo ,在 Gentoo 下面做开发吗?果然这里好高端,好多东西都是第一次听说。
    booboo
        7
    booboo  
       2017-04-17 15:54:38 +08:00
    @gaoyadianta 你买的开发板,那他们应该会提供交叉编译器, 文件系统和 uboot 这些. 你自己写程序要用到的工具就是编辑器了, gdb 这些没有提供的话你要自己交叉编译. 至于程序基本就是标准的 linux c 开发, 涉及到一些接口的操作可能略有不同.
    gaoyadianta
        8
    gaoyadianta  
    OP
       2017-04-17 16:00:01 +08:00
    @booboo 恩,好的,大致了解了
    raiz
        9
    raiz  
       2017-04-17 16:02:31 +08:00
    你开发应用程序还是驱动,驱动基本就没 IDE 什么事了,应用跟桌面差不了多少。 eclipse 编译后放在主机和目标机共享文件服务器上,从目标机运行,调试。 vs 有个收费的插件,可以 gdb 调试
    gaoyadianta
        10
    gaoyadianta  
    OP
       2017-04-17 16:05:40 +08:00
    @raiz 目前还主要是在应用层面
    raiz
        11
    raiz  
       2017-04-17 16:14:10 +08:00
    @gaoyadianta 什么类型的应用,好奇,我不知道要玩什么,忧伤
    qianguozheng
        12
    qianguozheng  
       2017-04-17 16:30:30 +08:00
    需要什么装什么。 ubuntu 平台搞了三年的开发了,还行吧
    社交软件就用网页版的。
    编辑器 geany, gvim, qt-creator
    nicevar
        13
    nicevar  
       2017-04-17 16:44:04 +08:00
    直接用 eclipse 就行, stm32 用 keil 不太习惯的话,也可以配 eclipse 的
    估计以后 CLion 会流行了, JB 的东西做出来实在太好用
    gaoyadianta
        14
    gaoyadianta  
    OP
       2017-04-17 17:37:56 +08:00
    @raiz 物联网网关,很简单,包括 zigbee mqtt tls 这些
    gaoyadianta
        15
    gaoyadianta  
    OP
       2017-04-17 17:39:04 +08:00
    @qianguozheng 因为我的思路一直是 stm32 那种,好多工程文件放到一块,在 linux 下也是这样的吧?如果不用带界面的,会不会很不方便
    qian19876025
        16
    qian19876025  
       2017-04-17 17:39:38 +08:00
    楼主这到底是 要移植呢软件呢还是 要写驱动? 这个要分清楚吧
    如果仅仅是 应用软件开发 应该可以直接在普通系统上搞 只要把依赖库搞好就行了
    但是如果要驱动移植那就不同了
    gaoyadianta
        17
    gaoyadianta  
    OP
       2017-04-17 17:40:02 +08:00
    @nicevar 好的, keil 很习惯,做 stm32 一直用的就是 keil ,那我回头从 eclipse 入手,再研究研究 CLion
    Shazoo
        18
    Shazoo  
       2017-04-17 17:40:57 +08:00   ❤️ 1
    @gaoyadianta 一般我是这么用的:
    1 、做一个 host linux 主机。 ubuntu 、 centos 啥的随便。不过,一般来说,厂家提供的交叉编译器都会有建议平台。照着做即可。小项目虚拟机,多人配合就上台小服务器。
    2 、 host 主机上做一个 samba ,然后开发用的 windows 主机上,映射个磁盘。如果是团队开发,最好盘符都指定同样的(如, M 盘)
    3 、开发工具还是 source insight 。 understand 也不错。 si 是最常用的 C/C++编辑器。
    4 、调试一般是静态 core dump 分析和 gdb 在线调试。这个看情况了。
    5 、最好有个小交换机( hub ?),板子的 bootloader 很多是可以用 nfs 或者 tftp 来动态加载内核,调试的时候很方便。
    6 、最好的 usb 转串口( 232/ttl )是 ft232 系列的。没有之一…… 45 买一个。
    gaoyadianta
        19
    gaoyadianta  
    OP
       2017-04-17 17:41:20 +08:00
    @qian19876025 目前主要是应用层开发,之前在 stm32 下,没有依赖库的概念,都是.c .h 文件直接编译,中间过程不了解。
    gaoyadianta
        20
    gaoyadianta  
    OP
       2017-04-17 17:49:12 +08:00
    @Shazoo 看来是高手!
    非常非常感谢,都是干货!
    看来以后得多来逛逛,还请多指点~
    qian19876025
        21
    qian19876025  
       2017-04-17 18:10:31 +08:00
    @gaoyadianta 既然是应用层那么应该与硬件不太相关 那就现在 主机环境下开发就行了 这样也方便调试
    gaoyadianta
        22
    gaoyadianta  
    OP
       2017-04-17 22:58:26 +08:00 via Android
    @qian19876025 你说的主机环境是指什么, pc 的 linux 吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3388 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:44 · PVG 19:44 · LAX 03:44 · JFK 06:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.