SDCC-eclipse-51_STM8开发环境搭建解析.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SDCC-eclipse-51_STM8开发环境搭建解析

开发51系列的单片机,国内的绝大部分人使用的是基于keil的开发环境,不过该商业软件是收费的,这算一个不太好的地方,另一个不好的地方是它的编辑环境已经跟不上时代的步伐了,尽管一般软件的体量并不大 SDCC是一个免费的编译器,是跨平台的,其他操作环境也能工作,至于什么是编译器/编译器如何工作,请自行百度,如果能深入一些理解这些问题,算是一个大的提高 SDCC在windows下面进行工作,可以直接参考SDCC的相关文档编写用命令行直接进行“原始开发”,但是这种方式显然不适合大众开发者,除非为了证明你有超凡的编程能力以及组织软件工程的能力,毕竟有了更好的工具,可以大大提高效率,让开发更关注业务逻辑本身 所以eclipse是一个很好的目标平台,并且已经有人为我们免费开发了一些相应的工具,尽管这些工具已经很老,并且可能存在一些问题,但是经过一些改动,还是能很好的工作起来的,下面进入正式开发环境搭建工作 需要准备的硬件有 AT89S52开发板一块【其他51系列的也行】 ISP下载工具【淘宝有很多,或者其他烧录工具】 其他配件,如USB串口、电源等 需要准备的软件【推荐用比较新的版本】有很多。分别是 jdk[根据自己带你电脑选择32或者64位] eclipse[C++版本、根据自己带你电脑选择32或者64位] SDCC【根据自己带你电脑选择32或者64位】 Cygwin【建议安装离线版本】 ISP的下载软件【】 安装完后打开eclipse,进行安装插件 此插件“net.sourceforge.eclipsesdcc-1.0.0-win32.x86”需要现在网上 下载下来,之后解压,但是在比较新的eclipse中已经无法进行正常使用了,需要做一下修改,具体步骤是,解压后存放在eclipse目录下的“dropins”下面,如图 之后需要修改,找到“~~\dropins\net.sourceforge.eclipsesdcc-1.0.0-win32.x86\plugins\net.sourceforge.eclipsesdcc_1.0.0”目录,把Cygwin软件bin目录下面的sh.exe复制到该目录,之后重启,就可以正常工作了,这里注意一下,需要把各软件的的一些可执行文件加入到环境变量【如果你看不懂这句话,说明这篇文章可能不适合你】,不然会出问题的 打开eclipse新建工程文档,如图 完成后需要进行配置 右键工程文件主目录,打开配置选项,按下图配置 这样的话就可以了,我的目录结构是 到这里,实际已经可以正常编译【通过点击小锤子图标】并生成HEX文件了,有一点需要注意,SDCC与keil的一些关键字是不一样的,这个属于C语言下面的“方言”,主要用到的是 sfr sbit 以及 interrupt的一些使用,我截图一下,读者自行领悟一下应该会明白的, 关键字是以在前面加双下划线的,并且sbit必须加上地址,另外就是中断,中断是这么定义的,如图 这个和keil基本是一样的,前面加上双下划线即可,还需要注意的是,中断函数必须要声明到main函数文件中去,否则很可能无法生效,这个不清楚是bug还是开发人员故意这么搞 另外就是,目前还不清楚的一些问题,主要是eclipse不识别SDCC中的一些关键字,导致SFR中的类似与P0这些无法识别,导致一直报错,但是可以正常编译的,可以打开相关的设置,把所有的相关的报错设置关闭掉【图中是把所有的全部都关掉了,可以根据实际需要打开或者关闭某些提示】 至此已经可以正常开发51程序了,关于STC的可以适当的修改一下头文件也是可以开发的,另外这里说一下,关于在这个环境下面printf函数的实现,实际非常简单,只需要在文件中包含stdio.h 并实现void putchar(char);函数即可[有的版本可能类型不一样,按照提供的类型完成即可],这个我们选择串口方式输出,所以只需要,把能正常调用串口发送一个字节的函数写到里面即可,可参考下面的代码 /****************************************************************** 本程序只供学习使用,未经作者许可,不得用于其它任何用途 *******************************************************************/ #include at89x52.H #include UART.h #include MyType.h #include config.h #include stdio.h #define Fclk 11059

您可能关注的文档

文档评论(0)

little28 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档