- 博客(39)
- 资源 (5)
- 收藏
- 关注
原创 Git如何撤销已经提交到库上的代码
当你在提交代码后想要撤回其中一个文件,那么可以使用以下流程予以实现1.git log查看提交记录,确定自己的提交内容和要撤回的内容;2.git reset --soft HEAD^,则意味着将HEAD从顶端的commit往下移动到上一个commit3.git status 查看当前的修改状态,可以发现上次提交已经被撤回。4.git reset HEAD xxx/x...
2019-04-11 10:07:03
17792
1
原创 Ubantu 4.15进入4.10的方法
这两天往调试机新加了一个win10,突然ubantu自带的高级选项进不去了……由于需要ubantu 4.10的版本作为调试环境,所以还是得降核,这里是修改方法以下为具体步骤:1.输入命令:sudogedit /etc/default/grub)2.找到hidden_timeout 数字改为10,保存3. 这行代码下面有个bool量设置 改为false 2-3 如下所示...
2019-02-21 10:11:21
253
原创 Nvme-Cli使用心得(二) Read/Write测试经验
1.Write 首先看Write命令的官方说明:nvme-write <device> [--start-block=<slba> | -s <slba>] [--block-count=<nlb> | -c <nlb>] [-...
2018-12-18 17:18:32
12265
3
原创 UHL IOL NVMe测试工具安装及使用的常见问题
1. 安装过程1.1 卸载NVMe driver *UHL IOL NVMe测试工具需要在Ubantu 16.04.10下运行。 为了避免与dnvme的驱动相互冲突(版本不同等情况),需要先将原驱动卸载。sudo rmmod nvmesudo rmmod nvme-core1.2 加载dnvme驱动 进入dnvme的目录下,/iol_i...
2018-12-12 11:18:12
3090
1
原创 NVMe-Cli使用心得(一) Controller测试方法
1.检查Controller是否正常 进入/dev,输入ls检查是否存在nvme0和nvme0nx,其中x为NVMe Namespace的数量。 输入nvme list,检查nvme设备状态2.命令检查 输入nvme id,检查命令列表。 按命令格式进行测试,如Identify com...
2018-12-11 15:03:04
7159
1
原创 NVMe解读---Namespace Management的创建
1.创建Namespace ①.主控软件申请指定了普通Namespace大小的Identify Namespace(Namespace识别符)的数据结构。(识别符的CDW1.NSID配置为FFFFFFFFh,CNS清零) ②.主控软件创建如图Figure123所示的数据结构。 接着主控软件根据一般namespace的期望大小来配置Fig...
2018-10-12 15:26:54
6802
原创 NVMe解读---Boot Partition(write篇)
Boot Partition的内容可以用下载固件image或者固件写入的方式进行改变。 以下是更新Boot Partition的步骤: ① 主控发出一个下载image下载命令来将Boot Partition的内容下载到controller之中。这个过程中也许有多个Boot Partition的部分需要下载,因此每个Boot Partition部分的偏移地址会在Im...
2018-09-12 10:03:41
3475
原创 NVMe解读----Boot Partition(Read篇)
Boot Partition提供一个可操作的NVMe存储区域,可以在不需要主控初始化队列或者使能控制器的情况下进行读取。 An NVMe controller that supports Boot Partitions has two Boot Partitions of equal size using Boot Partition identifiers 0h an...
2018-09-10 15:13:45
5829
1
原创 两数之和问题(C语言解法)
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。算例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]/** * Note: The returned array must be malloced, assu...
2018-05-11 15:07:15
1405
原创 NVMe内存初始化
④ 49.6.2 Controller Reset4. Zeroizeinternal memory as follows:a. If the reset is caused by CC.EN deassertion or if the host disablesthe NVMe Contrprogram CREG_ZEROIZE_MD (R15000000h[4]) to 1h. Otherwi...
2018-04-25 17:42:38
1073
原创 NVMe1.3_Initialization实现
基于NVM-Express-1_3a-20171024_ratified实现NVMe的初始化① 49.6.1Controller Initialization2.c.Program Central Control Module Reset Control (R15018004h)to all ones and then clearthe register. This step resets all...
2018-04-25 11:23:15
994
原创 NVMe初始化代码研究---队列清空
1. Set the targeted Function ID to QARB_FUNC_ID (R15014030h [7:0]).2. Set the corresponding arbitration configuration, which is indicated by the Set Featurecommand, to QARB_ARB_INFO (R15014034h [31:...
2018-04-20 17:18:04
786
原创 NVMe1.3a_Spec解读(一)---控制器初始化
NVMe1.3a控制器初始化和关闭流程(Controller Initialization and Shutdown Processing)1.初始化主控需要按如下顺序执行指令来完成初始化:1. 根据系统配置设置PCIe寄存器,包括电源管理设置。基于pin的单中断,单MSI或者单MSI-X应该被一直使用指导IO队列被确认;2. 主控需要等到控制器表明此前的重置已经完成,即等待CSTS.RDY=...
2018-04-17 14:21:32
8299
1
原创 NVME简单理解(一)
NVMe是什么:NVMe是一种Host与SSD之间通讯的协议,它在协议栈中隶属高层。 NVMe制定了Host与SSD之间通讯的命令,以及命令如何执行的。NVMe有两种命令,一种叫Admin Command,用以Host管理和控制SSD;另外一种就是I/O Command,用以Host和SSD之间数据的传输。下面是NVMe1.2支持的命令列表:NVMe支持的Ad...
2018-04-17 10:13:33
17192
1
原创 c++求X的N次方的二分实现
分治法实现计算一个数的N次方的可以通过二分思想来实现 #include using namespace std; int Pow(int x, int n) { if (n == 1) return x; else if (n > 1) { int s; int m = n / 2;
2018-01-02 14:31:59
2287
原创 基本排序方法(c++)
#includeusing namespace std;//冒泡排序void bubbleSort(int arr[], int n){ for(int i = 0;i < n;i++){ //比较两个相邻的元素 for(int j = 0;j < n-i-1;j++){ if(arr[j] > arr[j+1]){
2017-12-26 10:24:43
312
原创 Linux基本操作及举例(更新中)
常用指令①①ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all)-alh②mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent)③cd 切
2017-12-19 18:04:10
286
原创 C++操作MySQL
看过很多C或是C++操作MySQL数据库的文章,大部分太吃力了,甚至有一部分根本没有很好的组织文字,初学者比较难以接受,即使是C++或是C高手也是比较难看懂。写这篇文章的目的不是别的,就一个,告诉您用MySQL的C API直接操作MySQL数据,并做了比较高效的封装,可以帮助开发人员大幅度提高采用MySQL的C API操作MySQL数据库的效率。直接进入主题:1、 准备工作MyS
2017-12-13 15:32:31
284
原创 链表中添加一个节点和删除一个节点
这里主要记录单向列表添加和删除一个指定位置节点的书写方法。 首先先创建链表节点数据的基本类型: #ifndef NODE_H#define NODE_H#include "Person.h"class Node{public: Person data; //数据域 Node *next; //指向下一个节点 void pr
2017-12-07 10:42:16
10676
1
原创 fatal: remote origin already exists.解决办法
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法如下: 1、先输入$ git remote rm origin 2、再输入$ g
2017-12-06 14:38:38
1475
原创 关于错误“未声明的标识符”
在VS2012下进行VC++调试时,出现这样一种错误:error C2065:未声明的标识符,当时感觉十分怪异,为什么说怪异呢?因为如果在.cpp中未引入相关.h文件出现这样的错误很正常,但是现在是已经引入了相关的头文件,却还是出现了诸如error C2065、error C2087、error C2133...的错误。 情况是这样的,新建了一个工程项目,想使用其他工程中定义的同一组
2017-12-04 15:31:08
29518
转载 C语言的AT指令
今天跟人聊嵌入式,对面是某国际硬盘生产商的嵌入式软件工程师,问了我很简单的问题,如何快速将一个变量赋给某个特定的地址。 按我们思路就是unsigned *a = address1; *a = address2; 人说一个at指令就搞定了……,故而查了一下。 在keil里面,有一个特殊地址定位的指令,就是将一个变量或常量定位到一个指
2017-12-01 14:44:51
11599
原创 ubantu文件权限获取方法
今天重装了Ubantu,想装jdk猛然发现自己忘了怎么获取usr的权限了·······如下所示ubuntu系统复制文件到usr目录使用当权限没有时候,加上sodu 如:sudo cp -f ****.txt /usr/local但是这样操作上你用当前帐户是没有权限的!sudo chmod -R 0777 /usr/local/eclipse-R:递归所有
2017-11-29 14:21:34
831
原创 12M晶振下,STM32串口波特率设置问题
使用外接12MHz的晶振,会造成很多的问题,如USART的波特率不正确,Systick走时不准等问题,在无论是在实际调试还是在软件模拟中都会发现这个情况,其实,这不能怪ST官方,我们必须肯定ST官方为方便用户开发所做的努力,下面我们就通过简单的三个步骤就可以让你随意的使用4—16MHz之内任何频点的晶振,我们以STM32F10x_StdPeriph_Lib_V3.4.0为例说明。第一步
2017-11-28 16:35:49
3620
原创 Linux进程状态总结
系统维护的时候难免会遇到进程的状态的查询和管理,到底什么是R,有的是S,有的还是S+呢?一直有些混沌的问题,今天细细的来总结一下: ps是用来报告系统中程序执行状况的命令这个是无可厚非的,linux进程的状态:D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生R 正在运行或可运行(在运行队列排队中)S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的
2017-11-28 09:42:02
891
原创 linux下如何杀掉D状态进程
D状态(disk sleep)进程用kill -9命令是不管用的,最简单的方法就是reboot, 除此还可以修改内核,将其进程状态转化为别的状态,然后kill掉。 新建文件夹, cd进去,新建killd.c 文件,代码如下:#include #include /*Needed by all modules*/#include #include //for_each_proce
2017-11-25 21:07:23
3932
2
原创 JavaScript事件总结
JavaScript事件1.Date日期种类日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。定义一个时间对象 :var Udate=new Date();2.String字符串对象在之前的学习中已经使用字符串对象了,定义字符串的方法就是直接赋值。比如:var mystr = "I love JavaScript!"
2017-11-24 15:34:43
234
原创 CSS盒模型
1.1 盒模型--边框(一)盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色(边框三个属性)。如下面代码为 div 来设置边框粗细为 2px、样式为实心的、颜色为红色的边框:div{ border:2px solid red;}上面是 border 代码的缩写形式,可以分开写:div{ border-width:2px; border-style:s
2017-11-13 17:40:33
204
原创 Html基础编译知识
Html基本结构 //文档声明,标注HTML版本 //顶元素或底元素 //放通用信息,用于描述html文本信息 基本HTML结构 //存放内容 我是一级标题 我是一段文本段落显示效果即如图1所示:图1常用分段
2017-10-16 21:54:13
800
原创 Html和CSS布局技巧
单列布局水平居中水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介绍四种实现水平居中的方法(注:下面各个实例中实现的是child元素的对齐操作,child元素的父容器是parent元素)使用inline-block和text-align实现.parent{text-align: center;} .child{display: inline-block;}优
2017-09-30 14:32:40
404
原创 把Excel文件导入到Navicat for MySQL时的问题
首先,是字符集的问题。这种问题很常见,在新建立的表的时候在表中插入数据,但是插入汉字的时候却总会出乱码。解决问题方法如下:mysql> show variables like ‘characterset%’; +————————–+—————————-+ | Variable_name | Value | +————————–+—————————-+ | character_set_cli
2017-09-30 11:15:08
2176
原创 memset用法
memset是计算机中C/C++语言函数。将s所指向的某一块内存中的前n个 字节的内容全部设置为ch指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。其原型为:void *memset(void *s, int ch, size_t n);函数解释:将s中当前位置后面的
2017-09-25 12:23:56
377
原创 Git使用gitignore建立项目过滤规则
在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件等,这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。
2017-09-22 16:12:24
451
原创 mysqld_multi实现单机主从复制
步骤1: 使用mysqld_multi开启上一节已经设定好的三个MySQL服务,命令执行如下。[root@localhost ~]# mysqld_multi --defaults-extra-file=/etc/my.cnf start 1-3 [root@localhost ~]# netstat -an|grep 330步骤2: 登录Master主服务器,设置一个复制
2017-09-20 16:57:29
428
原创 Windows环境下主从复制测试
步骤1: 在Master主机的MySQL环境下,执行如下命令。mysql> use test; mysql> create table rep_test( -> data integer -> ); mysql> insert into rep_test values(2); 步骤2: 在Slave主机的MySQL环境下,查看主机刚才添加的表和数据是
2017-09-20 16:55:10
256
原创 Windows环境下实现主从复制
步骤1: 在Windows操作系统下安装好两台主机的MySQL服务器,配置好两台主机的IP地址,实现两台计算机可以网络连通。步骤2: 看下datadir的具体的路径。mysql> show variables like '%datadir%';步骤3: 编译C:\Documents and Settings\All Users\Application Data\MySQ
2017-09-20 16:52:43
536
原创 STM32F10X系列LCD屏的配置及子函数
首先是LCD的RAM写子函数:void LCD_WriteRAM(u16 RGB_Code){ GPIO_SetBits(LCD_RS_PORT,LCD_RS_PIN); GPIO_Write(LCD_PORT_PORT,RGB_Code>>8); //Delay(5); GPIO_ResetBits(LCD_WR_PORT,LCD_WR_PIN); /
2017-09-20 15:38:34
2120
原创 欢迎使用优快云-markdown编辑器
列车高速定位系统的测试与仿真1.引言伴随着国民经济的飞速发展,人们对于轨道交通便利和安全的需求程度变得越来越高。轨道交通作为陆地的高密度载客交通工具,在我国的长距离运输体系中占据了无比重要的地位。但是随着列车的速度越来越快,种类越来越多,对于列车的安全监控技术就显得尤为重要。其中,定位技术作为一种重要的列车状态监控手段,也越来越受学术界的关注。由于列车行驶途径上环境的复杂性,获取列车的定位参数的准确
2017-09-20 11:28:36
393
转载 多线程编程基础知识
多线程编程基础知识当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方
2016-10-08 15:30:45
257
moneydemo.ZIP
2020-02-28
超声仿真工具包field I
2014-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人