矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
楼主: scu319hy

给玩stm32的朋友分享个开发工具

[复制链接]
     
发表于 2024-1-11 18:25:09 | 显示全部楼层
本帖最后由 iffi123 于 2024-1-11 18:27 编辑
scu319hy 发表于 2024-1-11 17:27
MDK5如果和其它厂家的产品比起来,除了Segger embeded studio,应该就是它最容易上手了。
但老掉牙的交 ...


mdk不仅仅能编辑,还能编译,仿真,在线调试,烧写全集成IDE,支持多厂家多系列芯片,而且经过大量使用,也是得到广泛验证的, 这一点非常非常重要

恕我直言,对于开发stm32, 目前还没别的软件能取代它(除了IAR,这个我没用过不知道和mdk比谁更好)
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-11 19:22:53 | 显示全部楼层
本帖最后由 scu319hy 于 2024-1-11 19:29 编辑
iffi123 发表于 2024-1-11 18:25
mdk不仅仅能编辑,还能编译,仿真,在线调试,烧写全集成IDE,支持多厂家多系列芯片,而且经过大量使用 ...


你说的这些功能是个集成开发环境都支持啊
没有集成开发环境,用命令行工具也一样能做这些事
支持啥芯片也无非是用了哪个厂家提供的SDK而已

不过用啥环境是开发者的自由,你可以按自己的喜好来选择工具
就像你不能禁止我说MDK不好用一样,这也是我的自由
MDK虽然在以往的嵌入式开发工具中还算是不错的,但它确实不好使啊
至少我感觉segger embeded studio用起来就比它要顺手多了

IAR更垃圾,从编辑状态切换到调试状态,在我的i7 13700k上都能卡到要死
动不动整个环境就彻底卡死了,也不知道他们哪来的勇气收费
回复 支持 反对

使用道具 举报

     
发表于 2024-1-12 09:37:16 | 显示全部楼层
linux 用户路过,看文档一堆熟悉的东西,结果不支持 linux
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-12 12:04:12 | 显示全部楼层
dukedz 发表于 2024-1-12 09:37
linux 用户路过,看文档一堆熟悉的东西,结果不支持 linux

想支持linux不容易啊,我上周写的代码运行一切正常,这周更新个系统就不能运行了。
折腾我半天,最后是系统对wayland的支持有更新,升级wayland的spec后才又能跑。
只能慢慢折腾了,说不定哪天就能支持linux了,欢迎随时关注
回复 支持 反对

使用道具 举报

     
发表于 2024-1-14 00:56:36 | 显示全部楼层
纯C小白,STM32环境编译Cmake,把main.cpp删了换成main.c就fail了……

补充内容 (2024-1-14 10:43):
知道了,因为CubeMX生成的SRC中有几个文件(stm32f1xx_hal_msp.c stm32f1xx_hal_conf.h system_stm32f1xx.c)与工具链路径中自带的重复了……

补充内容 (2024-1-14 14:35):
发现stm32f1xx_hal_conf.h也不能用CubeMX生成的代替,因为重新加载后会生成timer和rtc的hal文件,如果hal_conf里没有ENABLE就会导致timer handle和RTC handle没有定义,编译报错。

补充内容 (2024-1-14 14:37):
有一点比较奇怪就是明明添加了stm32g0和g4的库和支持,新建工程时却没有
回复 支持 反对

使用道具 举报

     
发表于 2024-1-14 04:26:50 | 显示全部楼层
俺是用 vscode 做编辑器,mdk 编译、调试,目前还没发现更好的方式
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-14 15:33:44 | 显示全部楼层
李斵冰 发表于 2024-1-14 00:56
纯C小白,STM32环境编译Cmake,把main.cpp删了换成main.c就fail了……

补充内容 (2024-1-14 10:43):

问题1,main.cpp变为main.c会失败,是因为cmake生成的缓冲,改名以后需要更新。点击 CMake>更新缓存 即可。后面我会再优化一下,针对这种情况,自动更新缓存。

问题2,不支持CubeMX工程的问题。目前的确不支持CubeMX的工程。
主要原因是我觉得CubeMX生成的工程垃圾太多,局限性也太大。所以目前的工程结构是我自己弄的,会有一些自动的功能。
比如,启用了HAL,会自动添加HAL相关的文件,启用了Segger RTT会自动添加RTT相关的东西。
后面有空的话还计划弄个类似于CubeMX但更通用的工具/框架,不仅仅局限于STM32的东西。
但这个目标还很远,毕竟嵌入式开发我也只是玩一下而已。
不过,目前不支持CubeMX生成的工程,会导致很多习惯于这种工具的朋友没法使用。
后面会添加一个新的模式,支持直接使用CubeMX生成的工程结构。

