用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

AVR单片机GCC编程

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:01:57
里面有个编译工程文件文件.你要做的只是输入:
make
make load
T这样就编译和载入软件了.我并不想详细描述所有的命令. 你可以打开那个 Makefile 查看,它们都是一样的.我自己都不能把它们完全记下来.我只是知道我只需要做"make load".如果你想写不同的程序你只要把Makefile中所有出现avrledtest的地方用你的程序名字替换就行了.  

一些有趣的binutils

比实际编译过程更有趣的是一些小工具软件.

avr-objdump -h avrledtest.out

S显示程序的不同段的大小..text是调入falsh EEPROM的指令代码,.data是象
static char str[]="hello";
这类的初始化数据..bss是非初始化全局数据,在我们这个里面全是零..eeprom用于存储倒eeprom的变量,我从没有用过这个..stab和.stabstr是调试信息,不会载入AVR的.
avrledtest.out:     file format elf32-avrSections:Idx Name          Size      VMA       LMA       File off  Algn  0 .text         0000008c  00000000  00000000  00000094  2**0                  CONTENTS, ALLOC, LOAD, READONLY, CODE  1 .data         00000000  00800060  0000008c  00000120  2**0                  CONTENTS, ALLOC, LOAD, DATA  2 .bss          00000000  00800060  0000008c  00000120  2**0                  ALLOC  3 .eeprom       00000000  00810000  00810000  00000120  2**0                  CONTENTS  4 .stab         00000750  00000000  00000000  00000120  2**2                  CONTENTS, READONLY, DEBUGGING  5 .stabstr      000005f4  00000000  00000000  00000870  2**0                  CONTENTS, READONLY, DEBUGGING
你也可以用avr-size命令得到一个更精简的形式:

avr-size avrledtest.out

   text    data     bss     dec     hex filename    140       0       0     140      8c avrledtest.out
在AVR上工作你必须特别注意.text+data+bss不超过4K,data+bss+stack(你可以不考虑stack的大小,它取决于有多少嵌套调用)不能超过128字节.

下面这个命令也非常有意思:

avr-objdump -S avrledtest.out

它会生成你的代码的汇编列表.  

结论

现在你已经了解到足以开始我们的工程的AVR硬件和GCC方面的知识.LinuxFocus将来会有更多更复杂的,更有趣的关于硬件这方面的文章.  

参考文献

 

上一页  [1] [2] [3] 

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:6,125.00000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号