一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:
1、 引导加载程序。包括固化在固件(firmware)中的boot代码(可选),和BootLoader两大部分。
2、 Linux内核。特定于嵌入式板子的定制内核以及内核的启动参数。
3、 文件系统。包括根文件系统和建立于Flash内存设备之上文件系统。通常用ramdisk来作为rootfs。
4、 用户应用程序。特定于用户的应用程序。有时在用户应用程序和内核层之间可能还会包括一个嵌入式图形用户界面。常用的嵌入式GUI有:MicroWindows和MiniGUI
BootLoader的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动 *** 作系统。
二、常见bootloader介绍
1.U-BOOT介绍
uboot是一个庞大的公开源码的软件。他支持一些系列的arm体系,包含常见的外设的驱动,是一个功能强大的板极支持包。其代码可以从http://sourceforge.net/projects/u-boot下载
2。vivi介绍(下载地址http://www.mizi.com/developer)
vivi是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。 Vivi有两种工作模式:启动加载模式和下载模式。启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。在下载模式下,vivi为用户提供一个命令行接口,通过接口可以使用vivi提供的一些命令,如下:
一、什么是交叉编译
什么是交叉编译呢,简单地说,就是在一个平台上生成另一个平台上的可执行代码。
常见的交叉编译例子如下:
1、在Windows PC上,利用ADS(ARM 开发环境),使用armcc编译器,则可编译出针对ARM CPU的可执行代码。
2、在Linux PC上,利用arm-linux-gcc编译器,可编译出针对Linux ARM平台的可执行代码。
3、在Windows PC上,利用cygwin环境,运行arm-elf-gcc编译器,可编译出针对ARM CPU的可执行代码
嵌入式 linux系统主要由以下四部分组成:bootloader kernelrootfs usrfs
Bootloader (vivi):在 *** 作系统内核运行之前运行的一段小程序,初始化硬件设备和建立内存空间的映射图,将系统软硬件环境带到一个合适的状态,以便为最终调用 *** 作系统内核准备好正确的环境.
Kernel (内核):Linux *** 作系统的核心,管理所有的系统线程/进程/资源/和资源分配.
Rootfs (busybox):内核挂载的第一个文件系统,放有内核运行的第一个初始化程序init,命令,设备节点,配置文件以及共享文件.系统只能有一个根文件系统,通常用busybox工具来构建根文件系统,以减少系统体积.
要做源代码加密的话肯定是软件开发公司吧,要用合适的加密软件,需要根据需求来进行判断。从问题来判断建议选个SDC沙盒的比较好,因为SDC沙盒是很适合用于研发公司来使用的。
利用沙盒的原理来保护好源代码在环境中的正常运行,且不会被泄密出环境中。
目前很多公司就有用这类的软件,还是很好用的,也不影响到员工的开发使用。
可以了解下SDC沙盒看看,应该能满足您那的需求。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)