嵌入式LINUX下C语言编程练习
1、嵌入式计算机运行可执行程序的原理
计算机中运行的是二进制代码,C语言是一种高级语言,将人的思维写成代码,经过编辑、编译、汇编等过程,才能够生成计算机认识的可执行文件。
嵌入式C语言开发时,首先在通用计算机上编写程序,然后通过交叉编译生成目标平台上可以运行的二进制代码格式,最后再下载到目标平台上的特定位置上运行。
2、首先建立交叉开发环境
可参考“嵌入式LINUX交叉开发入门实验”,
(1)安装虚拟机,配置超级终端,连接开发板,建立开发环境。
(2)在PC机打开虚拟机的Termal终端,作为编程主界面。
(3)打开超级终端,作为开发板的监控。
3、C语言编程,打印一个倒三角
使用vi文件编辑器。输入vi text.c编写代码,按“i”或者“a”进入编辑模式,将下面的代码录进去,完成后先按Esc,在输入:wq回车保存并退出编辑器,这样我们就在当前目录下建立了一个名为text.c的文件。
为使上面的text.c程序能够运行,我们必须要编写一个Makefire文件,它定义了一系列规则,指明了哪些文件需要编译,哪些需要先编译,哪些需要重新编译等复杂命令,使用它的好处就是可以自动编译,只要输入make命令整个工程就可以自动编译。
text.c代码:
#include <stdio.h>
void main()
{
printf("*****\n *** \n * ");
}
4、输入半径,求圆面积和周长
circle.c代码如下:
#include <stdio.h>
#include <math.h>
void main()
{double y;
int x,m,yy;
for(yy=0;yy<=10;yy++)
{
y=0.2*yy;
m=acos(1-y)*5;
for(x=0;x<=31;x++)
if(x==m||x==31-m)printf("*");
else printf(" ");
for(x=31;x<=64;x++)
if(x==m+31||x==64-m)printf("*");
else printf(" ");
printf("\n");
}
}
5、绘制余弦曲线
用VI编辑一个文件cos.c,代码如下
#include <stdio.h>
#include <math.h>
void main()
{double y;
int x,m,yy;
for(yy=0;yy<=10;yy++)
{
y=0.2*yy;
m=acos(1-y)*5;
for(x=0;x<=31;x++)
if(x==m||x==31-m)printf("*");
else printf(" ");
for(x=31;x<=64;x++)
if(x==m+31||x==64-m)printf("*");
else printf(" ");
printf("\n");
}
}
6、输入任一整数,转换成二进制
用vi编写binary.c文件,代码如下:
#include <stdio.h>
int a[200];
int main()
{
int m;
int i;
printf("please write a integer:");
scanf("%d",&m);
i=0;
while(m)
{
a[i]=m%2;
m=m/2;
i++;
}
printf("The BC of this integer is:");
for(i=i-1;i>=0;i--)
{
printf("%d",a[i]);
}
printf("\n");
}