返回官网官方微博

麦步社区-论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: MAI 表盘
楼主: compilelife
打印 上一主题 下一主题

希望官方开源模拟器IDE

[复制链接]

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

跳转到指定楼层
楼主
发表于 2018-6-22 07:28:14 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
说实话Visual MWatch不是一点难用。希望能开源,或单独给我源码改造下。

缺点:
1. 代码编辑无语法高亮,无行号……; 应该直接借助其他强大的编辑器即可
2. 编译错误很难看,基本不知道为啥出错
3. 用外部编辑源码后会被IDE覆盖……
4. 源码居然要放到IDE才能编,反人类……
5. 不支持mac,wine还得搭半天,还各种问题

麦步对于开发者而言可玩性是我见过最高的,但是开发工具这……80年代的么……
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信 WeiboWeibo
收藏收藏1 分享分享 顶 踩

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

沙发
 楼主| 发表于 2018-6-22 09:58:41 | 显示全部楼层
反编译,初步摸清了编译过程,还没验证。分享下,按这个步骤理论上可以抛开IDE,自己命令行生成OUT.MAI和mw.exe了。

不过从IDE的日志输出也基本能看的出来,官方应该没意见吧


0. 清理
=====================
del .\\mbcc\\bin\\mw.exe
del .\\mbcc\\bin\\OUT.MAI
del OUT.MAI
del 1.log
del maibu_res.h
del user.mai
del *.o

1. pack 生成res头文件
=====================
pack.exe
copy .\\build\\maibu_res.h maibu_res.h

2. gcc 生成.o maibu_code
=====================
del tmp.log
del .\\build\\maibu_code
del OUT.maibu
arm-none-eabi-gcc -c -mthumb -mcpu=cortex-m0  -I .\\SDK\\
arm-none-eabi-ld -r .\\*.o -o .\\build\\maibu_code
arm-none-eabi-readelf -a .\\build\\maibu_code> 1.log

3. pack 生成OUT.MAI
=====================
del *.o
pack.exe
copy OUT.MAI .\\mbcc\\bin\\OUT.MAI
copy maibu_res.h .\\mbcc\\include\\maibu_res.h

4. mw.exe
=====================
.\\mbcc\\bin\\gcc.exe -I.\\mbcc\\include -L.\\mbcc\\lib -o .\\mbcc\\bin\\mw.exe -DLINUX -DWINDOW -DNEW -lpthread -lm -lmaibu -lwsock32 -lcurl -lcurldll

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

板凳
 楼主| 发表于 2018-6-22 13:13:10 | 显示全部楼层
qs100371 发表于 2018-6-22 11:53
彩屏版的编译直接是批处理。放到黑白版一样可以。

多谢提醒,开始确实没注意到。

看了下,还是不够灵活。并没有解决我的痛点。

现在,我已可以实现这种工作方式:
1. 在VSCODE编辑、编译代码,生成OUT.MAI,生成mw.exe(用于模拟运行)
2. 采用自己熟悉的交叉编译的方式工作,哪一步出错清晰明了

还差一个模拟器抠不出来~

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

地板
 楼主| 发表于 2018-6-23 00:46:16 | 显示全部楼层
终于,差不多搞定了。

先放效果图:

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

5#
 楼主| 发表于 2018-6-23 00:53:26 | 显示全部楼层
windows下已经可以了,mac无力呀,不想跑wine。

实现效果:
1. 基本全程在vscode开发,模拟的时候还是得开Visual MWatch(只要开起来就OK,只用到他的模拟器)
2. 源码、编译输出文件、ide三者分离(混在一起对于有代码洁癖的人是折磨)
3. 用Makefile把任务分割成: 准备(生成res.h)、编译、打包、模拟,根据所在开发阶段只需要跑特定任务,避免一堆错误找不到自己要的信息

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

6#
 楼主| 发表于 2018-6-23 10:04:24 | 显示全部楼层
Haichen 发表于 2018-6-23 07:51
求试用,晚会儿测试下

多谢关注。

我只是想方便自己开发而已。
改造的还不是很完善,后续也不一定会发布我的改版。

我把刚完成的工作整理下,分享给你吧。 face_test.rar (48.35 KB, 下载次数: 312)

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

7#
 楼主| 发表于 2018-6-23 21:42:36 | 显示全部楼层
Haichen 发表于 2018-6-23 21:16
多谢分享,由于没有nmake的源码,只测试了下使用,出现两个错误分别是1064和1073如下,什么情况?另,vsco ...

理论上是可以调试的。
mw.exe是用mbcc下的gcc编译的,可以添加-g选项添加调试信息,然后用gdb调试。

tasks.json可以自己添加,和直接执行命令行的差别不大。

我还没基于这个工具开发过应用,折腾这个也是为了自己方便开发,所以现在还不考虑公布给大家使用,也可能不会提供太多的帮助。毕竟精力有限嘛。

关于你的nmake问题,可能是没有在工程目录下执行。

nmake查找makefile默认是在工作目录下(也就是你的"C:\Users\morining"下没有Makefile)

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

8#
 楼主| 发表于 2018-6-23 21:48:36 | 显示全部楼层
因为我是按经典的交叉编译的开发方式整理适合我的开发工具。

所以如果也想了解的话,最好先过一遍gcc+makefile+gdb+交叉编译,基本上对官方的IDE原理和我的Makefile原理就很熟悉了,也就可以开心地自己定制了

官方的IDE思路是做傻瓜式,一键操作,不过便捷不够,定制化也不够,所以被各种嫌弃……
我的思路是各种灵活、可定制、完全可控,比较适合已经熟悉嵌入式开发的同学

真要搞IDE的话,得花很大精力,既要简单易用容易入门,还要支持高度可定制化,麦步都凉了,搞起来不划算。

2

主题

11

帖子

328

麦力

精华
0
阅读权限
20
在线时间
12 小时

9#
 楼主| 发表于 2018-7-12 23:26:54 | 显示全部楼层
本帖最后由 compilelife 于 2018-7-12 23:28 编辑

借助vscode开发比官方IDE舒心多了。后来还写了一个简易的xml配界面的工具。

分享下基于vscode开发这种方式,我写的一个小游戏——24点。

附件包含:
1. 24点工程源码。直接在里面用nmake编译、打包,告别万恶的官方IDE(参考上一个附件)
2. template工具,创建工程模板,无需写一行代码即可运行,专注写必要的代码才是王道
3. uiconvert工具,从自定义的xml格式生成界面代码,不写重复代码,分离界面和业务

友情提醒:只是想分享一下,秀一波操作,不保证维护附件中的工具,也不保证会及时回答问题~




借助vscode开发.zip

1.91 MB, 下载次数: 434

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

本版积分规则

QQ|Archiver|手机版|小黑屋|麦步官方论坛 ( 粤ICP备12052190号  

GMT+8, 2024-5-6 02:24 , Processed in 0.080157 second(s), 27 queries .

Powered by Discuz! X3.2

© 2012-2021 Comsenz Inc.

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