- 博客(62)
- 资源 (2)
- 收藏
- 关注
原创 DAY9-USF4.0技术文档笔记
1.概述2.参考协议标准3.术语与定义4.引言6.UFS电气特性:时钟、复位、信号与电源7.复位、加电升压和断电降压12.UFS安全13.UFS功能描述14.描述符、标志与属性15.UFS机械标准。
2025-04-28 19:32:27
255
原创 DAY6-UFS基本概念
3.L2 Data Link: 数据链路层,以Frame为单位,每个Frame最多打包144个Symbol,在Frame上加上头尾及纠错。UTP主要是把UniPro的segment打包成UFS直接可以识别的命令格式,让UFS自己掌握发送数据的节奏、控制自身的状态。2.L1.5 PHY Adapter:物理适配层,以Symbol为单位,每个Symbol有17个bits。1.使用差分串行传输,串行决定使用更快的时钟,差分增强抗干扰能力;LU:逻辑单元,一个可被操作系统识别和访问的逻辑存储单元。
2025-04-22 19:55:19
234
原创 Day5-UFS总结
传输协议的本质:两个收发器件,对需要传输的数据,一层一层的封装和解析,利用封装增加的额外信息,做一些数据处理,完成源地址到目标地址的数据传输功能。应用协议的本质:基于某种传输协议之上,完成一组业务,来对外提供一组服务。UFS测试程序的本质:测试对外服务的可靠性,对UFS设备做一系列操作,来验证设备功能是否正确。UFS器件:提供各种描述符,标签和属性,用来控制器件的不同功能。
2025-04-21 20:08:22
438
原创 Day4-存储技术概述
系统产品:eMMC(NAND FLASH+控制器+标准封装)、UFS、SSD、eMCP(eMMC+LPDDR)、uMCP(UFS+LPDDR)非易失性存储分为ROM类、FLASH类、新型类,FLASH类主要是NOR和NAND,主要是ROM类的升级,新型类重点关注为PCM。从数据保存的持久性来看,分为两类:易失性存储(断电不保存)–RAM、非易失性存储(断电保存)—ROM。从简单的PC电脑来看,存储涉及到CPU寄存器、内存、磁盘、EFI引导区;SSD传输协议分类:AHCI、NVMe。
2025-04-19 10:58:37
229
原创 Day3-UFS深入学习路线
5.引用在定义时需初始化,常量引用需使用const,sizeof引用结果为为引用类型的大小,但指针始终是地址空间所占字节个数(通常与int类型相同)6.C语言结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数,类成员函数的声明和定义放一起会默认为内联函数。默认拷贝构造函数是构造函数的一个重载形式,参数只有一个且必须是类类型对象的引用;默认构造函数只能一个,无参的构造函数和全缺省的构造函数都称为默认构造函数;参数类型不同、参数个数不同、参数类型顺序不同。1.理解存储技术背景。
2025-04-18 18:32:37
671
原创 Day2-UFS协议栈
应用层基于SCSI,数据链路层基于UniPro,物理层基于M-PHY,仅传输层为原创的UTP;应用层 :命令集、设备管理器、任务管理器传输层:UPIU疑问:服务访问点(Service Access Point,简称SAP)如何实现,具体是个啥?客户-服务端架构,UFS主机(客户)主动发起请求,UFS设备(服务)执行后并返回相应状态。并且只能主机主动发起,设备作为从机不能发起而只能被动响应。
2025-04-17 19:57:13
259
原创 Day1-初次接触UFS
经过导师初次介绍,了解工作以芯片测试为主,需坚持学习,小白大致需3-6月入门。整体学习应分为3大块,UFS协议占40%(3-4h),C++占40%(3-4h),工具或业务占20%(1-2h)。
2025-04-16 17:43:14
444
原创 torch.Tensor和torch.tensor
IN:torch.tensor([2.,3.2])Out: tensor([2.0000, 3.2000])IN:torch.Tensor(2,3)Out:tensor([[-7.5731e-29, -2.7648e+38, nan], [ 4.0672e-31, 2.4467e-12, 4.0995e-39]])注意:小写tensor一般用于接受实际类型。大写Tesnor用于接受shape类型,虽然可用于接受list但为了便于区别和记忆,常用tensor代替
2021-11-29 12:52:14
1331
原创 c++宏编写单例模式的3种写法
饿汉:一开始就实例化对象懒汉:调用(需要)才去实例化对象写法一,可用于懒汉和饿汉线程安全singleton.h#ifndef SINGLETON_H#define SINGLETON_H#include <mutex>#define DECLARESINGLETON(class_name) \private: \ static class_name *_instance; \public: \static class_name *instance() \{ \
2021-06-08 14:03:30
649
原创 linux Poco::Exception :I/O error: Too many open files 解决方法
1.利用ps -A|grep 找到程序的pid号2.lsof -p pid 即可查看那个tcp占用了太多资源,再对其进行优化处理
2020-12-15 16:37:07
505
原创 Ubuntu16.04 redis和可视化工具的安装
在线安装sudo apt-get updatesudo apt-get install redis-server 1.执行service redis status 可以查看redis服务的状态为running,说明安装完成系统自动启动了服务。2.开启远程连接:找到/et/redis/redis.conf文件修改如下 ,注释掉 127.0.0.1 #bind 127.0.0.1。3.设置密码(不建议设置):找到/et/redis/redis.conf文件修改如下 ,添加...
2020-12-15 16:28:50
422
原创 c++项目实战--->Ubuntu系统设置qt程序守护进程
设置工具:systemctlsystemctl是一个systemd(system daemon,linux下的一种init软件)工具,主要负责控制systemd系统和管理系统服务。作用将程序注册为systemd service进程管理交由系统管理,实现程序的异常退出重启和开机自启动。编写systemctl管理的服务脚本,一般以.service结尾配置文件一般分为3个区块(Unit、Service、Install),每个区块包含若干条键值对。以PowerPlantManagerd.s
2020-10-19 17:07:18
888
1
原创 Ubuntu16.04+QT---poco库的使用之http网络通信
1.poco库的安装和编译见上篇:https://blog.youkuaiyun.com/qq_40167046/article/details/1091197632.QT的poco配置.pro文件,添加poco的配置## POCO配置 ### poco的头文件等都在这个目录下,到include一级即可,不需要再下去到 /poco/# 其实不需要加这句,因为该路径是默认添加的INCLUDEPATH += /usr/local/include# 配置1,动态库CONFIG(debug,
2020-10-18 15:51:49
1488
2
原创 Ubuntu16.04--poco和boost库编译和安装
poco法1:如果有版本的需求则不推荐sudo apt-get install libpoco-dev# 也可利用新立德软件管理包安装法2:编译poco源码(推荐)官网下载:https://pocoproject.org/或者:https://download.youkuaiyun.com/download/qq_40167046/12939299安装所需的依赖:sudo apt-get install openssl sudo apt-get install libssl-de
2020-10-16 17:52:17
1446
1
原创 c++项目实战---->QT过滤文件并删除多余文件
接上篇c++项目实战---->QT文件日志输出// 控制日志文件数量static void control_filesnum(){ QDir dir(parameter.log_folder_path); if (!dir.exists()) { return; } QStringList filter; filter << "*.log"; dir.setNameFilters(filter); // 设置文件过滤
2020-09-17 16:22:51
630
1
原创 c++项目实战---->QT文件日志输出
1.QCoreApplicationQt库针对不同的应用程序类型,提供了不同的类来表示。比如,QCoreApplication表示Qt控制台程序,QApplication 和 QGuiApplication 表示GUI程序。它们之间的关系为QCoreApplication 继承自最顶层的QObject,QGuiApplication 又继承自QCoreApplication,QApplication又继承自QGuiApplication。int main(int argc, char *argv[])
2020-09-17 15:37:42
556
1
原创 数据库-->mysql学习笔记4之事务
**事务**概念:一个最小的不可分割的工作单元。事务能够保证一个业务的完整性。作用:多条sql语句,同时成功或者同时失败。提供反悔的机会。--自动提交? @@autocommit=1--手动提交? commit;--事务回滚? rollback?手动开启一个事务BEGIN;或者START TRANSACTION;事务的四大特征ACIDA 原子性:事务是最小的单位,不可再分割。C 一致性:事务的基本要求。I 隔离性:事务1和事务2 之间是具有隔离性的。D 持久性:
2020-08-12 11:52:58
141
原创 数据库-->mysql学习笔记3之范式和查询
**1.数据库的三大设计范式**第一范式:1NF 数据表中的所有字段都是不可分割的原子值;(拆字段)第二范式:2NF 必须满足1NF的条件下,除主键外的每一列都必须完全依赖于主键,而不能只与主键的某部分相关(主要针对联合主键);(拆表)第三范式:3NF 必须先满足2NF,除主键外其他列不能有传递依赖关系。(拆表)**2.SQL查询语句**查询student表中所有记录SELECT * FROM student;查询指定字段SELECT sname,ssex,class FROM s
2020-08-11 16:24:20
190
原创 数据库-->mysql学习笔记2之约束与表结构
1.MYSQL建表约束主键约束primary key; 唯一确认一条不为NULL的记录自增约束AUTO_INCREMENT;一般和主键配合使用唯一约束unique;被修饰的字段不能重复非空约束NOT NULL; 修饰的字段不能为空 NULL默认约束default;外键约束(主表,副表)--班级CREATE TABLE classes( id int primary key, name VARCHAR(20) );--学生表CREATE TABL
2020-08-10 17:51:46
167
原创 数据库-->mysql学习笔记1之创建等基本操作
1.查询SELECT * from adminWHERE Admin_Id = 1 ;2.创建数据库CREATE database test;3.创建数据表CREATE TABLE pet ( name VARCHAR(20) NOT NULL default '' COMMENT '宠物姓名', owner VARCHAR(20) NOT NULL default '', species VARCHAR(20), sex CHAR(1) NULL, birth DATE de
2020-08-10 16:57:28
150
原创 cjson ---> 字符数组初始化
char text1[]="{\n\"name\": \"Jack (\\\"Bee\\\") Nimble\", \n\"format\": {\"type\": \"rect\", \n\"width\": 1920, \n\"height\": 1080, \n\"interlace\": false,\"frame rate\": 24\n}\n}"; char text2[]="[\"Sunday\", \"Monday\", \"Tuesday\", \"We
2020-07-30 18:27:18
391
原创 c/c++指针 ----> cJson源码阅读 day3-2
c 文件操作/* dofile("../../tests/test1"); */void dofile(char *filename){ FILE *f; long len; char *data; f = fopen(filename,"rb"); fseek(f,0,SEEK_END); len = ftell(f); fseek(f,0,SEEK_SET); data=(char*)malloc(len+1); fread
2020-07-30 18:20:38
176
原创 c/c++指针 ----> cJson源码阅读 day3-1
- strcpy和memcpy的区别通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
2020-07-30 17:29:07
320
原创 c/c++指针 ----> cJson源码阅读 day2-2
- parse_string函数(\"解析的难点)static const char *parse_string(cJSON *item,const char *str){ const char *ptr = str + 1; char *ptr2; char *out; int len = 0; unsigned uc,uc2; if (*str != '\"') // 非字符串 { ep = str; retur
2020-07-29 14:46:00
163
原创 c/c++指针 ----> cJson源码阅读 day2-1
- memset()函数/*memset库string.h中的函数.原型是 extern void *memset(void *buffer, int c, int n) buffer:为指针或是数组,c:是赋给buffer的值,n:是buffer的长度.将buffer中前 n 个字节用 c 替换并返回 buffer.*/static cJSON *cJSON_New_Item(void){ cJSON* node = (cJSON*)cJSON_malloc(sizeof(c
2020-07-29 14:37:28
183
原创 模板4之统计淘宝商品销量(正则表达式、JSON、递归)
import requestsimport reimport openpyxldef open_url(keyword): payload = {'q':"关键字参数","sort":"关键字参数"} url = "网址url" headers = { "user-agent": "F12可获得" } res = requests.get(url,params=payload,headers=headers) return resdef get_space_end(leve
2020-06-18 18:08:59
495
原创 模板3之爬取网易云音乐热门评论(post)
import requestsimport jsonimport openpyxldef get_hot_comments(res): comments_json = json.loads(res.text) # json格式转化为python格式 hot_comments = comments_json['hotComments'] with open('hot_comments.txt','w',encoding='utf-8') as file: for each in hot_co
2020-06-18 11:46:42
305
原创 模板2之爬取城市房价
import requestsimport bs4import reimport openpyxldef open_url(url): headers = { "user-agent": "F12可获得" } res = requests.get(url,headers=headers) return resdef find_data(res): data = [] soup = bs4.BeautifulSoup(res.text,"html.parser") conte
2020-06-18 10:01:28
137
原创 模板1之爬取豆瓣电影排行榜
伪代码,当模板import requestsimport bs4import redef open_url(url): headers = { 'user-agent': '网页F12去找' } res = request.get(url,headers=headers)return resdef find_movies(res): soup = bs4.BeautifulSoup(res.text,'html.parser') # 电影名 movies = [] t
2020-06-17 19:54:14
350
原创 正则表达式和JSON
正则表达式一、导入re模块pip install re查看是否安装:pip listimport re二、常用符号“.” : 可代替所有除"\n"之外的任一字符。“*”:表示它前面的一个子表达式0次到无限次。“?”: 表示它前面的子表达0次或1次“” : 配合其他字符使用“\d” : 表示一位数字“()” : 提取括号内容三、爬虫所需1.将网页标题爬取下来:’(.*?)’2.\w: 单词数字字符 ,"+":匹配前一个字符1次或无限次JSON一、导入JSON.
2020-06-17 19:17:44
464
原创 现代计算机网络ch4 P2P
一 混合式P2P网络(第一代)二 无结构P2P网络(第二代)三 结构化P2P网络(第三代)四 Chord协议五 Kademlia协议六 Bitcoin以及区块链...
2020-01-06 03:34:04
200
1
原创 现代计算机网络ch3拥塞控制
一 基础二 拥塞控制基本概念三 排队算法:FIFO,FQ,WFQ四 流量整形:漏桶、令牌桶算法五 TCP拥塞控制机制(慢启动、拥塞避免、快速重传、快速恢复)六 拥塞避免:ECN显式拥塞控制,RED随机早检测,TCP VegesECN显式拥塞控制TCP VegesRED随机早检测DECbit...
2020-01-05 23:50:43
171
原创 现代计算机网络ch-2 IPv6
一 IPv4和IPv6差异二 IPv6地址分类和特点1.保留地址2.Unicast、Anycast和Multicast地址3.可聚类全局Unicast地址三 IPv6地址自动配置的两种方式,stateless过程1.存在一个能将地址和其他配置信息分发到DHCP客户端的服务器2.不需要服务器,无状态自动配置。stateless过程:首先,获取主机所连接的链路上具...
2020-01-05 16:35:54
263
原创 现代计算机网络ch1-1体系结构
1.什么是网络?网络的作用:连接不同设备,交换信息;特点:针对特定信号,连接特殊设备;计算机网络最大的特点:通用性,传输的是通用数据,连接的通用的计算机。1.1什么是计算机网络计算机网络是互联的通用计算机的集合,具有互联和自治的特点;分布式系统和网络的区别:a.分布式系统展现给用户的是一个同意的整体系统;b.对用户来说,分布式系统只有一个模型或范型,例如万维网(www)、集群;...
2020-01-05 11:27:14
275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