Tiny6410流水灯——在已经启动的ARM Linux系统上C程实现

来源:互联网 发布:战舰世界睦月数据 编辑:程序博客网 时间:2024/06/07 15:00

Tiny6410流水灯——在已经启动的ARMLinux系统上C程实现

拿到开发板有几个月了,一直想弄个流水灯程序,以验证一下怎么下载程序和运行程序。刚开始弄个裸机程序试试,但不想破坏原NandFlash中的系统,在SD卡上启动倒是也可以,但老是插拔SD卡也不方便,何况有时候接触不好读不出。后来想想,干脆弄个C程序在已经启动的系统上试验一下流水灯吧。可是我对这个还是不太熟悉,只好上网baidu一下。倒真找到一个,试了一下,成功,小小的喜悦一下。最令我惊喜的是,SecureFXPortable居然可以连接到开发板的plg目录,以后可以直接把虚拟机中linux里的文件直接剪切到plg下,爽不爽?!且看流程。

一、启动虚拟机中的Linux,编写如下代码,保存为testLed.c

/****file_name: testLed.c****/ 

/*此流水灯的顺序不对,是因为板子上3、4灯对调了,是板子的事*/

#include<stdio.h> 

#include<stdlib.h> 

#include<unistd.h> 

#include<sys/ioctl.h> 

void main(void) 

       intfd,led; 

       while(1)

       { 

             fd=open("/dev/leds0",0); 

             if(fd<0)

              { 

                        fd=open("/dev/leds",0); 

               } 

             if(fd<0)

              { 

                        perror("opendevice leds"); 

                        exit(1); 

             } 

             ioctl(fd,0,1); 

             for(led=0;led<4;led++)

              { 

                  ioctl(fd,1,led); 

                  sleep(1); 

                  ioctl(fd,0,led); 

             } 

              close(fd);

       }

}  


然后在终端中执行 arm-linux-gcc –o testLed testLed.c,生成testLed文件。

二、硬件连接

打开开发板,让系统运行起来。连接好网线,即让开发板与PC通过网线连接通网络。

三、虚拟机IP设置

设置虚拟机中Linux为桥接方式,在Linux终端设置IP地址,以管理员方式执行 ifconfig eth0 192.168.1.10,即设置Linux IP为192.168.1.10。没有管理员权限,ifconfig是无法执行的。

四、SecureFXPortable软件设置

不通过网线,物理网口是不能启动的,因此SecureFXPortable无法和linux以桥接方式连接(这人问题曾折腾了我两个星期,天天上网找原因,最后把网线连接开发板后就解决了。开始的时候以为只要设置好IP就行了,其实必须打开物理网口)。

在Windows下启动SecureFXPortable,新建连接,即windows和虚拟中的linux 联网。

点击 文件—连接 出现 连接对话框。如下图


上文已经建立好了Linux的Ip 地址:192.168.1.10,填到下图中:




输入Linux下的登陆有户名,勾选 保存用户名


输入登陆密码:

确定后,成功进入Linux的 /home/用户名 目录,如下图

至此,连接虚拟机中Linux成功,下面建立和开发板的连接。

记得手册上说用Telnet登陆开发板,故选这个

Tiny6410的IP地址默认是192.168.1.230,填入,其余默认即可

记得手册上说用FTP方式传输文件

手册上说用户名和密码均为plg,帐号不用填(我也不知道怎么填,故空着)

成功登入开发板plg目录


在连接通Linux的情况下,若在Linux中重新添加或删除文件,得刷新后才能显示出来。如下图点击SecureFX的 刷新 按钮(我也是才知道的,不断试验得出的)

将编译好的testLed右键单击,选择 剪切,见下图:

切换到开发板下,选择plg目录, 粘贴


一般情况都以二进制形式传输文件


下载到开发板上plg目录后,进入这个目录,记得更改文件权限 chmod 777 testLed,然后执行./testLed

在此之前因为开发启动后跳马灯一直运行着,会和这个新写的程序同时执行,效果不理想,可以关掉原跳马灯:执行 /etc/rc.d/init.d/leds stop。然后再运行./testLed。

累死我了,不过Win7的截图还是不错的。希望对同学们有用。

 

原创粉丝点击