|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。 r, `& k$ B' k5 O. }; F" O
! q# Q o# o+ |( G9 ?3 f* d. L" q下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。
S( q6 u! A( h( m p: |/ J1.进入pc机的Linux 操作系统,在/nfs/usr/下通过mkdir lz 命令新建一个名为lz的文件夹,进入lz文件夹,通过mkdir hello新建一个hello文件夹用来存放我们将要编写的hello.c文件和编译生成的可执行文件。9 q, m4 X. E4 |: i0 {
- L) }* p. o2 K* q
2.在/nfs/usr/lz/hello下通过vi hello.c命令新建hello.c文件,编辑如下测试程序:
. R3 L- R4 _) U' x. h1 J/ e( X7 i0 L2 m+ P# s
#include 3 q S! n, W6 d0 p3 `
int main(){. S/ f% S) X1 ]
printf("Hello,test ARM-linux!\n");9 V2 V7 H1 K& g7 ]8 i W
return 0;
+ r0 V! G- |: b8 V4 |' W- ], P}
! W! B0 ?0 T( ]7 F. R# t. ]
& {4 A6 v/ O4 s: Q" `3 e$ `% m完成编辑后通过:wq保存后退出。
7 r0 Z8 C8 v7 t6 [# D
/ `. T% B9 U* f) K9 H% X3.主机通过如下命令交叉编译环境编译hello.c:
. ^; V* B2 h& ]; G! a
$ g% B7 j3 Q: N! F8 t#arm-linux-gcc –o hello hello.c
: Q8 D) m e( k/ l! p \$ N0 l7 Z% G; |
4.通过ls 命令可以看到在/nfs/usr/lz/hello/下已经生成了hello可执行文件,我们可以在开发板上通过./hello来测试自己编写的hello.c执行情况
+ M, B6 X0 w9 F/ P
3 Z' U+ e* T" Y9 w+ P# I1 Y* W& c4 c5.修改rc.local文件,在文件的最后通过‘#’释掉启动图形界面的指令,增加执行用户应用程序hello的指令,具体实现如下:0 W! G# E! l0 \' b' [- c) C! ~
8 p" v$ q( q& s& g$ }) G#export PATH=$QPEDIR/bin:$PATH% J4 C& y, |; g1 _
#qtopia
7 A! M) P. B4 l; Y#/usr/qtopia/bin/qtopia4 Y2 J+ u$ O) i% [
/usr/lz/hello/./hello
0 ^ c L Q. [/ V9 H3 G/ W$ O. `# O) X" }! C" j
注:前三行是注释掉启动图形界面,最后一行是添加的执行用户的hello测试程序。
6 k ]7 `1 q p7 m! o4 t' N. V2 y: [" W) v; t' [% u* R' {
6.重启开发板,通过vivi参数配置让开发板通过nfs挂载主机上的文件系统,这时我们就可以通过超级终端看到开发板已经运行了我们编写的hello程序。
& Y/ x5 ~: `$ E$ t" c8 x& `8 R6 }, O% [$ k
; c! R/ ?) G8 e; P
从接触linux系统下编程,一直困扰着我一个问题,就是我的程序应该怎样运行。以前学习裸机程序和单片机程序的时候,不用考虑这一问题,写好的程序直接在上电的时候直接由启动代码运行我的main函数。可是在有操作系统的情况下,我编译好的程序怎样执行呢?总不能我每次要手动去执行啊~!郁闷了两年了,呵呵,从2010.12月到2011.1月,期间边学习linux下编程,边寻找这方面的资料,哎,貌似这种技术对人家很简单啊,百度上的很少,终于找到一篇,如下;
$ U2 L% M: @1 \3 Y1 a5 H
' N, U, D7 O* u/ J开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。
( X6 F1 U' W6 x4 s# r: n/ `) p
7 ?. U; u+ I* b4 n ?; n- [3 ^下面以我做的实验为例,描述具体的实现步骤。该方法源于网络,我加以验证,稍做修改,此文相当于转载。+ D5 p- p( t, ?2 i! U
0 u m: W9 g5 k, q" c, r5 Q
i) g0 Q9 i! I4 E- S+ ]5 }/ a% o* M/ D
7 W |. G. ?$ X
|
|