SylixOS 中 如何获取磁盘序列号和 CPU ID
Q:SylixOS 中 如何获取磁盘序列号和 CPU ID ?
获取硬盘 ID 的函数,可以通过 open 打开磁盘设备,然后通过 ioctl 使用 LW_BLKD_CTRL_INFO 参数获取磁盘信息,磁盘信息里面就包含有磁盘 ID、CPU ID 可以通过 LW_CPU_GET_CUR_ID获取。
如果需要在应用程序里面 ioctl 使用 LW_BLKD_CTRL_INFO 参数获取磁盘信息,需要定义 LW_BLK_INFO 类型的变量,要是用该结构体类型,需要在应用程序中定义 _SYLIXOS_KERNEL 或者 _SYLIXOS_BLKDEV,但是在应用程序里面定义内核,又不太好,如图:
所以为了在应用程序中获取磁盘信息而又不用定义内核,可以加个中间层,写个内核模块。
通过 fdisk 命令查看磁盘信息,如图:
Related Articles
SylixOS CPU 利用率统计机制
SylixOS CPU 利用率统计基于 TCB 中的两个变量,TCB_ulCPUUsageTicks 和 TCB_ulCPUUsageKernelTicks。用于记录规定时间内的 CPU 使用 TICK 计数与 Kernel 使用计数。 top 命令首先清空所有的 TCB 的计数统计,然后开启统计数据更新,等待规定时间后(默认 1s)关闭统计数据更新。此时 TCB_ulCPUUsageTicks 与 TCB_ulCPUUsageKernelTicks 变量中就存放了这段时间内的所有线程的执行 ...
SylixOS下的GIC中断实现(基于T3)
GIC常用寄存器介绍 GICD_CTLR GICv2控制器将中断分为两组。配置对应寄存器可以控制这两组中断的使能与禁能。 GICD_ISENABLERn 中断向量使能寄存器,写入1使能对应的中断向量号,写0没有影响。读取数据表示对应中断向量号的使能状态。每32个中断向量使用一个寄存器位,后续中断向量放在接下来的寄存器地址上。 GICD_ICENABLERn ...
CPU 资源百分比查看及阻塞事件情况
问:线程占用 CPU 资源百分比的运行情况在哪里查看?以及线程阻塞事件的具体情况? 答:可以通过SylixOS中的 top 或者 cpuus 指令查看线程占用CPU资源的运行情况。 如果要查看消息队列的动态情况,可以通过 SylixOS 中的 tp 指令查看线程阻塞事件的句柄。 如果阻塞的 STAT 状态为 msgq,则可以通过“msgq 句柄”查看阻塞消息队列的具体信息。 如果阻塞状态 STAT 为 sem,则可以通过“sem 句柄”查看阻塞信号事件的具体信息。
SylixOS 串口中断
问:SylixOS 的串口在收到几个字节后就能给出中断?如,串口收到一个字符,这个时候会立即给出中断吗还是像龙芯手册中写的,得等4个空闲周期后再给出中断? 答:这个和处理器及中断控制器相关, 默认1字节就会触发中断; 这个要看CPU的串口是怎么处理的, 龙芯芯片手册说的要等空闲周期那就是要等空闲时间 。
SylixOS 中是否支持中断底半部,如何使用?
1. 适用范围 本文档适用于对中断底半部有了解需求的开发人员。 2. 原理概述 在发生中断时,内核会记录哪个中断产生并把中断相应的处理函数加入一个处理队列里, 直到把所有同一时间发生的中断全部记录好后, 处理队列里的函数才会逐一得到调用。所以当一个中断处理函数处理过久时,就有可能影响它后面的中断处函数的执行时机。我们用的中断处 理函数是可以被中断信号打断的。 ...