自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 3.ARMv7-M exception model(1)

ARMv7-M exception modelARMv7-M和ARMv7在异常处理中的不同为:ARMv7-M在异常进入和退出时使用硬件进行关键信息保存和恢复,并且使用Vector中的table代笔异常入口的地址,而不是指令。另外异常分类也有不同。Overview of the exceptions supportedARMv7-M有以下异常:ResetARMv7-M支持两种级别Reset: Power-on reset,Reset处理器,重置所有寄存器。 Local R

2021-03-13 18:29:51 863

原创 2.ARMv7-M registers

Registers通用寄存器R0-R12。R13 - Stack Pointer(SP_main& SP_process)。Reset之后,处理器会自动获取Vector中偏移为0下的内容,写入到SP_main中,即初始化SP_main指针,此时为Thread mode并且为Privileged。如果想要切换为SP_process,需要再将SP_process初始化,使用MSR指令即可。ARMv7-M的实现中,忽略掉了SP[1:0],也就是处理器自动向下取4-byte对齐使用。ARM..

2021-03-13 17:43:12 350

原创 1.ARMv7-M Overview of system level terminology and operation

1.ARMv7-M memory mapped architectureARMv7-M是采用Memory-mapped架构,这一位置该架构采用了物理地址作为:事件入口,比如vectors向量表。 系统控制和配置,比如System Control Registers。ARMv7-M实现了使用一个地址列表来存放异常处理入口,即发生异常时,从Vector Table中获取异常处理函数入口。该架构保留了地址空间0xE000000-0xFFFFFFFF给System Level使用。arm使用了该空间

2021-03-13 17:29:41 326

原创 PCIe TLP包内容 全

一个完整的TLP由1个或者多个TLP Prefix, TLP头, Data Payload 和 TLP Diseset组成。不同TLP头定义不同,TLP Data Payload的长度可变0-1024DW。TLP头由3个或者4个DW组成,第一个DW中保存通用TLP头,其他DW与通用TLP头的Type字段相关,通用头如下:Fmt和Type字段:Fmt和Type字段确认了当前TLP使用的总...

2018-10-23 18:16:58 4569

原创 nvme1.3 Feature - Telemetry

8.14 Telemetry遥测技术使制造商能够收集内部数据日志,以改善产品的功能和可靠性。遥测数据的收集可以由Host或者Controller进行发起。遥测数据以Telemetry Host-Initiated log page or the Telemetry Controller-Initiated log page (refer to section5.14.1.7 and 5.14.1.8)的形式被返回到Host。抓取的数据由厂商自定义。遥测功能定义了收集厂商特定数据的机制。Controlle

2021-03-01 17:52:20 1443

原创 nvme1.3 Get Log Page Command - Telemetry

5.14 Get Log Page Command5.14.1.7 Telemetry Host-initiated(Log Identifier 07h)这种log由头信息和Telemetry Data Blocks组成(参见8.14)。所有的Telemetry Data Blocks都是由512Byte为单位。当Controller要处理一条Get Log Page命令且Log Specific字段中的Create Telemetry Host-Initiated Data bit为1时,Con

2021-03-01 17:50:45 1551 1

原创 Xilinx Zynq mpsoc 的 pcie Tandem 配置

参照Xilinx 《UltraScale Devices Gen3Integrated Block for PCI Express v4.4》 LogiCORE IP Product Guide中的Ch.3章节中的Tandem Configuration.PCI Express specification对设备的要求是PERST# must deassert 100 ms after the ...

2020-02-02 18:24:53 3622

原创 Linux并发控制

目录并发和竞态编译乱序和执行乱序中断屏蔽原子操作位原子操作自旋锁信号量互斥体完成量并发和竞态1.并发是多个执行单元同时并行的执行。2.竞态是指并发操作对共享资源的访问。竞态的发生情况如下: 1.对称多处理器(SMP)的多个CPU的进程、中断之间的并发为核间并发。 2.单个CPU内的多个进程并发访问共享资源。 3.中...

2019-12-15 22:31:32 158

原创 nvme1.3 Namsepace

6 NVM Command Set6.1 Namespaces6.1.1 Namespace OverviewNamespace是Logical Block的集合,Logical Block的范围从0到Namespace大小-1.一个Namespace ID(NSID)是Controller用来提供对Namespace访问的标识符。6.1.2 Vaild and Invaild N...

2019-12-12 14:20:12 3400

原创 nvme1.3 Virtualization Enhancements(Optional)

8.5 Virtualization Enhancements(Optional)虚拟增强可以使用具有多个Controller的NVM subsystem来提供虚拟或者是物理HOST直接的I/O访问。NVM subsystem由Primary Controller和secondary controller组成,secondary controller由primary controller...

2019-12-11 08:02:28 2099

原创 nvme1.3 interrupts architecture

7.5 interrupts中断架构应当去考虑有效的报告中断,这样才能使Host通过最小的开支为中断提供服务。nvme Specification中允许Controller配置四种中断模式中的一种。这四种模式是:Pin-based中断,Signle message MSI中断,multiple message MSI中断和MSI-X中断。为了提高性能,降低延时和HOST处理中断服务的...

2019-12-05 09:03:19 3243

原创 nvme metadata end to end 简介和测试

单独对于Metadata的测试只是校验Metadata的写入和读出是否正常就可以了,在格式化成metadata的格式后,不会对lba的数据传输产生影响;metadata的写入读出也都正确.前者可以通过fio测试,后者可以通过nvme cli测试Nvme协议中对于metadata的用法给出的是承载End to End protection,也就是将PI信息放在了Metadata中进行传输,这样的...

