SaltyFish's Bowl

学习了一段时间的单片机,虽然Keil搞单片机是最常见的方案,但总是感觉Keil用着很不习惯
在翻了无数次车之后,终于在跑起来了,特此记录一下下吧。。。。

前言

众所周知,Keil下搞单片机是最好的选择,但是用起来的体验么。。。。。
凡事就是图一个折腾。于是乎,Let’s Go!

要进行的工作

  1. 安装sdcc
  2. 安装Visual Studio Code
  3. 安装烧录程序
  4. 安装ttl下载器的驱动

sdcc简介

sdcc (Small Device C Compiler) 是一个应用于单片机的一个交叉编译器,其官网上的解释是这样的

SDCC is a retargettable, optimizing Standard C (ANSI C89, ISO C99, ISO C11) compiler suite that targets the Intel MCS51 based microprocessors (8031, 8032, 8051, 8052, etc.), Maxim (formerly Dallas) DS80C390 variants, Freescale (formerly Motorola) HC08 based (hc08, s08), Zilog Z80 based MCUs (z80, z180, gbz80, Rabbit 2000/3000, Rabbit 3000A, TLCS-90), Padauk (pdk14, pdk15) and STMicroelectronics STM8. Work is in progress on supporting the Padauk (pdk13), Microchip PIC16 and PIC18 targets. It can be retargeted for other microprocessors.

为什么不放中文,因为英语水平太差

需要注意的是,sdcc与Keil的语法是有一些不相同的地方的,下面是一些不相同的地方供以参考

1
2
3
4
5
6
7
8
9
SDCC                    Keil 

__sbit __at 0x94 a sbit a=P1^4
0x80 P0^0
0x90 P1^0
0xA0 P2^0
0xB0 P3^0
P1_1 P1^1
__interrupt interrupt

遇事不决双下划线

正式步骤

MacOS

安装sdcc

MacOS下安装sdcc是非常简单的,使用brew一键安装就ok 了

1
2
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"      #安装brew
brew install sdcc #安装sdcc

编译时,只需要使用sdcc sourcefile.c即可完成编译

安装配置VSCode

安装完了编译环境,自然也需要一个代码编辑器。在这里,我选用了Visual Studio Code来作为编辑器

  1. 进入官网,下载并安装

https://kod.erf172.tk/index.php?user/publicLink&fid=a8bct-6J20tEft5b01PBGgXutELBUbdiiFZ64FEI8jLFG6aKJuXxlK9rc4BbPUl8T8rdvA3t206mjc5450xvRnIT9du0D6hIYhsakCER2CUQFzn29PZbQ4-1h8l6puDliMsRgF7Cw3NPqIzZqpAkFwzLAyhl&file_name=/QQ20190725-205707.png

  1. 安装完成之后添加C/C++扩展
  1. 按下Shift+Command+P,选择C/C++:编辑配置,在includePath添加sdcc的头文件地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"configurations": [
{
"name": "Mac",
"includePath": [
"${workspaceFolder} /**",
"${workspaceFolder} /include",
"/usr/local/Cellar/sdcc/3.9.0/share/sdcc/include/mcs51",
"/usr/local/Cellar/sdcc/3.9.0/share/sdcc/include/**"
],
"defines": [],
"macFrameworkPath": [
"/Users/fzx172/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks"
],
"compilerPath": "/usr/bin/clang",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}

https://kod.erf172.tk/index.php?user/publicLink&fid=c0874AMQVJ_io4VP-CdM9rzO6gGggUgRvzGL8oVqaEZwlN0P4ovpmPk_qxQrus0Q86dYb3SSIFTSO2bFaKvIy5lOpc7f_kH35lGJTSkNyzJ275T7wNH9aBn4oJHr-KjV8y1n7aqyqfz9ld45_M1zMJF-Ql_H&file_name=/QQ20190726-081616.png

安装Stcgal

编辑器和编译器都解决了,下面应该解决下载程序

  1. 安装Python3
1
brew insall python3
  1. 修改python3为系统默认版本

打开.bash_profile,添加以下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# python_switch
function python2_switch {
sudo unlink /usr/bin/python
sudo ln -s /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /usr/bin/python
chmod a+x /usr/bin/python
echo -e "Python2已部署"
}


function python3_switch {
sudo unlink /usr/bin/python
sudo ln -s /Library/Frameworks/Python.framework/Versions/3.7/bin/python3 /usr/bin/python
chmod a+x /usr/bin/python
echo -e "Python3已部署"

}

https://kod.erf172.tk/index.php?user/publicLink&fid=dee8ZMj6Uv-5k7V4TpMJLiZaMhZOk80B90ug26dzQGmcLFZnWnt03TtmdHThg3pZ7qqAyU6S_Qyg67EfiDLbHI2TLH1Wj_Jqt1my31a2u68WSO_fRWWB_I2_vHi6tvJtRtiUPEWpM2fRO_W_2PMHjsX5zRrg&file_name=/QQ20190726-083455.png

保存后执行source ~/.bash_profile,即可快速进行python版本切换

  1. 安装stcgal

执行pip install stcgal即可安装

安装ttl下载器的驱动

PL2303

https://kod.erf172.tk/index.php?user/publicLink&fid=29a6Q9t1uQQlHM0ZXbDGP4qozgXPrvlP3KwTFVmUoJ-HreaYrguilkEEGEPnTBPIg1NBpdWeC2rL35vkDU1b0ZsTWpKI1IexrYs-ygdhs8Ee7Sq3zVRujF9Q2Q1UiHraV7hk0Y_1_SyM8Kaz6eiCb0wzILM6&file_name=/QQ20190725-212733.png

CH340

https://kod.erf172.tk/index.php?user/publicLink&fid=08af0yXzI5J7f2Lh4h6bR6DGGBmeDZT67NJiSJFX3-848sEOK6i2jIk_1xKXRaaPM_MHfqroYM0EMUDgzZ7G9zX71rnLNmC-ltE7Md4TkuA2ioiAUmVJ2D-TzyKNJlQ1yA2jCWdVYd8QMYpG5eVWJx2JNO5t&file_name=/QQ20190725-215326.png

串口调试工具

我使用了cutecom作为串口调试的工具

下载cutecom的源码并编译

1
2
3
4
5
brew install cmake qt       #cutecom编译需要cmake以及qt
git clone https://gitlab.com/cutecom/cutecom.git
cd cutecom
cmake .
make -j20

稍等片刻即可编译完成

https://kod.erf172.tk/index.php?user/publicLink&fid=84a07eQh1W0ER6c0M-q3483vIkvHM0N08nL0uqcHj6WX-iGB-oIhzKMqbib_YZBpN2DTc4pgnYqNbVHBnmLGSSCFR_aetOAff2XCm8WzKYnZqSZfuWXHaDcAgK8Yz4WMOggdy6wHR20neXwyYKMf8hInA0PoVHFqu-kEvQ&file_name=/QQ20190926-200420.png

到此,macOS的51开发环境便搭建完毕

Windows

安装sdcc

Windwos下可以不使用包管理器,直接前往SourceForge下载安装即可

https://kod.erf172.tk/index.php?user/publicLink&fid=857bcePze5-eDwMtJI_DK7bKw-niDPgcxOeCBFl9y2RXVphG_ivVSFg2FJLs_xIG-VvVNj16lIunW7kZ4CF3Q7ssm0fw-uTR4uO4eYNvuLsi3VwZXjok2gSBXx-WxSr61QFGRVxhsW-nbCJ6_BPKRCdagA8W&file_name=/QQ20190814-175410.png

安装VSCode

  1. 进入官网,下载并安装即可

  2. 安装完成之后添加C/C++扩展

  3. 添加头文件

按下Shift+Ctrl+P,选择C/C++:编辑配置,在includePath添加sdcc的头文件地址

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Program Files/SDCC/include",
"C:/Program Files/SDCC/include/mcs51",
"${workspaceFolder}/include"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}

