搜索
bottom↓
回复: 31

请教高手,可不可以用vs开发编译ARM Linux应用程序

[复制链接]

出5入8汤圆

发表于 2021-9-23 16:41:24 | 显示全部楼层 |阅读模式
本帖最后由 wt3333 于 2021-9-23 16:42 编辑

请教高手,可以用vs开发编译ARM Linux应用程序?.  通过ssh下载到目标开发板,不需要跟踪调试功能

Windows熟悉,vs熟悉.  实在是不想用Linux写代码

出0入0汤圆

发表于 2021-9-23 18:20:12 | 显示全部楼层
当然可以,没有IDE你都可以,用VSCode

出0入0汤圆

发表于 2021-9-23 18:20:16 | 显示全部楼层
有linux版本

出0入143汤圆

发表于 2021-9-23 19:31:17 来自手机 | 显示全部楼层
直接在Linux上装一个vscode的。

出0入0汤圆

发表于 2021-9-23 20:07:04 | 显示全部楼层
得在Windows平台有GCC for ARM编译器。实际还真有!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出20入21汤圆

发表于 2021-9-23 20:38:39 来自手机 | 显示全部楼层
VISUAL GDB了解一下

出0入0汤圆

发表于 2021-9-23 22:00:48 | 显示全部楼层
linux 用打印语句就可以了,多进程,多线程,用IDE意义不大,,我看别人的代码,有变量的地方基本全打印。

出5入8汤圆

 楼主| 发表于 2021-9-24 08:51:25 | 显示全部楼层

就是想绕过Linux,直接在Windows下开发 arm Linux应用  :)

出5入8汤圆

 楼主| 发表于 2021-9-24 08:52:32 | 显示全部楼层
wurst 发表于 2021-9-23 20:07
得在Windows平台有GCC for ARM编译器。实际还真有!

这个香啊    网上逛了一天了,也没个介绍

谢谢 指教

出5入8汤圆

 楼主| 发表于 2021-9-24 08:58:19 | 显示全部楼层
yyts 发表于 2021-9-23 19:31
直接在Linux上装一个vscode的。

想先绕过Linux,做应用实现  :)

出5入182汤圆

发表于 2021-9-24 09:08:00 | 显示全部楼层
可以啊,我一直用.net core写linux程序

出0入0汤圆

发表于 2021-9-24 09:51:42 | 显示全部楼层
vscode   安装插件 Remote - SSH
可以连接到linux 系统,可以创建工程和文件,似乎编译不了。[我没深入研究]

出0入0汤圆

发表于 2021-9-24 09:54:31 | 显示全部楼层
yuyu87 发表于 2021-9-24 09:08
可以啊,我一直用.net core写linux程序

具体怎么操作?可以在windows下生成 linux的执行文件 吗?

vs2019 是可以创建工程树莓派的点LED工程,但是,需要SSH连接目标板才能编译执行。

出0入0汤圆

发表于 2021-9-24 10:05:14 | 显示全部楼层
eclipse 、visual studio都是可以的,如果需要交叉编译,要用windows下的arm linux  gcc

出0入143汤圆

发表于 2021-9-24 10:05:26 | 显示全部楼层
mPiDDR 发表于 2021-9-24 09:54
具体怎么操作?可以在windows下生成 linux的执行文件 吗?

vs2019 是可以创建工程树莓派的点LED工程, ...


编译不需要连接树莓派目标板,运行肯定要了,我是直接用c#写成docker的app,在树莓派和各种32位64位arm,linux上运行,我是用到了uart,spi,gpio这些硬件外设的功能,不然做起来更简单。

出0入0汤圆

发表于 2021-9-24 10:42:44 | 显示全部楼层
yyts 发表于 2021-9-24 10:05
编译不需要连接树莓派目标板,运行肯定要了,我是直接用c#写成docker的app,在树莓派和各种32位64位arm, ...

具体 怎么操作,提供个关键词也可以
我期望的是,在windows下生成执行文件,再手动拷到linux下运行。

当前用VS2019创建的,是需要远程编译的。如下:
1>正在验证源
1>正在将源远程复制到“192.168.3.84”
1>正在验证体系结构
1>正在验证体系结构
1>正在启动远程生成
1>正在编译源:
1>正在链接对象

出5入182汤圆

发表于 2021-9-24 10:45:40 | 显示全部楼层
mPiDDR 发表于 2021-9-24 09:54
具体怎么操作?可以在windows下生成 linux的执行文件 吗?

vs2019 是可以创建工程树莓派的点LED工程, ...

