硬汉嵌入式论坛

 找回密码
 立即注册
123
返回列表 发新帖
楼主: scu319hy
收起左侧

[其它] 给大家分享一下我自己DIY的开发环境

  [复制链接]

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-3-17 12:43:40 | 显示全部楼层
scu319hy 发表于 2024-3-15 03:28
你是说哪一块的逻辑?
针对zephyr的处理完全是用它默认的行为,工具链也是它自动选择的,我只是帮它找了 ...

我的意思是,EDX是通过分析环境变量判断zephyr、esp-idf等sdk的路径,或是其他必要工具的路径,如果EDX能分析到,则自动获取相关资源,如果没获取到(比如用户的原因或是系统的原因导致分析失败),这个时候EDX可以提供一个界面给用户自行设置(比如设置zephyr的路径,esp-idf的路径等)
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-3-17 12:57:20 | 显示全部楼层
scu319hy 发表于 2024-3-15 03:28
你是说哪一块的逻辑?
针对zephyr的处理完全是用它默认的行为,工具链也是它自动选择的,我只是帮它找了 ...

再如,目前EDX是通过判断系统环境变量是否有xmake以决定新建工程中是否显示xmake工程向导。但如果可以做到EDX默认就有xmak工程向导显示,只是当系统环境变量获取不到xmake时,此功能显示为灰色(不可用),这个时候EDX提示系统未找到xmake路径,并允许用户自行设置xmake的路径给EDX,设置后xmake工程向导就可以使能正常使用。ESP-IDF、zephyr等也同样采用这种方式,这样EDX会显得更友好。否则,用户也不知道究竟是什么原因没有找到xmake工程向导,ESP-IDF工程向导,zephyr工程向导
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-3-17 14:48:48 | 显示全部楼层
scu319hy 发表于 2024-3-8 15:20
已经有人提过了,后面看是不是有简单办法实现吧。可能部分导入比较好实现,但MDK, IAR自定义的那些配置啊 ...

MDK IAR工程的导入可以参考 vscode的开源插件 EIDE ,https://github.com/github0null/eide
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-3-18 12:28:02 | 显示全部楼层
zhjr1220 发表于 2024-3-17 12:57
再如,目前EDX是通过判断系统环境变量是否有xmake以决定新建工程中是否显示xmake工程向导。但如果可以做 ...

感谢建议,目前EDX的设计目标是尽可能减少不必要的用户配置。

对于标准的环境,比如:在注册表/环境变量/默认安装路径下能找到的相关工具,完全做到自动发现和配置。比如:Visual Studio, ESP-IDF
对于非标准的环境,在比较常见的安装位置和PATH路径里做搜索。比如:MSYS2
对于其它用户自定义的环境,仅提供有限的配置能力(只提供半自动配置,不提供手动配置能力),目前只支持mingw/linux工具链的配置。
对于需要无法搜索或是需要复杂配置的环境,我会以整合包的形式提供完整环境。比如:各种嵌入式开发环境

你说的做一些引导性的提示,辅助用户完成不同工具的配置。
思路是好的,但的确有些超出了我的能力了。
这需要花很多时间和精力,针对不同的工具/环境/系统做详细的设计和验证。
我先把这个功能排到TODO列表里,等以后有时间了慢慢来实现。
回复

使用道具 举报

0

主题

15

回帖

15

积分

新手上路

积分
15
发表于 2024-3-20 11:02:47 | 显示全部楼层
太牛逼了,膜拜大佬
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-3-21 14:55:17 | 显示全部楼层
没法调试,提示No executable specified, use `target exec',怎么办
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-3-21 15:07:16 | 显示全部楼层
minier 发表于 2024-3-21 14:55
没法调试,提示No executable specified, use `target exec',怎么办

需要先编译,再调试。调试动作不会自动触发编译,因为有的工程需要编译很久。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-3-22 10:36:02 | 显示全部楼层
楼主:如果安装了Codeblock,则工具链重的gdb固定选择codeblock的,这能不能也有个选项,用EXD自身集成的。另外建立工程的时候也多个选项,是cpp的,还是c的。
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-3-22 13:30:29 | 显示全部楼层
minier 发表于 2024-3-22 10:36
楼主:如果安装了Codeblock,则工具链重的gdb固定选择codeblock的,这能不能也有个选项,用EXD自身集成的。 ...

