返回> 网站首页 

[原创]ARM-Linux应用开发总结

yoours2012-03-24 11:02:30 阅读 1235

简介一边听听音乐,一边写写文章。

   使用环境windows XP电脑上,运行vMWare虚拟机,虚拟机里运行ubuntu 7。
   ARM-Linux板连接虚拟机nfs系统,实现文件拷贝。

一、常用命令
1. 查看所有运行中的进程
    使用ps命令
2. 显示隐藏文件(点开头的文件默认为隐藏文件)
    ls -a
3. 立即关机
    shutdown –h now
4. 目录文件操作
    rm -rf 目录 删除非空目录
    mkdir  创建文件夹
    mv     移动文件夹
5. 关掉防火墙
    iptables -F
6. 终端窗口清屏
    reset
7. 更新源
   a. 修改源并升级更新
   vim /etc/apt/sources.list
   b. 保存编辑好的文件,执行以下命令更新。 
   sudo apt-get update
   sudo apt-get dist-upgrade
8.设置可执行属性
  /etc/tmp/rootfs # chmod +x YourApp
  /etc/tmp/rootfs # .YourApp
9. 解压
tar -xvf file.tar //解压 tar包
tar -xzvf file.tar.gz //解压tar.gz
tar -xjvf file.tar.bz2   //解压 tar.bz2
tar -xZvf file.tar.Z   //解压tar.Z
unrar e file.rar //解压rar
unzip file.zip //解压zip
10. 打包
tar -cvf /u0/temp2.tar /usr/lib
将/usr/lib目录下的文件与子目录打包成一个文件库为/u0/temp2.tar。
11. 查找文件
find -name s3c2410.h
#> find . -type f  -exec grep 'mingtian'  -l {} \;
grep -l :是显示匹配的内容的文件名字!
或者:
#> find . -type f -name "*.*" |xargs grep 'xiaoshou' -l
(这个方法 不好,挺乱的,还慢,推荐前一个方法!)

二、ubuntu使用root用户登录
  a. sudo passwd root 按提示操作设置root密码
  b. 用root登录却提示“The system administrator is not allowed to login from this screen”),重启后登录也不行。
  Ubuntu下允许Root用户直接登录图形界面:必须修改gdm的配置,让root能在gnome窗口登陆:
  sudo gedit /etc/gdm/gdm.conf,修改allowroot=false为allowroot=true
  以上两个操作也可以在Administrator-Users and Groups和Login Window中可视化设置

三、vim使用
  打开文件后,按【Insert】键进行编辑操作。
  编辑完成后,按【ESC】键,准备输入命令。
  保存,输入 :w
  退出输入q
  强制保存退出wq!
  dd 删除一行
  显示行号,在VI的命令模式下输入“:set nu” 或者修改vi配置文件“vi ~/.vimrc”,在其中添加“set nu” 

四、修改PATH
  sudo vim /etc/bash.bashrc 最后一行添加,例如PATH=$PATH:/your_path
  source /etc/bash.bashrc 使修改立刻生效

五、ubuntu访问xp共享文件夹
  mount -t cifs -o username=Administrator,password=1,iocharset=utf8 //192.168.0.6/ShareFolder /mnt/ShareFolder

六、安装nfs
  a. install nfs-kernel-server
  b. 修改允许连接的设备IP
      ubuntu 7不能使用星号,比如使用具体IP。
      vim /etc/exports

      #允许访问的路径 允许访问的IP 访问权限
      /rootfs *(rw,sync,no_root_squash)
  c. 启动服务
      /etc/init.d/portmap restart
      /etc/init.d/nfs-kernel-server restart
d. ARM-Linux连接nfs
    mount -t nfs 192.192.78.132:/nfs/rootfs /tmp 该方法为UDP连接方式,通常会失败
    mount -t nfs -o nolock,proto=tcp,nfsvers=3 192.192.78.132:/nfs /tmp  该方法使用TCP连接,连接稳定

七、ARM-Linux挂载优盘
    mount -t vfat /dev/scsi/host0/bus0/target0/lun0/part1 /tmp

八、ARM-Linux
    通常只有一个文件夹是可写状态,其他文件夹都是只读。
    例如:/mnt/yaffs/

九、Linux APP的Makefile编写
#########################################################
ROOT_DIR=/mnt/ShareFolder
G_CPL=arm-linux-g++
G_FLAG=-Wall -Werror -lpthread

OBJ=A.o B.o F/C.o F/E.o F/L.o F/P.o F/S.oF/T.o F/M.o G.o
BIN=YourApp

all: ${OBJ} ${BIN}

${BIN}:${OBJ}
${G_CPL} -o ${ROOT_DIR}/$@/bin/${BIN} $^ ${G_FLAG}
cp ${ROOT_DIR}/$@/bin/${BIN} /nfs/${BIN}

${OBJ}:%.o: %.cpp
${G_CPL} -c $< -o $@

clean:
rm -f /nfs/${BIN}
rm -f *.o
rm -f F/*.o
rm -f bin/${BIN}
#########################################################
编译C++代码使用arm-linux-g++命令,以上操作在编译完成后,会将文件拷贝到指定文件夹中。

十、开机自动运行
  开机自动运行,可以查看系统启动加载文件找到,启动执行的文件。
  该文件保存位置为可写的文件夹中。
  例如: /mnt/yaffs/启动执行的文件
#!/bin/sh
echo "Start MyApp.bin"
#延时三秒,用于在后期需要的时候在这时间内强制关闭程序
sleep 3
cd /mnt/yaffs
./MyApp.bin

十一、改变终端输出
  ARM-Linux通常会占用COM1口进行显示内容输出,在后续使用中需要关闭此功能。
  开机进入uboot,进行设置环境参数即可。
显示环境变量参数 printenv
设置环境变量参数 setenv
保存环境变量参数 saveenv

如:
1. 取消串口1调试终端
setenv bootargs noinitrd root=/dev/mtdblock/1 init=/linuxrc console=null
2. 使用串口1调试终端
setenv bootargs noinitrd root=/dev/mtdblock/1 init=/linuxrc console=ttyS0
微信小程序扫码登陆

文章评论

1235人参与,0条评论