网站大量收购独家精品文档,联系QQ:2885784924

《如何使用 AVR-GCC》.pdf

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何使用AVR-GCC 安装GNU C for AVR 一.执行安装程序 二.生成链接用的库文件 $(AVR)表示安装的根目录。(在本人系统里为f:\avrgcc ) 生成库文件关键是要运行位于$(AVR)下的RUN.BAT 。原程序如下: @echo off if NOT %AVR%!==! goto install rem set environment variables set AVR=f:\AVRGCC set CC=avr-gcc set PATH=.;f:\AVRGCC\bin;%path% doskey :install if %1!==! GOTO end rem install libc cd f:\AVRGCC\lib\avr-libcsrc rem first win32_make_dirs will make some errors(I dont know why?) make -f makefile-win32 win32_make_dirs make -f makefile-win32 make -f makefile-win32 install make -f makefile-win32 clean :end f: cd f:\AVRGCC mode con: lines=43 要修改为: @echo off if NOT %AVR%!==! goto install rem set environment variables set AVR=f:\AVRGCC set CC=avr-gcc rem set PATH=.;f:\AVRGCC\bin;%path% doskey :install rem if %1!==! GOTO end rem install libc cd f:\AVRGCC\lib\avr-libcsrc rem first win32_make_dirs will make some errors(I dont know why?) f:\AVRGCC\bin\make -f makefile-win32 win32_make_dirs f:\AVRGCC\bin\make -f makefile-win32 f:\AVRGCC\bin\make -f makefile-win32 install f:\AVRGCC\bin\make -f makefile-win32 clean :end f: cd f:\AVRGCC mode con: lines=43 在以后的应用中,运行的是修改之前的 RUN.BAT ,但要去掉 rem if %1!==! GOTO end 的“rem ”。去掉“rem ”之后,后续的语句将被跳过。因此MAKE 部 分的“f:\AVRGCC\bin\ ”可加可不加。 编译和链接应用程序 首先在上下载测试程序集gcctest.zip,然后安装。 1. 将GCCTEST\INCLUDE 下的MAKE1 、MAKE2 拷贝到$(AVR)\ INCLUDE 2 . 将工作目录的MAKEFILE (每个工程都要有一个此文件,且可由自己进行修 改以适合自己的应用。如果要利用原有文件,则注意只能有一个C 文件) 中 的MCU 、TRG、SRC、ASRC 、INC 、LIB 等项填入合适的内容 3 . 在工作目录运行位于$(AVR)\BIN 下的MAKE.EXE (注意:由于系统可能存 在其他应用程序的MAKE ,因此可能还需要加路径。也可以将其改名。) 4 . 从MAKE1 、MAKE2 和MAKEFILE 可以看出,用户可以修改诸如输出文件 名等多种选项。 在C 代码中嵌入汇编指令 一.GCC 的ASM 声明 首先看一个从PORTD 读入数据的例子: asm(“in %0, %1” : “=r”(value) : “I”(PORTD) : ); 由上可以看出嵌入汇编的4 个部分: 1.汇编指令本身,以字符串“in %0, %1”表示; 2 .由逗号分隔的输出操作数,本例为“=r”(value) 3 .由逗号分隔的输入操作数,本例为“I”(PORTD) 4 .Clobber 寄存器 嵌入汇编的通

文档评论(0)

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

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

1亿VIP精品文档

相关文档