5 SD卡的封装

概述 SD卡主要用于存储IPC设备端的端侧录像,以用于后续的点播和下载。因为在公有云和私有云上存储录像一般是按月或按年收费的,一些用户可能不会订购云存套餐。此时

概述

        SD卡主要用于存储IPC设备端的端侧录像,以用于后续的点播和下载。因为在公有云和私有云上存储录像一般是按月或按年收费的,一些用户可能不会订购云存套餐。此时,端侧的SD卡录像就发挥了重要作用,可以为用户存储少则几天,多则一两个月的录像。IPC设备上一般都有SD卡的卡槽,用于插入标准SD卡或Micro SD卡(也叫TF卡)。在这一节,我们只会介绍与SD卡本身有关的内容,包括:获取SD卡的容量信息、格式化SD卡、获取SD卡的状态等。至于录像文件的存储格式、录像文件的读写等功能,则放到后面的章节专门介绍。

        SD卡存储录像文件时,可采用常规的Fat32、ext4等文件系统,也可采用自定义磁盘存储结构的流式系统。这里为了更加通用,选择常规的Fat32和ext4文件系统。在内核添加对Fat32文件系统、ext4文件系统、mdev和hotplug功能的支持后,我们就可以开始封装SD卡了。

SD卡接口类

        SD卡接口类比较简单,主要有以下几个接口:

        1、初始化接口,用于传入初始化参数。

        2、获取磁盘状态的接口。

        3、获取磁盘信息的接口。

        4、格式化磁盘的接口,可支持阻塞和非阻塞两种调用方式。

        5、unmount的接口,用于关机、重启等操作时,正常卸载磁盘。如果未正常卸载,可能导致磁盘中的录像数据丢失、文件系统损坏。

        SD卡接口类的头文件如下:

#pragma once#include "HP_MPPTypes.h"class