问题3,stm32g0和stm32g4是我写漏了,因为手上只有一些老板子,添加工程向导时漏掉了,Uxx也漏掉了。已经补上了。
另外,Wxx,MPxx系列似乎和传统的Fxx系列相比,有比较大的变化,我没有用过,添加上大概率也不能正常工作。就暂时先不添加了
你现在想建立G系列的工程,可以找到project_wizard.lua,按如下代码在“stm32l5xx”后添加添加其它几个系列:
  1.                 ["stm32l4xx"] = {
  2.                         {"STM32L4xx"};
  3.                         {};
  4.                 };
  5.                 ["stm32l5xx"] = {
  6.                         {"STM32L5xx"};
  7.                         {};
  8.                 };
  9.                 ["stm32g0xx"] = {
  10.                         {"STM32G0xx"};
  11.                         {};
  12.                 };
  13.                 ["stm32g4xx"] = {
  14.                         {"STM32G4xx"};
  15.                         {};
  16.                 };
  17.                 ["stm32u5xx"] = {
  18.                         {"STM32U5xx"};
  19.                         {};
  20.                 };
  21.         };
复制代码
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-14 15:42:22 | 显示全部楼层
scoopydoo 发表于 2024-1-14 04:26
俺是用 vscode 做编辑器,mdk 编译、调试,目前还没发现更好的方式

用你习惯的工具并不影响你给我提建议嘛
多提几个建议,这个工具不就可以按你喜欢的方式去工作了嘛?
我相信,你对现在的工作方式肯定是有很多不爽的地方的,否则你也不会把几个东西组合起来用。
无非是因为你没法给他们提意见,只能自己将就着几个工具凑合罢了。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-15 14:06:55 | 显示全部楼层
李斵冰 发表于 2024-1-14 00:56
纯C小白,STM32环境编译Cmake,把main.cpp删了换成main.c就fail了……

补充内容 (2024-1-14 10:43):

已经支持CubeMX生成的工程了
屏幕截图 2024-01-15 140445.png

只要打开CubeMX生成的工程目录就会自动创建CMakeLists.txt
回复 支持 反对

使用道具 举报

     
发表于 2024-1-17 10:01:34 | 显示全部楼层
iffi123 发表于 2024-1-11 16:18
mdk的编辑器很好用阿,为什么会说难用

MDK的编辑器一点儿都不好用,离不开MDK还是debug这个功能。
回复 支持 反对

使用道具 举报

     
发表于 2024-1-17 10:09:40 | 显示全部楼层
本帖最后由 iffi123 于 2024-1-17 10:11 编辑
bis 发表于 2024-1-17 10:01
MDK的编辑器一点儿都不好用,离不开MDK还是debug这个功能。


对我够用了,写点C从没觉的编辑器要多强大的功能

还是提高自己编程水平和排错能力为妥
回复 支持 反对

使用道具 举报

     
发表于 2024-1-19 10:52:46 | 显示全部楼层
作者能共享自己的成果,顶一下。
回复 支持 反对

使用道具 举报

     
发表于 2024-1-19 14:11:02 | 显示全部楼层
请教个问题,我的MDK5.26在做字体缩放的时候,刷新很缓慢,是什么原因呢?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-19 14:42:25 | 显示全部楼层
代洪波 发表于 2024-1-19 14:11
请教个问题,我的MDK5.26在做字体缩放的时候,刷新很缓慢,是什么原因呢?

你如果是说MDK编辑器环境慢,那是正常的。IAR比它还慢。
原因可能有两个
1. MDK的代码写的太烂
2. 你的电脑不符合MDK的性能需求

我觉得原因1的影响会更大些,要不为啥我说它不好使呢,性能差也是不好使的因素之一。
MDK的文本编辑器用的是scintilla,原生的scintilla性能是非常好的,不比我的编辑器差。被MDK用慢了也怪不了别人
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2024-1-19 14:47:23 | 显示全部楼层
bis 发表于 2024-1-17 10:01
MDK的编辑器一点儿都不好用,离不开MDK还是debug这个功能。

没觉得MDK有啥调试功能出彩的呢?
如果你说的是设备寄存器的话...那的确是有点用
但也只是自动添加了对几个设备地址的符号监视功能而已
随便一个调试器都能干这个事,回头我也加个自动的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-5 18:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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