arm linux 嵌入式开发常用命令小记

来源:互联网 发布:数码收纳包 知乎 编辑:程序博客网 时间:2024/06/10 17:29

1. 修改ip的命令

/etc/sysconfig/network-scripts

网络配置文件  但我的里边时空的……搞不明白

ifconfig 察看网络配置状态

ifconfig eth0 192.168.1.X netmask 255.255.255.0

route add default gw 192.168.1.1

修改默认路由

2. nfs 服务器配置和使用

笔记本是ubuntu12.04系统,arm开发板是GT2440,已经使用串口连接(minicom)

开始的时候,打算无线网卡上外网,本地连接接开发板。结果一接上开发板,互联网就上不去了(跟arm的连接倒没问题),搞了很久没能解决这个问题。

妥协了,将arm开发板连接到路由器上去,设置ip什么的,注意ip要设在路由器的网段,笔记本通过无线连接路由器

能够ping通,笔记本可以访问互联网。下面是nfs服务器的配置


3. 忘记和学到的C语言知识

以前编写的在系统上运行的程序,main函数没带过参数,所以不怎么明白

int main(int argc,char **argv)

这里,argc记录参数个数,系统会自动记录输入的参数个

**argv中是调用该程序时的参数

一般写程序要检查输入的参数吧

if (argc != 3 || sscanf(argv[1], "%d", &led_no) != 1 || sscanf(argv[2],"%d",&on) != 1 || on < 0 || on > 1 || led_no < 0 || led_no > 3) 

{
        fprintf(stderr, "Usage: leds led_no 0|1\n");
        exit(1);
}

这个检查看起来很雷人啊,,,不直观,,,以后我也这么写吧

sscanf在头文件<stdio.h>中

据说和scanf差不多,百度百科是这么说的

sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。

  sscanf(argv[1], "%d", &led_no) != 1

读参数的第一个字符串,以%d格式读取,成功返回1

4、关于驱动程序调用的一点理解

/*打开/dev/leds 设备文件*/
fd = open("/dev/leds", 0);
if (fd < 0) {
perror("open device leds");
exit(1);
}

/*通过系统调用ioctl 和输入的参数控制led*/
ioctl(fd, on, led_no);
/*关闭设备句柄*/
close(fd);

嗯,就是这个样子,不需要解释啊

5、串口minicom的使用

     安装……忘了

     要配置一下,串口号什么的

     打开 sudo minicom

     重点是退出:ctrl+A,Z然后你会看见很多选项,Q退出

6、tar xvzf ……。tar。gz

x是解压c建立压缩文件t察看内容r追加u更新,五选一

下面的参数是根据需要在压缩或解压档案时可选的。f必加且在最后

-z:有gzip属性的

-j:有bz2属性的

-Z:有compress属性的

-v:显示所有过程

-O:将文件解开到标准输出



0 0
原创粉丝点击