docs(/docs/kernel/int.md, mm.md, /docs/component/drvmodel.md, humancompter.md, lib.md): repair some small misktakes on punctuation, blank space, or words

This commit is contained in:
RobertYuan 2021-09-26 20:31:08 +08:00
parent d400f41593
commit d812028b87
5 changed files with 14 additions and 14 deletions

View File

@ -251,7 +251,7 @@ int BusUnregister(struct Bus *bus)
}
```
* DRIVER注册到BUS函数
* DRIVER注册并挂接到BUS函数
```c
/**
* @Description: support to register driver pointer to bus pointer
@ -273,7 +273,7 @@ int DriverRegisterToBus(struct Bus *bus, struct Driver *driver)
}
```
* DRIVER从BUS中删除函数
* DRIVER从BUS中删除函数
```c
/**
* @Description: support to delete driver pointer from bus pointer
@ -296,7 +296,7 @@ int DriverDeleteFromBus(struct Bus *bus, struct Driver *driver)
}
```
* DEVICE注册到BUS函数
* DEVICE注册并挂接到BUS函数
```c
/**
* @Description: support to register dev pointer to bus pointer
@ -318,7 +318,7 @@ int DeviceRegisterToBus(struct Bus *bus, struct HardwareDev *device)
}
```
* DEVICE从BUS中删除函数
* DEVICE从BUS中删除函数
```c
/**
* @Description: support to delete dev pointer from bus pointer

View File

@ -17,17 +17,17 @@ shell的运行过程
* 执行相应的操作
建立一个命令与函数的一一对应的关系,定义结构体。
根据定义建立一个表,将所有的命令以及对应的函数进行声明
根据定义建立一个表,将所有的命令以及对应的函数进行声明
获得输入的命令,并将其和命令表中的命令进行匹配,然后执行相应的函数。
使用串口进行命令的输入和输出,在输入命令并回车之后,程序解析命令,根据空格将输入分开为命令和参数,对命令进行匹配,匹配到命令之后,执行函数。伪代码如下:
```c
#define TRUE 1
while(TRUE) {                  /* repeat forever */
  type_prompt();               /* display prompt on the screen */
  read_command(command, parameters);   /* read input from terminal */
  execve(command,parameters,0);     /* execute command */
while(TRUE) {                /* repeat forever */
  type_prompt();              /* display prompt on the screen */
  read_command(command, parameters);    /* read input from terminal */
  execve(command, parameters, 0);     /* execute command */
}
```
### 总结

View File

@ -2,7 +2,7 @@
## Newlib
[Newlib](https://sourceware.org/newlib/)是一个由Red Hat公司维护的面向嵌入式设备的开源C标准库实现并且是许多ARM、RISC-V架构交叉编译工具链的默认C标准库版本。
[Newlib](https://sourceware.org/newlib/)是一个由Red Hat公司维护的面向嵌入式设备的开源C标准库实现是许多ARM、RISC-V架构交叉编译工具链的默认C标准库版本。
当XS_USING_LIBC选项打开时XiUOS将使用Newlib提供C标准库函数。Newlib的正常工作依赖于XiUOS内核提供的一系列服务接口这些接口定义在framework/lib/newlib/syscalls.c文件中。关于Newlib标准库函数与服务接口间的依赖关系可以参考[Newlib文档的Syscalls部分](https://sourceware.org/newlib/libc.html#Syscalls)。

View File

@ -554,7 +554,7 @@ int TestRealtime(int argc, char * argv[])
* XiUOS在RISC-V K210 400MHz CPU主频上中断响应时间为 2.6 us低于sylixos的 3.612 us
* 若进行同等1GHz主频换算K210上的中断响应时间应为 1.016 usXiUOS中断响应的效率比sylixos提高 2.5倍
* 在ARM stm32f407 168MHz CPU主频中断响应时间 11.9 us高于1GHz主频测试的sylixos
* 若进行同等1GHz主频换算,STM32F407上的中断响应时间应为 1.952 usXiUOS的中断响应的效率比sylixos提高 0.8倍
* 若进行同等1GHz主频换算STM32F407上的中断响应时间应为 1.952 usXiUOS的中断响应的效率比sylixos提高 0.8倍
由于XiUOS优化了中断响应的流程减少了执行指令数量因此同等主频条件下中断响应时间更短。

View File

@ -31,11 +31,11 @@ XiUOS 操作系统提供了独特的内存管理分配算法进行内存管理
<span id="mm_heap_static_split"></span>
#### 静态内存划分
静态内存包含2个链表其中每个链表都具有 block_size、total_count、free_count和free_list 这四个属性。
静态内存包含2个链表其中每个链表都具有 block_size、total_count、free_count free_list 这四个属性。
* block_size 记录了当前链表中每个静态内存块的大小
* total_count 记录了系统初始化之后分配给该链表中静态内存块的总个数
* free_count 记录了该链表中还可以分配给用户静态内存块的个数
* free_list 则真正指向各个空闲静态内存块
* free_list 指向各个空闲静态内存块
下图为静态内存链表的具体情况图中包括两个静态链表1和2。静态链表头1指向的内存池中存放的静态内存块的大小都是32字节静态链表头2所指向的内存池中存放的静态内存块的大小都是64字节。此外系统分别配置了静态链表头1和静态链表头2中静态内存块的total_count个数为256和128。因此静态链表头1最多可以响应用户256次的小于32字节的内存请求静态链表头2最多可以响应用户128次的介于33-64字节之间的内存请求一旦对应的静态内存块分配完了系统会向动态内存区域寻求内存空间分配。