准备工作:
编译器sdcc,在 http://sdcc.sourceforge.net/ 下载
学习sdcc的好处:
1、开源编译器,我用了10年了。
2、热门核基本都支持,其中包括51,pic,stm8。像低成本的国产stc,国产pic克隆核都能用,只用装一套软件。对于使用fpga软核的人,基本都是热门软核。
3、编译器+notepad+makefile的方式,电脑少装很多东西。减少垃圾。:)
缺点:
1、调试稍麻烦。对于使用串口调试可忽略。
2、有点硬核,刚开始丢掉ide,的确有点难受
3、经比较,sdcc代码比keilc51,iar for stm8 略大些。
在stm8上,sdcc有高人,现在敢说fastest了。
至于51,keil c51 是最好的。
sdcc 有--opt-code-size和--opt-code-speed 还有一些内存规模的选项,要在选项一致的时候比较。
本帖最后由 叶春勇 于 2019-10-27 10:04 编辑
一、sdcc的安装
安装成功后,进入cmd
输入:
sdcc -v
代表安装成功。
二、第一个程序
在windows cmd框中输入:
生成hex的方法:
三、点亮LED
很遗憾,你使用了开源系统。没有相关设备的寄存器文件,类似51系统的,8051.h reg51.h
这需要我们自己去建立。当然也可以去github里去翻翻别人怎么去弄得。
先翻翻stm8s103f3p6的datasheet
定义一个外设寄存器,这是用c语言指针的方法。
当然在sdcc中,有自己的定义方式 就是用 __at 来定义绝对地址。我调试的用stm8 最小系统板,led在pb5
五、sdcc 常用命令
1、查看c语言生产的汇编
2、查看flash使用情况
查看自动生成的.map文件,包括内存和flash使用。其中flash主要看code段
一周热门 更多>