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的截图还是不错的。希望对同学们有用。
- Tiny6410流水灯——在已经启动的ARM Linux系统上C程实现
- qt程序在arm-tiny6410上的运行以及移植
- 在arm linux 上构建的系统
- ARM S3C2410 从sdram启动流水灯(2) led.c
- Tiny6410开发板上Linux系统的安装
- 通讯之——在ARM Linux上的实现(2440)
- Linux Qt+opencv2.3.1在tiny6410上的移植
- ARM裸机——FS2410 流水灯
- Java Web应用在ARM Linux平台上的实现
- Linux 电源管理在ARM上的实现原理
- Linux 电源管理在ARM上的实现原理
- Java Web应用在ARM Linux平台上的实现
- 成功在Tiny6410开发板上实现监控程序开机自动启动(1)
- 成功在Tiny6410开发板上实现监控程序开机自动启动(2)
- 安装交叉编译工具arm-none-linux-gnueabi-gcc——Linux上编译在android上运行的c程序
- 在tiny6410开发板上运行自己的qt4.7程序,并设置为开机启动
- boa在tiny6410上的移植。
- boa在tiny6410上的移植
- java中判断输入日期的格式是否正确
- Really Fast Software Blending 混合
- debian 上 mysql启动异常之解决手记
- 电源管理类(PowerManager)以及唤醒屏幕锁的简单介绍
- 多态的实现 虚函数表
- Tiny6410流水灯——在已经启动的ARM Linux系统上C程实现
- 1 linux下vi命令大全
- RGSS 命名规则,保留字
- 浅析ObjectiveC 深浅拷贝学习
- Matlab 数据库工具箱函数
- pthread_join
- 那时候的小小记忆--KFC点菜系统
- 使用svnant结合svn进行项目构建
- NASK汇编指令学习记录(一)