当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 6 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2012-11-16 19:19 

注册: 2012-11-16 19:06
帖子: 3
系统: ubuntu/windows
送出感谢: 0 次
接收感谢: 0 次
转移到linux下之前,对linux下嵌入式开发非常陌生,不知道用什么工具。后来听说了SDCC用于编译51等系列小的单片机工程,这是一个开源工具。在windows下一直只会依赖Keil C或MDK,但还是想尽量避免使用盗版的、破解的商业软件。

在windows下安装好msys(或者msys-cn http://code.google.com/p/msys-cn/),就可以方便地利用一些在linux下常用的命令,算是对图形界面的的补充。这两天拿学习板试验了一下sdcc<http://sdcc.sourceforge.net/>,手册为全英文,只粗略地看懂怎么编译和连接,更多更精细的功能暂时没工夫研究,用到的机会估计也不多,毕竟51单片机的工程也不太大。

sdcc编译稍麻烦,每次只能编译一个c文件(one source file each time);连接时main.rel必须在最前面(main.rel should be the FIRST);使用GNU make工具管理的话,可以减小很多重复工作,提高效率。于是自己写了一个简单的示例工程,使用GNU make工具进行管理,经过测试在msys环境和linux环境均可用,但在windows的cmd环境下使用时,make -n显示的执行命令都很正确,但make总出错,一直没明白,希望有高人出来解决掉。 不过总算在msys下可以高效地使用,有机会摆脱Keil C。简单的sdcc使用,可以参照 http://skeylee.lofter.com/post/ba27f_1727b8

这个工程可以在http://code.google.com/p/sdcc-mcs51/找到,也可通过git clone http://code.google.com/p/sdcc-mcs51获取,详细内容在makefile中有解释。希望和大家相互交流,互相学习。仍有两个问题:
    1.SDCC手册我只找到英文版,不知有没有中文版;
    2. windows下可以用STC_ISP.exe、SSTEasyIAP.exe等工具将最终hex文件烧写入单片机,但在linux下我不知道有没有这样相似的工具;
如果有人已有以上两个问题的答案,希望能拿出来交流。


附件:
文件注释: 一个示例工程
sdcc-makedemo.tar.gz [89.32 KiB]
被下载 2316 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2012-11-16 21:54 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
linux下最好使用avr。全套。

sdcc 编译的结果,效果不好。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 : Re: linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2012-11-18 17:32 

注册: 2012-11-16 19:06
帖子: 3
系统: ubuntu/windows
送出感谢: 0 次
接收感谢: 0 次
为跨平台而修改得到的妥协方案


附件:
文件注释: 为跨平台而修改得到的妥协方案
sdcc-makedemo.compromise.tar.gz [148.42 KiB]
被下载 88 次
页首
 用户资料  
 
4 楼 
 文章标题 : Re: linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2012-12-16 2:40 
头像

注册: 2009-08-24 19:30
帖子: 264
送出感谢: 1
接收感谢: 1
eexpress 写道:
linux下最好使用avr。全套。

sdcc 编译的结果,效果不好。

Keil C51更不行。你去试试算圆周率的程序。速度sdcc比Keil C更快。
http://rgwan.byethost10.com/archives/1196
这个是我自制的STC下载软件。


_________________
CPU Intel Pentium E6500K(倍频超到13)
主板 MSI G41M-P21
内存 金邦2G DDR3 1333 金士顿 2G DDR3 1333 (降到1066)
硬盘 老三星60G(系统盘) 日立1T 数据盘
显卡 蓝宝石 HD5550 二代 256M GD5
电源 联想航嘉 228W “大”功率电源(汗)
键盘鼠标 联想
机箱 联想
显示器 联想!
操作系统 ubuntu maverick.
欢迎大家到我的小站:http://www.rwzy.co.cc



_________________
评价: 3.7% sevk
 
页首
 用户资料  
 
5 楼 
 文章标题 : Re: linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2012-12-16 2:42 
头像

注册: 2009-08-24 19:30
帖子: 264
送出感谢: 1
接收感谢: 1
至于avr的写入更简单。并口/USBasp + avrdude。刷刷的写


_________________
CPU Intel Pentium E6500K(倍频超到13)
主板 MSI G41M-P21
内存 金邦2G DDR3 1333 金士顿 2G DDR3 1333 (降到1066)
硬盘 老三星60G(系统盘) 日立1T 数据盘
显卡 蓝宝石 HD5550 二代 256M GD5
电源 联想航嘉 228W “大”功率电源(汗)
键盘鼠标 联想
机箱 联想
显示器 联想!
操作系统 ubuntu maverick.
欢迎大家到我的小站:http://www.rwzy.co.cc


页首
 用户资料  
 
6 楼 
 文章标题 : Re: linux/msys环境下使用sdcc开发(取代keil C)
帖子发表于 : 2013-04-26 12:47 
头像

注册: 2007-05-08 16:26
帖子: 2058
地址: 火星内核某分子内某原子核内
系统: arch
送出感谢: 20
接收感谢: 6
学习了,多谢.


_________________
笔记本 :
F208S : gentoo
A460P i3G D6 : UBUNTU + WIN7
UN43D1 : UBUNTU + WIN7
1000人超级QQ群 LINUX + WIN : 31465544 或 18210387


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 6 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译