Day2-UFS协议栈
UFS
学习链接1:UFS定义一个完整的协议栈
学习链接2:UFS协议栈(应用层、传输层、互联层)
学习链接3:UFS3.1分层架构
应用层基于SCSI,数据链路层基于UniPro,物理层基于M-PHY,仅传输层为原创的UTP;
应用层 :命令集、设备管理器、任务管理器
传输层:UPIU
UDM_SAP(通用设备管理服务访问节点-Universal Device Management Service Access Point)是设备管理器与传输层之间通信的接口。
UTP_CMD_SAP是命令集与传输层之间通信的接口。
UTP_TM_SAP是任务管理器与传输层之间通信的接口。
UIO_SAP提供了一种机制,允许设备管理器在用户空间直接与硬件设备交互,绕过内核空间的某些层。
UIC_SAP传输层与数据链路层之间通信的接口。
疑问:服务访问点(Service Access Point,简称SAP)如何实现,具体是个啥?
学习链接4:UPIU:UFS协议信息单元
学习链接5:UPIU架构
客户-服务端架构,UFS主机(客户)主动发起请求,UFS设备(服务)执行后并返回相应状态。并且只能主机主动发起,设备作为从机不能发起而只能被动响应。
UPIU的事务类型包括4种格式,分别是:请求命令UPIU、数据传输UPIU、设备响应UPIU、其他UPIU。
每个请求或命令均包括:命令阶段、(数据阶段)、响应阶段。
写操作时采用一问一答的形式,读操作则不需要。
疑问:这个UPIU和TCP有类比关系吗?
C++
c++开发中常见的崩溃问题及解决办法
c++常见崩溃问题分析
gdb调试
vector迭代器失效:实质在于迭代器底层对应指针所指向的空间被销毁或变得非法,导致迭代器不再指向有效的内存地址或预期的元素。
【C++】vector的使用及其迭代器失效问题
STL之vector 迭代器失效问题