这是因为你把codeblock的gdb放到了PATH里了
EDX搜索GDB的优先顺序是:
1. 如果工具链本身有GDB,则使用工具链自带的
2. 如果系统PATH里配置了GDB,则使用系统的
3. 最后使用EDX自带的

这样设计的目的是方便用户添加自定义的工具,不需要添加额外的配置
一般情况下,在PATH里添加工具路径,就意味着想要使用这个工具。否则就不应该去添加它。

如果你想手工指定GDB的位置,可以在主程序目录下添加个user-config.lua,里面写:
GDB_PATHS = {"gdb路径"};
这样,每次启动后,会用你设置的路径覆盖EDX搜索的结果。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-3-23 19:21:22 | 显示全部楼层
本帖最后由 minier 于 2024-3-23 23:17 编辑

感谢楼主解答。又遇到了新问题,就是控制台程序运行总出现“拒绝访问”。关了360好了
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-3-25 18:10:56 | 显示全部楼层
minier 发表于 2024-3-23 19:21
感谢楼主解答。又遇到了新问题,就是控制台程序运行总出现“拒绝访问”。关了360好了

360的问题我就没办法了,你可以考虑给工程目录添加个实时扫描的排除项。让它不要扫描你自己的程序。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-4-5 13:33:53 | 显示全部楼层
楼主您好,已经用了一段时间,真心感谢提供这么好的工具。目前最大的一个期求就是支持选取的字符段可以鼠标拖拽移动。
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-4-5 19:20:56 | 显示全部楼层
minier 发表于 2024-4-5 13:33
楼主您好,已经用了一段时间,真心感谢提供这么好的工具。目前最大的一个期求就是支持选取的字符段可以鼠标 ...

感谢支持,这个功能会添加的,但要花点时间。
GITEE上有个同样的问题,是你提的么?
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-4-7 20:52:54 | 显示全部楼层
楼主您好!如何设置用4个空格代替tab
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-4-8 19:20:12 | 显示全部楼层
minier 发表于 2024-4-7 20:52
楼主您好!如何设置用4个空格代替tab


在配置文件中 config > editor > tab 把 mode 改为 space 即可。如下图:

回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-4-18 14:01:45 | 显示全部楼层

耗费了几周的时间才弄了个不甚满意的设备面板...
peripherals-pane.png
好想法有一堆,实现起来总是懒得动手,再加上没有比较通用的解决方案,要花很多时间来针对不同的设备实现不同的逻辑,暂时只有先搞成这样了

回复

使用道具 举报

20

主题

393

回帖

453

积分

高级会员

积分
453
发表于 2024-4-20 15:49:53 | 显示全部楼层
超级巨大的大佬
回复

使用道具 举报

0

主题

19

回帖

19

积分

新手上路

积分
19
发表于 2024-5-5 18:01:05 | 显示全部楼层
scu319hy 发表于 2024-4-18 14:01
耗费了几周的时间才弄了个不甚满意的设备面板...

好想法有一堆,实现起来总是懒得动手,再加上没有比 ...

目前这个面板是通用的吗?还是指示针对某个系列的芯片?
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-6 15:18:06 | 显示全部楼层
zhjr1220 发表于 2024-5-5 18:01
目前这个面板是通用的吗?还是指示针对某个系列的芯片?

是通用的,只要有对应的SVD文件就行。
不过新版本还没有发布出来,最近在忙其它事。过几天就更新版本
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-8 09:09:46 | 显示全部楼层
大佬,有qq群可以沟通交流吗?
回复

使用道具 举报

0

主题

2

回帖

2

积分

新手上路

