打印
[AVR单片机]

avr studio 5如何建立既有汇编文件,也有C文件的工程【已解...

[复制链接]
2126|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
springvirus|  楼主 | 2015-6-11 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 springvirus 于 2015-6-15 08:59 编辑

RT,本人刚开始用avr studio,看到建立工程,还有对工程分类的,貌似没法建立一个既有汇编文件,也有C文件的工程,谢谢

偶在avr studio 5中实验,可以先在源码文件的工程目录下,新建xx.s型的汇编文件,然后在工程处右键->add->Existing Item...,加入此汇编文件。
经编译,没有问题。
编译如下:
AVRGCC1.c
                Invoking: AVR/GNU C Compiler
                "D:/AVR Studio 5 real/AVR ToolChain/bin/avr-gcc.exe" -funsigned-char -funsigned-bitfields -O0 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99  -mmcu=atmega644p   -MD -MP -MF"AVRGCC1.d" -MT"AVRGCC1.d" -o"AVRGCC1.o" ".././AVRGCC1.c"
                Finished building: .././AVRGCC1.c
test.s
                Invoking: AVR/GNU Assembler
                "D:/AVR Studio 5 real/AVR ToolChain/bin/avr-gcc.exe" -Wa,-gdwarf2 -x assembler-with-cpp -c  -mmcu=atmega644p   -o"test.o" ".././test.s"
                Finished building: .././test.s


。。。

Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

相关帖子

沙发
694844985| | 2015-6-11 11:34 | 只看该作者
请参考这篇**http://www.eeboard.com/bbs/thread-6326-1-1.html
还可以参阅avr-libc-user-manual.pdf手册说明http://wenku.baidu.com/link?url= ... _RfmuBj4kB17_m_iss7

使用特权

评论回复
板凳
john_lee| | 2015-6-14 00:28 | 只看该作者
对于使用GNU toolchain作为开发工具来说,在工程中使用汇编文件已经没有多大的意义了,确要使用汇编的话,方法就按照楼上所说。

使用特权

评论回复
地板
springvirus|  楼主 | 2015-6-15 09:00 | 只看该作者
john_lee 发表于 2015-6-14 00:28
对于使用GNU toolchain作为开发工具来说,在工程中使用汇编文件已经没有多大的意义了,确要使用汇编的话, ...

功能实现的一些地方需要指令执行的准确时间,所以选择C+汇编方式

使用特权

评论回复
5
john_lee| | 2015-6-15 10:00 | 只看该作者
springvirus 发表于 2015-6-15 09:00
功能实现的一些地方需要指令执行的准确时间,所以选择C+汇编方式

是的,我也经常需要使用汇编来写部分程序,但我决不会去编写单独的汇编文件。

使用特权

评论回复
6
god54188| | 2015-8-24 16:24 | 只看该作者
本帖最后由 god54188 于 2015-8-24 16:29 编辑

参考文件AVR1886 很详细的写了C 调用汇编。
写不写汇编,主要看你做什么工作。如果靠单片机吃饭,我会自己写一套汇编库自己用。也就十几个模块。
如果是随便玩玩,写个跑马灯,交作业之类的,C 快的很。
当然了,最好的是C写框架,汇编 写接口调用。
以前看过studio 的编译,好像访问IO都是用LDS 载入内存,没用过 in out ,都变成双指令周期了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

4553

帖子

14

粉丝