对啊,在windows下直接编译,发布时选择arm 版本就好了,

出0入85汤圆

发表于 2021-9-24 11:00:24 来自手机 | 显示全部楼层
不错,学习

出135入222汤圆

发表于 2021-9-24 11:07:00 | 显示全部楼层
代码放在目标系统上。VSCODE可以打开SSH的远程文件夹和远程终端,直接目标平台编译。。。。

出0入59汤圆

发表于 2021-9-24 11:11:16 | 显示全部楼层
能不能用MDK 开发linux 的程序? 然后插jlink 调试, 我就要这开发模式, 行不?

出5入8汤圆

 楼主| 发表于 2021-9-24 11:14:01 | 显示全部楼层
yuyu87 发表于 2021-9-24 09:08
可以啊,我一直用.net core写linux程序

我用的nxp的A7 cpu,放不进

出0入143汤圆

发表于 2021-9-24 12:38:56 | 显示全部楼层
mPiDDR 发表于 2021-9-24 10:42
具体 怎么操作,提供个关键词也可以
我期望的是,在windows下生成执行文件,再手动拷到linux下运行。

dotnet linux

出0入0汤圆

发表于 2021-9-24 16:24:29 | 显示全部楼层

感谢大神,已经成功的在windows下编码了。
大致是:
1. 在linux系统安装.net运行环境,以下基于raspberry
https://docs.microsoft.com/zh-cn/dotnet/iot/deployment
2. 在windows下编码,选择发布成arm. 注意dotnet版本 要一致才可以正常运行
将发布的文件夹里的所有的文件复制到liunx下。
运行: dotnet  youapp.dll


nuget 安装System.Device.Gpio 目前已成功点灯。
还不知道串口如何用。

出5入8汤圆

 楼主| 发表于 2021-9-24 16:25:41 | 显示全部楼层
找windows平台的arm Linux交叉编译器,配置VS2019就可以吧

出0入42汤圆

发表于 2021-9-24 17:42:20 | 显示全部楼层
C的话交叉编译器, 本质上和windows开发arm裸程序一回事,都是交叉编译
.net交叉编译
还有个东西是go语言, 和.net类似,可以直接编译各个平台的目标文件

脚本java这些就不说了

出0入25汤圆

发表于 2021-9-24 17:53:37 | 显示全部楼层

C和C++程序的话,恐怕不好弄,,
就算你有 arm-gcc.exe 可以在windows下编译,可是一旦用到 C/C++ 的库,在Windows下就很麻烦了,,因为它们可能依赖 make、cmake、automake 甚至 bash、python 写的一些处理工具

如果你嫌 Java、C# 的VM太大,可以试试Go,,不带VM,可以在Windows上编译出任意处理器上的linux可执行文件。。

出5入8汤圆

 楼主| 发表于 2021-9-24 23:48:43 | 显示全部楼层
XIVN1987 发表于 2021-9-24 17:53
C和C++程序的话,恐怕不好弄,,
就算你有 arm-gcc.exe 可以在windows下编译,可是一旦用到 C/C++ 的库, ...

谢谢  大神指教

出0入16汤圆

发表于 2021-9-25 00:33:42 来自手机 | 显示全部楼层
费那么多事 ,直接用golang在Windows上编程,编译为arm linux上的程序,然后nfs  ssh啥都都行,通过网络传到开发板上。

出5入8汤圆

 楼主| 发表于 2021-9-26 08:39:39 | 显示全部楼层
redworlf007 发表于 2021-9-25 00:33
费那么多事 ,直接用golang在Windows上编程,编译为arm linux上的程序,然后nfs  ssh啥都都行,通过网络传 ...

直接   谢谢 指教  
开新坑,学学golang

出0入16汤圆

发表于 2021-9-26 08:55:42 来自手机 | 显示全部楼层
wt3333 发表于 2021-9-26 08:39
直接   谢谢 指教  
开新坑,学学golang

开发板的Linux,做成glibc的库,golang只依赖Linux上的glibc库。

出5入8汤圆

 楼主| 发表于 2021-9-27 08:26:08 | 显示全部楼层
几位大神的指点,真是醍醐灌顶.   go的跨平台和执行效率,比python还好.嵌入式linux也一样适用    感谢大神redworlf007,XIVN1987,albert_w

出0入0汤圆

发表于 2021-9-27 10:00:55 | 显示全部楼层
可有人记得当年STM8的时候,有人把VC6改成STM8编译器,还说自已写的,然后留下了很多蜘丝马迹。。的笑柄。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-6 17:40

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表