积分
2
发表于 2024-5-8 10:33:01 | 显示全部楼层
                     
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2024-5-24 08:05:38 | 显示全部楼层
楼主好:建议增加对国民科技N32系列Cortex-Mx内核处理器的支持。用习惯EDX后,就想都移植到EDX上来开发
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-24 18:00:45 | 显示全部楼层
minier 发表于 2024-5-24 08:05
楼主好:建议增加对国民科技N32系列Cortex-Mx内核处理器的支持。用习惯EDX后,就想都移植到EDX上来开发

已经更新了个版本
https://www.ed-x.cn/versions/edx-with-arm-gcc-v13.2.1.7z
简单测试了几个工程,已经可以正常编译。不确定还有什么其它问题。
手上没有这个芯片,也没法验证调试的问题。
openocd应该不能调试,因为没有官方版本的openocd,我也没做芯片的映射
用jlink或pyocd应该是可以的。
回复

使用道具 举报

0

主题

10

回帖

10

积分

新手上路

积分
10
发表于 2024-5-25 08:52:33 | 显示全部楼层
厉害,支持一下
回复

使用道具 举报

7

主题

29

回帖

50

积分

初级会员

积分
50
发表于 2024-5-25 11:18:21 | 显示全部楼层
真的狠
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 13:12:28 | 显示全部楼层
scu319hy 发表于 2024-5-24 18:00
已经更新了个版本
https://www.ed-x.cn/versions/edx-with-arm-gcc-v13.2.1.7z
简单测试了几个工程,已 ...

很给力!
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 13:16:26 | 显示全部楼层
授权过期后将无法离网(联网检查更新后会获得新的临时授权)使用。  大佬,这个是不是有点苛刻啊~~~非要更新不可的??
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-25 14:44:32 | 显示全部楼层
wdliming 发表于 2024-5-25 13:16
授权过期后将无法离网(联网检查更新后会获得新的临时授权)使用。  大佬,这个是不是有点苛刻啊~~~非要更新 ...

感谢支持~~
如果都没人更新,我写新功能还有啥用?况且现在谁还没有网络
更新是自动的,一般授权至少有三个月以上。
也不需要用户做什么操作,有更新时只用点一下确定即可
这应该并不算苛刻吧?我看很多人不遗余力得去找破解/序列号也没觉得麻烦呢
回复

使用道具 举报

2

主题

43

回帖

49

积分

初级会员

积分
49
发表于 2024-5-25 15:12:56 | 显示全部楼层
scu319hy 发表于 2024-5-24 18:00
已经更新了个版本
https://www.ed-x.cn/versions/edx-with-arm-gcc-v13.2.1.7z
简单测试了几个工程,已 ...

大佬,toolsets文件夹感觉有点凌乱,可以参考mdk的文件夹组织形式,编译器丢在ARM(RISC-V)目录,厂家驱动丢在pack文件夹里,平时pack包都压缩起来,省点空间,活动的再解压出来,不是每个人或者每时都面对那么多厂家和型号。调试器相关的,现在无非就Ozone和OpenOCD,和ARM目录并列就好了。
WillyTerra大佬破解的armcc和armclang很好,建议打包个x86或x64的armclang进去(感觉c++的库用处不大,又占地方,我都是删掉的,对Linux的支持似乎也可以精简掉,另外,二进制文件可以upx压缩一下,不影响编译),用脚本NoLic一下就可以了,gcc的可以弄个risc-v和支持Linux开发的就行了。
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 16:30:47 | 显示全部楼层
scu319hy 发表于 2024-5-25 14:44
感谢支持~~
如果都没人更新,我写新功能还有啥用?况且现在谁还没有网络
更新是自动的,一般授权至少 ...

谢谢了!!目前使用非常好用
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 16:32:41 | 显示全部楼层
下午下载, EDX + GCC v14.1 + Binutils 2.41 + GDB v14.2 + CMake v3.29.3 +
Ninja-Build v1.12.1 + clangd v18.1.1  整合包(74MB)
提示404了!!
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-25 21:09:54 | 显示全部楼层
wdliming 发表于 2024-5-25 16:32
下午下载, EDX + GCC v14.1 + Binutils 2.41 + GDB v14.2 + CMake v3.29.3 +
Ninja-Build v1.12.1 + clan ...

