armlinux系统
‘壹’ ARM linux系统中如何查看系统内核版本
查看系统内核版本,使用
uname
命令。
以致远电子的M3352核心板为例,输入以下命令即可:
[root@M3352
~]#
uname
-a
Linux
M3352
3.2.0
#134
Thu
Aug
8
15:47:17
CST
2013
armv7l
GNU/Linux
‘贰’ 论述ARM-Linux嵌入式系统的基本组成,以及各部分的作用。
ARM-Linux嵌入式系统的基本组成:
1、bootloader:BootLoader是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。
2、基本 Linux 系统,就是为复杂应用软件系统的开发提供了一个基本框架,并有与之相应的、方便易用的开发与维护管理工具。
3、文件系统,用于管理嵌入式系统的存储空间。本来应该算操作系统的一部分,但因为 Linux 源代码中有大量的文件系统支持部分,而嵌入式系统存储空间有限,只保留一种就可以了,因此这部分需要比较复杂的处理。
4、图形用户界面库,其作用是为应用程序提供图形环境。虽然它也可以算是操作系统的一部分,但因嵌入式系统的特殊性往往要另外定制。
5、设备驱动程序,因为每一种嵌入式设备都可能有自己独特的设备,因此,需要为它开发驱动程序。
6、应用程序,具体实现用户需求的软件。应用程序师参考操作系统提供的开发接口所开发出来的软件,以达到计算机的功能利用。
‘叁’ ARM与Linux的关系
ARM是处理器架构, Linux是操作系统,二者是土地与农作物的关系。
‘肆’ ARM_Linux操作系统是什么
arm linux 就是 linux,只不过不是运行在通常的PC上,而是运行在 ARM 处理器环境,比如各种 arm 处理器的手机平板中运行的 android 系统,其内核就是 arm linux。
‘伍’ 学习arm,Linux要有哪些要求
1,基于ARM芯片的Linux操作系统的开发,这是所有ARM开发中最简单的。由于参考资料齐全,因此新手一般从这里入手。在Linux环境下开发,其实不需要特别懂得ARM,只要精通C语言,了解Linux的系统编程接口就可以了。一般大学生只要有1年的实习机会,都可以学会。
2,真正学习ARM芯片的软件编程,主要是指学会ARM处理器指令集。目前,ARM处理器已经有多个系列,比如ARM7,ARM9,ARM11,Cortax-A8等等。更高级的ARM处理器其指令系统也都有所扩展。如果抛掉ARM汇编语言,只是使用C语言编程,那么就不算是精通ARM软件编程了,顶多算是精通C语言编程。如果要精通ARM汇编编程,就不是一件容易的事情了。首先你至少要明白每种不同的ARM芯片其汇编指令到底有哪些不同。在不同的软件功能要求下,如果使用特定的汇编语言来优化软件速度。比如,一个解码JPEG图片的软件,如何针对ARM9E芯片和ARM11芯片优化其解码算法?你要解决这个问题,至少你得知道JPEG图片如何解码。此外,如果一个软件要解码MP3音频,那么又该如何优化呢?你至少得懂得MP3的解码算法吧?学习ARM软件编程的主要任务就是把现有的算法用ARM芯片来实现最优化。否则没必要专门学习ARM编程。
‘陆’ 嵌入式ARM linux系统如何设置开机启动应用程序
其实楼主的问题很专业,之前我在周立功那边也了解过不少。x0dx0a 当用户需要EasyARM-iMX283在开机启动后就运行指定的应用程序或指令时,可以通过vi命令编辑/etc/rc.d/init.d/start_userapp,将要执行的指令添加到里面。若用户有一个hellow的程序放在/home/目录中,那么设置hellow程序开机启动的方法如程序清单 1.1红色部分所示。x0dx0a程序清单1.1 用户启动文件x0dx0a#!/bin/sh x0dx0a#you can add your app start_command three x0dx0a/home/hellow x0dx0a#start qt command,you can delete it 下面是启动QT界面的指令,若用户不需要启动QT,可以直接删除x0dx0aexport TSLIB_PLUGINDIR=/usrb/ts/ x0dx0aexport TSLIB_CONFFILE=/etc/ts.conf x0dx0aexport TSLIB_TSDEVICE=/dev/input/ts0 x0dx0aexport TSLIB_CALIBFILE=/etc/pointercal x0dx0aexport QT_QWS_FONTDIR=/usrb/fontsx0dx0aexport QWS_MOUSE_PROTO=Tslib:/dev/input/ts0 x0dx0a/usr/yuan/zylauncher/start_zylauncher &x0dx0ax0dx0a如果程序是一个阻塞程序(程序被运行后不会退出或返回),则可能会导致位于其后的指令或程序无法得到执行,并且始终占用串口终端,造成其他程序(比如Shell)无法通过串口终端与用户交互。对于此类应用程序,可以在其后面添加“ &”(注意:是“空格”+“&”符号)让其在后台运行,如下所示:x0dx0a/home/hellow &
‘柒’ arm嵌入式linux是什么
就是运行在使用arm处理器的嵌入式设备上的linux呗
‘捌’ armlinux文件系统为什么没有boot目录
1,查看分区,boot分区是独立的,进入boot后删掉所有的文件;
2,删除boot启动之后的启动画面,因为vmlinuz-*和initrd-*都在/boot目录下,所有是不可能手动指定内核的路径点;
3,用第一张光盘引导,进入rescue模式;
4,提示当前的系统被挂载在/mnt/sysimage下边,系统会去查找/ect/fstab文件,如果有就会有下边的提示,如果没有会告诉你没有任何分区;
5,使用chroot 来改变当前的操作路径,不然是对内存中的系统操作;
6,建立一个目录/cdrom,将光驱挂载,查找kernel相关的包:
7,强制安装内核包,要加参数force强制安装,不然提示包已经安装;
8,查看/boot目录,多文件了;
9,但是删掉了/boot目录内容的时候也把grub的stage2删掉了,下边就需要安装grub了,如果是安装在mbr中用,路径用/dev/sda,如果是装在分区的superblock中,需要用/dev/sdax,x代表具体的分区。现在就发现多了grub目录了;
10,但是grub目录中并没有grub.conf文件,也就是说系统启动还是无法找到正确的引导文件,就需要编辑配置文件;
11,重启就可以看到grub界面了,系统就可以启动了。