https://kod.erf172.tk/index.php?user/publicLink&fid=ba446KW22Gaq6qErA8AmpIUMZmo8WJ_iEacws9jhvPssxwECpPjTE7vpGc3FuhDDO6gZPmklLVyYlyARn1XWVDU-QZ6IUoSdgmWhRvtYmoXRw1VEqVj0JfwQ2TTVHz9zaNPriUl9G2LkaY-fVkoEILXWaYse&file_name=/QQ20190814-181851.png

下载烧录程序以及下载器驱动

windows下官网有提供烧录工具和驱动,所以直接下载即可

https://kod.erf172.tk/index.php?user/publicLink&fid=06451eJroZsL_xnd5cduDfD-60078Rh_Fe-jGSC0_2epm4sOliRMSn9MRCpLr3FSzQvTzYIB7UdqpE-8HQLTADG3-LTrKiGQOQ0hUKq1ezFtk-0IYy-s6tplrAFk-R6yrn-pEpiwhXUzNac1Q6lLYeAUlHxZzOYg0VerAPqMte3jzstGlzpNecs&file_name=/%E5%B1%8F%E5%B9%95%E5%BF%AB%E7%85%A7%202019-08-14%20%E4%B8%8B%E5%8D%886.56.21.png

这样,Windows下的开发环境便搭建好了,Enjoy!

安装PlatformIO

是不是感觉,上面的操作过于繁琐了,那么,有没有一种一键式的安装方式呢?

当然有啦。

PlatformIO是一款可供跨平台的代码构建器、集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等等等等单片机。也就是说,只要你安装了一个PlatformIO,就不用安装各种IDE了 Anesome

安装

安装方法也很简单,下载好VS Code之后,在扩展界面中,搜索PlatformIO安装即可。稍等片刻重启VS Code即可

https://kod.erf172.tk/index.php?user/publicLink&fid=7db6jmvkvnpcJztYG-pQ3xmhueWjiQu0n4OYi8Z--5yL8pVgrIEhgg9viyHN_TtbOiNNGMpG_hjjUQdsI3HcZtVnr1SSuDk2bmQeWokIZNHVNtBfzu-MxdWNO7-d0WKyPGiS_Yhoif1PIWbkcpjsULFpukYBxRhF5NFrqQ&file_name=/QQ20191013-135503.png

后记

折腾了半天,终于将环境折腾好了,感觉一切都好,就是头发少

我爱单片机,单片机是我快乐

可不可以的话扫一下右边的码支持一下,我会挖更多的坑的


扫码领红包

 评论




博客内容遵循 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

本站使用 Volantis 作为主题 , 总访问量为 字数统计:26.6k。 载入天数...载入时分秒...