感谢反馈,www.ed-x.cc上的链接的确有问题,之前上传失败了。www.ed-x.cn上是对的。
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-25 21:28:12 | 显示全部楼层
eeee 发表于 2024-5-25 15:12
大佬,toolsets文件夹感觉有点凌乱,可以参考mdk的文件夹组织形式,编译器丢在ARM(RISC-V)目录,厂家驱 ...

你的建议很好,但我真没有那么多精力去整理每个厂家的东西。现在基本上是保持原厂的大体目录结构删除没什么大用的东西,每个厂家的东西都在一个单独的目录里。原本只有stm32,后面越加越多。不用的东西你自己删除即可(主要是我懒得去打很多不同的包)。
编译器原本也是共用的,不会每个厂家一个版本。但有些厂家的框架要自己搞些专用东西,我也没办法。
armclang因为armlink的关系,目前还没弄完。后面会支持的。
关于c++,只是大家习惯了用c而已,实际上除了编译速度外,几乎没有哪个场景下c会比c++更好。我写的嵌入式代码都是c++,各种类啊,模板啊,还有各种c++23的特性。没任何禁忌,比用纯c省事多了。至于啥性能,尺寸之类的问题,只要你能熟练掌握编译器和语言特性,根本就不是问题。
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 22:39:49 | 显示全部楼层
scu319hy 发表于 2024-5-25 21:09
感谢反馈,www.ed-x.cc上的链接的确有问题,之前上传失败了。www.ed-x.cn上是对的。

谢谢!!居然有两个网址!!
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-25 23:09:18 | 显示全部楼层
本帖最后由 wdliming 于 2024-5-26 12:18 编辑

大佬,你好,我今天下载了edx-with-llvm-mingw-v18.1.5,但是无法修改调试运行所使用的工具链,被限定了,这个能优化吗?


尝试了这个edx-with-gcc-v14.1 这个版本,在工具链配置-》调试运行里面设置工具,也是无法生效的,这个文档没看到任何说明,能否解释下?
另外,我使用了//toolset:clang-mgw-i686-18 这个工具链之后,可以编译,但是无法正常运行。使用//toolset:clang-mgw-x86_64-18 可以正常编译运行,系统是win10 64bit

回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-26 13:46:34 | 显示全部楼层
wdliming 发表于 2024-5-25 23:09
大佬,你好,我今天下载了edx-with-llvm-mingw-v18.1.5,但是无法修改调试运行所使用的工具链,被限定了, ...

这个是BUG,嵌入式平台引入了太多工具链,工具链太多了以后会没法切换。我已经修正了这个问题。
这个包里的版本是新的,已经修正了此BUG:https://www.ed-x.cn/versions/edx-with-arm-gcc-v13.2.1.7z
另外,你说使用clang-mgw-i686-18编译后无法运行,有可能是使用了一些特别的运行时库。有什么现象或提示么?
回复

使用道具 举报

74

主题

1225

回帖

1447

积分

至尊会员

积分
1447
发表于 2024-5-27 09:02:49 | 显示全部楼层
scu319hy 发表于 2024-5-26 13:46
这个是BUG,嵌入式平台引入了太多工具链,工具链太多了以后会没法切换。我已经修正了这个问题。
这个包 ...

谢谢,我在gitee中已经回复你了
回复

使用道具 举报

32

主题

264

回帖

365

积分

高级会员

积分
365
发表于 2024-5-30 09:13:24 | 显示全部楼层
添加库的示例有没有
回复

使用道具 举报

1

主题

46

回帖

54

积分

初级会员

积分
54
 楼主| 发表于 2024-5-30 18:08:57 | 显示全部楼层
在水一方 发表于 2024-5-30 09:13
添加库的示例有没有

CMake工程就按CMake的方法来即可
添加库源码按这种方式就可以:


屏幕截图 2024-05-30 180451.png


如果是添加.a文件就更简单了,只要在链接那步添加.a文件的路径即可

如果是要添加的库是CMake工程,可以先add_subdirectory(xxx),再target_link_libraries(.... xxx)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-7 18:22 , Processed in 0.495438 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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