当前位置: 技术问答>linux和unix
急~将linux移植到嵌入式系统ARM9上,启动代码和内核都编译好,并烧写到Flash了,怎么样让应用程序跑起来呢?谢谢
来源: 互联网 发布时间:2015-12-05
本文导语: 本人是初次接触linux,只要解决问题,可以单独发帖再加分给您!谢谢 --------------------------------- 请问是不是还要做文件系统,如有了文件系统,那么应用程序必须放...
本人是初次接触linux,只要解决问题,可以单独发帖再加分给您!谢谢
---------------------------------
请问是不是还要做文件系统,如有了文件系统,那么应用程序必须放在文件系统的什么位置?谢谢。
还是另有好方法?请告诉具体操作步骤。谢谢
---------------------------------
请问是不是还要做文件系统,如有了文件系统,那么应用程序必须放在文件系统的什么位置?谢谢。
还是另有好方法?请告诉具体操作步骤。谢谢
|
肯定要有文件系统阿,一般用romfs,应用程序放在romfs/bin下
同时你的应用程序是要交叉编译过的
同时你的应用程序是要交叉编译过的
|
既然一切齐备了,那就跟你在pc上运行应用程序没什么两样。
|
你直接用超级终端进去你的目标板阿,进去之后看到的就是开发主机上romfs下的目录了,
然后进入bin
比如你要执行一个helloword程序
cd /bin
hllowrod
这不就是和pc机上一样吗
不知道我说的是不是你想知道的
然后进入bin
比如你要执行一个helloword程序
cd /bin
hllowrod
这不就是和pc机上一样吗
不知道我说的是不是你想知道的
|
你的意思是在系统加载后 在etc下有init文件 加上你的应用程序就好了
要是在系统之前可能就是在bootloader改了
要是在系统之前可能就是在bootloader改了
|
把自己写的程序交叉编译arm-linux-,然后把二进制文件拷贝到文件系统里面。
|
init.d/rc.d里的shell文件,具体文件名忘了,自己trace一下...
|
好像是
/etc/rc.d/rc.local
跟dos的autoexec.bat有点类似。
/etc/rc.d/rc.local
跟dos的autoexec.bat有点类似。
|
就是
路径+文件名
例如你在/home/xxx/test/目录里的文件test.out需要执行,就加一行
/home/xxx/test/test/out
路径+文件名
例如你在/home/xxx/test/目录里的文件test.out需要执行,就加一行
/home/xxx/test/test/out
|
打错了……
/home/xxx/test/test.out
/home/xxx/test/test.out
|
你的工作只是万里长城走了第一步,慢慢努力吧!
存储介质(一般是flash)要分为三个区
1.BootLoader
2.Kernel
3.RootDisk
三个部分都编译好以后,烧录到flash的固定地址位置,如果烧录位置没错,启动顺序是这样的,
先运行BootLoader,BootLoader从flash上加载内核,内核启动过程中加载RootDisk,如果一切ok,
系统就成功启动了。
然后用终端通过串口连接开发板,应该会连接到控制台,然后就和正常的Linux一样,如果要执行程序,那敲个命令就行了。
存储介质(一般是flash)要分为三个区
1.BootLoader
2.Kernel
3.RootDisk
三个部分都编译好以后,烧录到flash的固定地址位置,如果烧录位置没错,启动顺序是这样的,
先运行BootLoader,BootLoader从flash上加载内核,内核启动过程中加载RootDisk,如果一切ok,
系统就成功启动了。
然后用终端通过串口连接开发板,应该会连接到控制台,然后就和正常的Linux一样,如果要执行程序,那敲个命令就行了。
|
/etc/init.d/rcS,把命令行加进去,就自动运行了,这个是启动脚本文件
|
pyh(天天) 说的可行
|
不行
|
/usr/my_tset.o
去确定这是可执行文件?
去确定这是可执行文件?
|
你如何确认没有直接运行的?
linux总是需要登录的。
linux总是需要登录的。
|
个人的系统未必相同,你还是先确定启动脚本文件位置
/etc/inittab文件中,比如::sysinit:/etc/init.d/rcS一行就表示启动脚本文件为/etc/init.d/rcS,你看看你的脚本文件到底是那个,然后在脚本文件中加入命令行就可以了
/etc/inittab文件中,比如::sysinit:/etc/init.d/rcS一行就表示启动脚本文件为/etc/init.d/rcS,你看看你的脚本文件到底是那个,然后在脚本文件中加入命令行就可以了
|
我知道什么问题了,在rc.d中需要的是绝对路径
我估计你的绝对路径应该是/root/usr/my_tset.o
我估计你的绝对路径应该是/root/usr/my_tset.o