1.1 Nuttx构建配置以及模式
Nuttx有三种不同的构建配置
Ø FLAT构建:这种构建是所代码驻留在公共地址空间中。
1)应用,内核以及board logic在一个flat地址环境中;
2)所有的地址空间具有相同的属性;
Ø PROTECTED构建:这种构建是使用存储保护单元(MPU)将内存分离为用于OS的特权模式,和用于所有应用的非特权模式。
1) 应用程序工作在用户模式;
2) 内核程序工作在内核模式;
3) 内存分为内核与应用程序堆;
Ø KERNEL构建:这种构建是使用存储管理单元(MMU)将OS放置在私有地址空间中,并将任务(或进程)放置在其自己的虚拟地址空间。
1) 应用程序工作在用户模式;
2) 内核程序工作在内核模式;
3) 内存分为内核与应用程序堆;
4) 用户进程之间进一步隔离,每个应用程序工作在自己的空间上;
对于PROTECTED构建与KERNEL构建,应用程序驻留在OS地址空间之外,并且在这些构建中,应用程序都不能访问OS的任何内部资源