请教高手,可不可以用vs开发编译ARM Linux应用程序
本帖最后由 wt3333 于 2021-9-23 16:42 编辑请教高手,可以用vs开发编译ARM Linux应用程序?.通过ssh下载到目标开发板,不需要跟踪调试功能
Windows熟悉,vs熟悉.实在是不想用Linux写代码 当然可以,没有IDE你都可以,用VSCode 有linux版本 直接在Linux上装一个vscode的。 得在Windows平台有GCC for ARM编译器。实际还真有!
VISUAL GDB了解一下 linux 用打印语句就可以了,多进程,多线程,用IDE意义不大,,我看别人的代码,有变量的地方基本全打印。 aammoo 发表于 2021-9-23 18:20
有linux版本
就是想绕过Linux,直接在Windows下开发 arm Linux应用:) wurst 发表于 2021-9-23 20:07
得在Windows平台有GCC for ARM编译器。实际还真有!
这个香啊 网上逛了一天了,也没个介绍
谢谢 指教
yyts 发表于 2021-9-23 19:31
直接在Linux上装一个vscode的。
想先绕过Linux,做应用实现:) 可以啊,我一直用.net core写linux程序 vscode 安装插件 Remote - SSH
可以连接到linux 系统,可以创建工程和文件,似乎编译不了。[我没深入研究] yuyu87 发表于 2021-9-24 09:08
可以啊,我一直用.net core写linux程序
具体怎么操作?可以在windows下生成 linux的执行文件 吗?
vs2019 是可以创建工程树莓派的点LED工程,但是,需要SSH连接目标板才能编译执行。 eclipse 、visual studio都是可以的,如果需要交叉编译,要用windows下的arm linuxgcc mPiDDR 发表于 2021-9-24 09:54
具体怎么操作?可以在windows下生成 linux的执行文件 吗?
vs2019 是可以创建工程树莓派的点LED工程, ...
编译不需要连接树莓派目标板,运行肯定要了,我是直接用c#写成docker的app,在树莓派和各种32位64位arm,linux上运行,我是用到了uart,spi,gpio这些硬件外设的功能,不然做起来更简单。 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>正在链接对象 mPiDDR 发表于 2021-9-24 09:54
具体怎么操作?可以在windows下生成 linux的执行文件 吗?
vs2019 是可以创建工程树莓派的点LED工程, ...
对啊,在windows下直接编译,发布时选择arm 版本就好了,
不错,学习 代码放在目标系统上。VSCODE可以打开SSH的远程文件夹和远程终端,直接目标平台编译。。。。
能不能用MDK 开发linux 的程序? 然后插jlink 调试, 我就要这开发模式, 行不? yuyu87 发表于 2021-9-24 09:08
可以啊,我一直用.net core写linux程序
我用的nxp的A7 cpu,放不进 mPiDDR 发表于 2021-9-24 10:42
具体 怎么操作,提供个关键词也可以
我期望的是,在windows下生成执行文件,再手动拷到linux下运行。
dotnet linux yyts 发表于 2021-9-24 12:38
dotnet linux
感谢大神,已经成功的在windows下编码了。
大致是:
1. 在linux系统安装.net运行环境,以下基于raspberry
https://docs.microsoft.com/zh-cn/dotnet/iot/deployment
2. 在windows下编码,选择发布成arm. 注意dotnet版本 要一致才可以正常运行
将发布的文件夹里的所有的文件复制到liunx下。
运行: dotnetyouapp.dll
nuget 安装System.Device.Gpio 目前已成功点灯。
还不知道串口如何用。 找windows平台的arm Linux交叉编译器,配置VS2019就可以吧 C的话交叉编译器, 本质上和windows开发arm裸程序一回事,都是交叉编译
.net交叉编译
还有个东西是go语言, 和.net类似,可以直接编译各个平台的目标文件
脚本java这些就不说了
C和C++程序的话,恐怕不好弄,,
就算你有 arm-gcc.exe 可以在windows下编译,可是一旦用到 C/C++ 的库,在Windows下就很麻烦了,,因为它们可能依赖 make、cmake、automake 甚至 bash、python 写的一些处理工具
如果你嫌 Java、C# 的VM太大,可以试试Go,,不带VM,可以在Windows上编译出任意处理器上的linux可执行文件。。 XIVN1987 发表于 2021-9-24 17:53
C和C++程序的话,恐怕不好弄,,
就算你有 arm-gcc.exe 可以在windows下编译,可是一旦用到 C/C++ 的库, ...
谢谢大神指教 费那么多事 ,直接用golang在Windows上编程,编译为arm linux上的程序,然后nfsssh啥都都行,通过网络传到开发板上。 redworlf007 发表于 2021-9-25 00:33
费那么多事 ,直接用golang在Windows上编程,编译为arm linux上的程序,然后nfsssh啥都都行,通过网络传 ...
直接 谢谢 指教
开新坑,学学golang
wt3333 发表于 2021-9-26 08:39
直接 谢谢 指教
开新坑,学学golang
开发板的Linux,做成glibc的库,golang只依赖Linux上的glibc库。 几位大神的指点,真是醍醐灌顶. go的跨平台和执行效率,比python还好.嵌入式linux也一样适用 感谢大神redworlf007,XIVN1987,albert_w 可有人记得当年STM8的时候,有人把VC6改成STM8编译器,还说自已写的,然后留下了很多蜘丝马迹。。的笑柄。
页:
[1]