[国产单片机]

做个单片机代码生成器

[复制链接]
楼主: caoyiping2018
手机看帖
扫描二维码
随时随地手机跟帖
caoyiping2018|  楼主 | 2018-7-21 22:54 | 显示全部楼层
linqing171 发表于 2018-7-21 22:04
labview用的人还是挺多的。
IAR好像是也发布过一款。
很早的时候codevision AVR和silabs的config2也能生 ...

目前来看做的最好的是 STM32CubeMX ?

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-21 22:55 | 显示全部楼层
linqing171 发表于 2018-7-21 22:04
labview用的人还是挺多的。
IAR好像是也发布过一款。
很早的时候codevision AVR和silabs的config2也能生 ...

目前来看做的最好       的是 STM32CubeMX ?

使用特权

评论回复
shizaigaole| | 2018-7-22 10:13 | 显示全部楼层
一定要支持一下!!!!
万丈高楼平地起,
牛叉的软件一开始也是从小软件开始的。

使用特权

评论回复
shizaigaole| | 2018-7-22 10:15 | 显示全部楼层
不如做一个通用的和单片机无关的常用外设代码生成器,
然后再逐步集成代码

使用特权

评论回复
shizaigaole| | 2018-7-22 10:25 | 显示全部楼层
建议楼主,做成开放开源的框架,每个人都能往里面添加部件,楼主做一个审核者的角色,
这样的话项目才能做大,
不知楼主用什么语言开发,
可以考虑一下用python

使用特权

评论回复
shizaigaole| | 2018-7-22 10:31 | 显示全部楼层
可以做成可以自由导入部件的模式,
每个开发者都可以按照规定好的接口生成部件,
这些部件可以导入到楼主的主程序中,
这样才能无限扩充

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 11:49 | 显示全部楼层
增加了部分元器件的UI,接下来就要对这些器件赋予电器特性,和链接关系算法的编写了。
还有连线算法的编写。
360截图16230312101142140.png

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 11:57 | 显示全部楼层
shizaigaole 发表于 2018-7-22 10:25
建议楼主,做成开放开源的框架,每个人都能往里面添加部件,楼主做一个审核者的角色,
这样的话项目才能做 ...

用的C++ 和 C# 组合开发,C# 做界面,c++做核心算法。原因是c# 做界面非常方便,c++做核心算法是效率高。
用 python 的原因是什么。

使用特权

评论回复
vsfopen| | 2018-7-22 12:21 | 显示全部楼层
我们也想做这个,只是一直没人手。这种用来实现RAD的开发

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 12:33 | 显示全部楼层
vsfopen 发表于 2018-7-22 12:21
我们也想做这个,只是一直没人手。这种用来实现RAD的开发

你们想做成什么样的

使用特权

评论回复
ddllxxrr| | 2018-7-22 15:42 | 显示全部楼层
这个不是我说你,这个实现不了,因为代码是灵活的,千变万化的

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 17:44 | 显示全部楼层
ddllxxrr 发表于 2018-7-22 15:42
这个不是我说你,这个实现不了,因为代码是灵活的,千变万化的

好  的 了解

使用特权

评论回复
caijie001| | 2018-7-22 21:22 | 显示全部楼层
看看还是可以的,但是用起来没必要啊,因为工程师有自己的代码库了。

使用特权

评论回复
vsfopen| | 2018-7-22 21:45 | 显示全部楼层
本帖最后由 vsfopen 于 2018-7-22 21:50 编辑
caoyiping2018 发表于 2018-7-22 12:33
你们想做成什么样的

我们的MCU开发构架是模块化的构架,用这种UI正适合,用来配置模块的属性和事件,然后配置模块的连接关系,以及和MCU的连接关系。

当然,我说的模块可以是各种模块,比如一个MCU可以是一个模块。然后一个串口流模块,连接到MCU的一个串口上,然后一个调试模块,接到串口流模块。这样配置,实现的功能就是系统的调试信息,都通过串口流输出。

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 23:40 | 显示全部楼层
caijie001 发表于 2018-7-22 21:22
看看还是可以的,但是用起来没必要啊,因为工程师有自己的代码库了。 ...

我的希望是能覆盖市面上50%是应用不需要手动写代码。直接拖拽图片生成代码就可以完成项目开发,同时带有编译功能,能及时看到软件模拟粗来的效果。当然这是有难度度,我的工作量也非常巨大。

使用特权

评论回复
caoyiping2018|  楼主 | 2018-7-22 23:53 | 显示全部楼层
vsfopen 发表于 2018-7-22 21:45
我们的MCU开发构架是模块化的构架,用这种UI正适合,用来配置模块的属性和事件,然后配置模块的连接关系, ...

任何mcu多是可以模块化代码,其实比较老的工程师和习惯比较好的工程师,都有自己的小库。用的时候就是复制一下。
其实我的软件也只是充当一个老工程师的角色,只是用图标的形式代替复制这个过程。
唯一不同的是我的软件可以看到仿真效果。想要做好还是需要时间,因为每个细节多需要我亲自去验证,这么多mcu,这么多的外设。课件工作量是巨大的。
对于优秀的老工程师这可能就是个摆设,但是对于新工程师是个福音,毕竟市面上老的工程师比较少,
还有不是本专业的工程师,在其他领域的工程师,这个群体还是有很大部分的人。我的软件是希望这部分群体的人,在对单片机不太属性的情况下也能像老工程师一样迅速的使用好单片机。
我的压力也更加大,需要保证每个组件和每一行代码仿真和实际电路保持高度一致。这个验证过程的工作量也是非常巨大的。
当然我也希望老工程师经验丰富的工程师加入进来,开放第三方自定义模块库的功能。老工程师能分享他们的经验。

使用特权

评论回复
caijie001| | 2018-7-23 00:14 | 显示全部楼层
caoyiping2018 发表于 2018-7-22 23:40
我的希望是能覆盖市面上50%是应用不需要手动写代码。直接拖拽图片生成代码就可以完成项目开发,同时带有 ...

有想法,,,

使用特权

评论回复
eydj2008| | 2018-7-23 07:58 | 显示全部楼层
直接生成项目了  ,  其它的 可以先做一些外设备库吧  那种通用的 还是有很多人用的

使用特权

评论回复
linqing171| | 2018-7-23 08:49 | 显示全部楼层
caoyiping2018 发表于 2018-7-22 11:57
用的C++ 和 C# 组合开发,C# 做界面,c++做核心算法。原因是c# 做界面非常方便,c++做核心算法是效率高。 ...

很早的时候都是C++,国产的STC的是C++;
几年前也有一些C#的,比如ADI的PLA tools就是C#,不过那个代码实在不敢恭维。
这两年用过的python为多,有一款特别好用的,很大,可惜是行业专用芯片,有NDA,你见不到。你可以看一下Silabs的simpcity studio,基于eclipse的开发环境,里面的代码生成器是python写的。

没有为什么。我还是习惯了用C#,正则表达式等文字处理工具强大,用python加C++的话C++部分的数组越界和野指针等问题还是难以解决。纯python只能呵呵了。C#的话没有必要调用C++了。

使用特权

评论回复
评论
shizaigaole 2018-8-16 13:51 回复TA
既然确定要用C++,那就别整什么C#,用QT做界面也很easy,还能编译成linux下运行。 
linqing171| | 2018-7-23 08:51 | 显示全部楼层
本世纪刚刚开始的时候,做FPGA用的MAXPLUS II 里面画原理图,能编译成AHDL。 就类似PCB软件的SCH生成net一样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则