ARMlinux VS uClinux

 

 

   uClinux  ARMlinux
 内核  精简的内核,很小;但移植驱动相对困难  标准的Linux内核,体积较大;但易于移植驱动程序
 C库  uClibc,精简但软件移植相对困难  glibc,体积较大,但软件移植容易
 编译器  gcc cross compiler  gcc cross compiler
 文件系统  多用只读的romfs,耗用空间小  多用可读写的ramdisk(ext2)
 物理地址访问  应用程序和内核驱动都可以,可方便地在用户层进行外设硬件测试,需要承担系统稳定的风险  只有bootloader阶段可以,如在内核下则需要编写驱动程序,系统更稳定
 IPC(进程间通信)  支持  支持
 Thread(线程)  支持  支持
 modules加载  支持,但多用静态链接  支持
 程序链接方式  默认动态,极少用动态链接  默认动态
 栈内存管理  用户需要预估自己代码对STACK的耗用来告知编译器调整STACK容量,用户需对系统稳定性负责,承担风险  用户无需参与
 可执行文件格式  FLAT,耗用空间小  ELF

你可能感兴趣的:(ARMlinux VS uClinux)