diff --git a/docs/doc/component/drvmodel.md b/docs/doc/component/drvmodel.md index 5912b3d..1396a87 100644 --- a/docs/doc/component/drvmodel.md +++ b/docs/doc/component/drvmodel.md @@ -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 diff --git a/docs/doc/component/humancompter.md b/docs/doc/component/humancompter.md index 003f98e..9e18180 100644 --- a/docs/doc/component/humancompter.md +++ b/docs/doc/component/humancompter.md @@ -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 */ } ``` ### 总结 diff --git a/docs/doc/component/lib.md b/docs/doc/component/lib.md index 2a70d27..3ade5f2 100644 --- a/docs/doc/component/lib.md +++ b/docs/doc/component/lib.md @@ -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)。 @@ -14,4 +14,4 @@ XiUOS使用bzip2工具提供对bz2文件格式的支持:当文件系统功能 ## MicroPhython -敬请期待 \ No newline at end of file +敬请期待 diff --git a/docs/doc/kernel/int.md b/docs/doc/kernel/int.md index 25c09f7..883097d 100644 --- a/docs/doc/kernel/int.md +++ b/docs/doc/kernel/int.md @@ -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 us,XiUOS中断响应的效率比sylixos提高 2.5倍 * 在ARM stm32f407 168MHz CPU主频中断响应时间 11.9 us高于1GHz主频测试的sylixos -* 若进行同等1GHz主频换算,STM32F407上的中断响应时间应为 1.952 us,XiUOS的中断响应的效率比sylixos提高 0.8倍 +* 若进行同等1GHz主频换算,STM32F407上的中断响应时间应为 1.952 us,XiUOS的中断响应的效率比sylixos提高 0.8倍 由于XiUOS优化了中断响应的流程,减少了执行指令数量,因此,同等主频条件下,中断响应时间更短。 diff --git a/docs/doc/kernel/mm.md b/docs/doc/kernel/mm.md index 0b951fc..23787be 100644 --- a/docs/doc/kernel/mm.md +++ b/docs/doc/kernel/mm.md @@ -31,11 +31,11 @@ XiUOS 操作系统提供了独特的内存管理分配算法进行内存管理 #### 静态内存划分 -静态内存包含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字节之间的内存请求,一旦对应的静态内存块分配完了,系统会向动态内存区域寻求内存空间分配。