2019-11-22 15:57:15 3854

原创 nvme1.3 学习笔记 5 Admin Command Set-2

5.9 Directive Receive Command5.10 Directive Send Command5.11 Firmware Commit Command注意:这个命令在nvme1.0和1.1中是“Firmware Activate”命令。Firmware Commit命令被用来修改Firmware Image或者Boot分区。当修改一个Firmware Imag...

2019-10-23 07:52:08 4659

原创 Sanitize Command

Sanitize Command被用来开始一个清除操作或者从之前失败的清除操作中恢复。可以支持的清除操作的类型有Block Erase(块擦除),Crypto Erase(秘钥擦除),Overwrite(重写).所有的清除操作都是在后台处理(例如,Sanitize Command的CQ完成并不代表清除操作完成)。具体细节参见8.15节。当任何一个Controller的清除操作开始时,所有在这个...

2019-10-23 07:44:49 1441

原创 nvme1.3 学习笔记 8 End-to-End Data Protection(Optional)

End-to-End Data Protection(Optional) E2E用来提供从应用程序到存储媒体再到应用程序自身的健壮的数据保护。如果这个可选机制被使能了,额外的保护信息(如:CRC)被添加到了Logical Block上面,这些保护信息被Controller或者Host用来判断本段Logical Block的完整性。额外增添的保护信息根据Names...

2019-05-19 14:38:18 4492

原创 nvme1.3 学习笔记 8 Metadata Handling

Controller应该支持每一个Logical Block的Metadata。Metadata是每一块Logical Block的附加数据。对于Host如何使用Metadata数据是没有要求的。一个最普遍的用法是传达E2E保护信息。 Medatada可以用两种方式向Host或者是从Host获取数据。这两种机制在Namespace格式化时被选择。 ...

2019-05-19 14:36:49 2765 6

原创 nvme1.3 学习笔记 5 Admin Command Set-1

5 Admin Command Set Admin Command Set说明了可以提交到Admin SQ中的命令。 Admin SQ Entry的通用的结构定义和字段在第4.2节中说明了。Admmin CQ Entry的通用结构和字段在第4.6节中说明。本节说明的是SQE和CQE中的特定于Admin命令的结构和字段(例如:SQE中的DW10-15和CQE中的DW0)。...

2019-05-19 14:29:47 9702

原创 nvme1.3 学习笔记 4 data struct-2

4.8 Namespace List图37定义了一个有序的Namespace IDs的列表,没有使用的字段为0。图37:Namespace List Format Bytes Description 3:0 Identifier 0:这一字段包含了列表中最小的Namespace ID或者当列表为空时为0 ...

2019-05-10 07:46:43 2840

原创 nvme1.3 学习笔记 4 data struct-1

4.6 Completion Queue Entry Completion Queue中的一个Entry至少是16个字节。图26表述了这16个字节的数据结构Dword0的内容在每种不同命令中可能不一样。如果一个命令使用了Dword0,则这个Dword0的定义包含在了命令的定义里面。如果命令没有使用Dword0。那么这一字段被保留。Dword1时保留的。Dword...

2019-05-07 08:09:22 6224

原创 nvme1.3 学习笔记 3 controller register-3

3.2 Index/Data Pair Registers(Optional) Index/Data 组寄存器提供了Host使用基于I/O 空间的寄存器方位NVMe内存映射寄存器的机制。如果支持的话,这个寄存器应该在BAR2中定义。在基于PC的平台上,如果PCIE地址空间被映射且被映射到1MB以上,则Host在Real Mode(8086 mode)下的写操作不...

2019-05-07 08:07:35 5132

原创 nvme1.3 学习笔记 3 controller register-2

3.1.6 Offset 1Ch:CSTS-Controller Status Bit Type Reset Description 31:06 RO ...

2019-05-06 08:12:48 4534

原创 nvme1.3 学习笔记 3 controller register-1

3 Controller Register Controller register位于被映射到host memory space的MLBAR/MUBAR(PCI BAR0和BAR1)寄存器空间上,可以按照顺序访问,可以任意宽度访问。许多计算机架构中,将内存设置为不可缓存会产生这种行为。Host不应该应用锁定访问。Host应该按照他们自己的宽度或者按照32位对其去访问。违反这些主机要...

2019-05-06 08:10:47 7384

原创 c语言递归方式实现状态机

void run_state(state){    switch(state->next)    {        case state1:        {            if (do_state1() == -1)            {                state->next = state1;            }        ...

2019-01-18 09:05:16 280

原创 VHDL-OV7670-从头到脚-1(cmos8bit数据整合16bit)

弄完了梅老师的verilog例程,想要改成VHDL,做如下记录:8位数据转16位源码------------------------------------------------------------------------------------ Company: -- Engineer: -- -- Create Date:    16:55:08 04/09/2018 -- Design...

2018-04-28 07:51:23 752

基于云终端的智能看护

文简要分析了我国智能看护系统行业的现状,描述了本智能看护系统在信息化服务方面的优点与不足。提出了采用云服务器,无线互联网技术,嵌入式技术相结合的改进思想和解决方案,并对基于云端的远程智能看护系统的核心思想、整体架构和实现技术进行了详细论述。

2015-12-02

通讯基本原理2013本科复习题

通讯基本原理2013本科复习题

2015-04-11

51单片机原理图

51单片机原理图

2015-04-11

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除