暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

小白关于IDE的问题

RYMCU 2021-03-27
545

如何选择 IDE?

IDE 分类

首先,我所知能够进行 MCS-51 开发的编辑器有以下三种:

微软 Vscodejetbrains Clionkeil5

IDE 差别

以上编辑器如何作出选择呢?

首先 Vscode
Clion
 都是基于 PlatformIO
 插件,集成了一些关于 51 单片机的配置,C
 语言必要头文件等,但 Vscode 网络要求较高,Clion 是一款专门写 C/C++ 的编辑器需要自己折腾一下才可以使用,过程中一定会遇到问题,如有问题,请点击下方原文链接
进行评论,我会一一作答。
其次 keil5
 相对于Vscode
Clion
来说更加专业和成熟,基本上下载安装完成就可以进行开发测试了,网络上教程也比较多,新手适用。
最后,无论选择何种编辑器,都请不要瞧不起任何其他的编辑器和使用其他编辑器的人,这和争论 php是不是世界上最好的语言
 一样,非常可笑,工欲善其事必先利其器,但利何种器还不是你说了算吗?

我还在用记事本写 MCS-51 代码

抽象理解编程开发

环境

什么是编程 ? 简单的理解成: 使用代码操作计算机自动做一些事情。

计算机如何理解你写的代码呢? 需要一个中间层做转换
,最后将你写的 abcdefgxxxxx
 转换成汇编语言
转换成 0
 和 1
 这样它就会理解了。

如何做中间层转换呢? 比如 A 说中国话,B 说英语,那么为了达到 A,B 相互理解,我们找即会翻译英文又会翻译中文的 C 来帮忙就好了。C 的工作,就类似于我们所谓 装环境
 中的这个 环境
 所做的事情。

比如,Java 拥有 Jvm,Golang 拥有 go build,C 拥有 gcc,Typescript 拥有 tsc,这些语言编译工具做的工作就好比 C 一样。

语言

和日常生活不同的是,我们出生自带一门语言,而对于计算机我们不会说话,所以要先学说话,比如 C 的输出是 print()
,Typescript 的是console.log()
,学习哪种说话的本领,哪门编程语言,看你自己喜欢什么就学什么好了。

一门编程语言无非是 特性
流控
变量
类型
运算
常用代码库
代码库下载
 这些知识。

好了,现在我们学会了一种说话的方式,又拥有了转译的工具(环境
),那么我们在这个环境中就可以随意和计算机进行对话了。

过程抽象

以上抽象出两个基本步骤:

获取环境学习语言

我如何进行开发

我不会分解出第一步如何做第二步如何做,这样的学习本身没有意义,只分享我思考问题的过程:

MCS-51需要什么环境,谁做转译?用什么语言去写呢?因为不是计算机本身,如何把写好的东西放到板子里呢?

编译工具

第一个问题,我找到了 SDCC
 并查阅了 SDCC
 的相关资料


SDCC


于是乎我就明白了,MCS-51
 是用 C 语言写的,用 SDCC 进行转译,然后我去安装了 SDCC,最后拿到了计算机能理解的文件

前两个问题解决了,那么思考第三个问题

传递程序到板子里

百度给出的答案是 stcgal
,于是乎就去找如何安装 stcgal
,以及 stcgal
 如何使用


stcgal


三个问题都解决了,至于用什么 IDE (编辑器)还重要吗?用记事本就可以写了,但是写着写着觉得记事本背景太白了,就换成了其他的编辑器


vim



如图,这是我用 vim 自己搭的一个编辑器,纯写代码,至于 转译
,写文件到板子里
 基于 sdcc
stcgal
 用了最原始的方法

用 sdcc 转译 (为了好理解所以说转译,确切的叫编译):
sdcc ./src/led/led1.c -o /Users/ferried/Projects/mcs51/out/out.ihx

用 stcgal 刷程序:
python3 ./tool-stcgal/stcgal.py -a -P stc89 -b 9600 -p /dev/tty.usbserial-14120 out/out.ihx

结尾

以上就是针对于编程和IDE的浅解,有问题下方留言。

来点启发

思考一下🤔

Question:
stcgal 是 python 写的,利用 串口通信库
 将文件刷入了单片机中 那么,假如我不喜欢 python,那么如何用自己喜欢的语言去实现 一个 stcgal
呢?

Answer:
是不是你既要会 python
 又要掌握你喜欢用的编程语言
串口通信库
,然后以你自己为编译器(先用 python 理解 stcgal 实现方法,在用你喜欢的语言和理解来的实现方法结合,写出自己的 stcgal)
,将 python stcgal
 的功能搞到你喜欢的编程语言中去呢,这个就是所谓的移植

文章转载自RYMCU,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论