网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> 技术文库 >> 嵌入式 >> 文章正文
  ATtiny11、12的C语言编译方法         ★★★ 【字体:
ATtiny11、12的C语言编译方法
作者:61IC录入    文章来源:本站原创    点击数:    更新时间:2006-4-7    
大家都知道在因为ATtiny11、12没有RAM,所以大部分C编译不支持其C语言编译。
但事实上是可以的。本人在开发中积累了一些经验,希望大家笑纳。
本人用的是GCC,但是在GCC的说明文档中,只能用汇编编成。
可是GCC支持对ATtiny22编译,因为它带有RAM。并且两者基本上一样
所以我们可以用ATtiny22代替。
但是要注意以下几点:
1、不能使用中断函数,因为没有RAM不能堆栈保存。除非中断过程不需要保存当前状态。
2、不能声明全局变量和静态变量,因为全局变量编译器会把它们放在RAM中,除非你使用的变量很少。
3、声明变量时,应声明为寄存器变量,在前面加上关键字“register”。
4、写过程函数时应减少参数数量,并且尽量为char类型。
5、在编译后,编译器会报告使用资源装态,如果RAM使用为零,恭喜你已经成功了一半。
6、编译后要检查汇编代码,看看有没有“PUSH,POP”之类的东西。
7、模拟运行在AVRstudio4中可以用ATtiny22代替。
如果编译结果符合5、6条的话。那就请你放心使用吧!
以上结论在AvrEdit3.5、AVRstdio4中运行测试通过。
并且在芯片ATtiny12上运行通过。
               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    没有相关文章
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号