在linux环境下编译avr单片机程序
看到公司的老外都是用Linux编译AVR的程序,感觉很强,而且本人也很喜欢linux,所以决定进行学习,现记录一下学习过程:
1.编译我们的算法文件,也就是老外以前发给我们这边的关于算法的.o文件。遇到小困难,提示for' loop initial declaration used outside C99 mode
,网上查了一下,在编译的时候加上-std=c99就OK了,听说将for循环里的变量放到外面也可以;
2.在编译汇编文件的时候,出现了很多错误,看上去就好像编译器把汇编文件当成了.c文件,在选项中加上-x assembler-with-cpp就好多了;
3.将各个源文件编译成.o文件后,进行链接生成.elf文件,但总是提示:undefined reference to 'asm',asm是用来嵌入汇编的,找了很久,即使使用winavr相同的命令,最后链接的时候还是会出现这个错误。经过长期的和winavr之间的对比,终于发现:其实就是在第一步上面加的-std=c99有问题,winavr上使用的是-std=gnu99,将文件全部重新编译之后,OK,最后使用avr-objcopy将.elf转换为.hex,Finished!
相关文档:
开始移植 工作后的第一步就是在目标平台Linux上进行编译,并链接源代码。由于需要移植的软件通常并未在Linux平台上编译过,编译的过程可能会遇到很大的困 难。一般情况下,由类型声明引起的编译错误是比较容易修复的。比如Microsoft C/C++的头文件使用__declspec( dllimport/dllexport )来输入和输出DLL函数,在Lin ......
在.bash_profile中添加
############################################
##tnsname.ora
############################################
export TNS_ADMIN=$HOME/.database
export SQLPATH=$TNS_ADMIN
创建 .database隐藏文件夹
在其下建立tasname.ora
在该文件中添加
tns01=(DESCRIPTION=(ADDRES ......
1. 关于本文
本文将以MySQL 5.0.51为例,以CentOS 5为平台,讲述MySQL数据库的安装和设置。
2. 关于MySQL
MySQL是最流行的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。MySQL AB是一家由MySQL开发人员创建的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL ......
第一章 移植内核
1.1 Linux内核基础知识
在动手进行Linux内核移植之前,非常有必要对Linux内核进行一定的了解,下面从Linux内核的版本和分类说起。
1.1.1 Linux版本
Linux内核的版本号可以从源代码的顶层目录下的Makefile中看到,比如2.6.29.1内核的Makefile中:
VERSION = 2
PATCHLEVEL = 6
......