C8051F340 USB0 寄存器访问】的更多相关文章

/*************************************************************************** * C8051F340 USB0 寄存器访问 * 说明: * 看一下C8051F340 USB0部分的寄存器访问的原理,毕竟源代码的操作是按照 * 原理来进行编写的. * * 2017-4-1 深圳 南山平山村 曾剑锋 ***************************************************************…
ARM中有两条指令用于在状态寄存器和通用寄存器之间传送数据. 针对32位的ARM处理器,状态寄存器就是一个32位长的寄存器.每个位的含义如下图: 分成了4部分: 1,条件标志位 N(Negative), Z(Zero), C(Carry), V(Verflow)统称为条件标志位.ARM指令可以根据CPSR中的这些条件标志位来选择性的执行. 2,Q标志位 ARM v5的E系列处理器中,CPSR的bit[27]称为Q标志位.主要用于指示增强的DSP指令是否发生了溢出. 3,控制位 I, F, T以及…
这两条指令结合,可用于对CPSR或SPSR进行读/写操作. 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1.MRS指令(Move to Register from Status Register) 1.1.作用 它将程序状态寄存器内容传输到通用寄存器 1.2.语法格式 MRS{<condition>} <Rd>,CPSR MRS{<condition>} <Rd>,SPSR 1.3.参数说明 <Rd>…
状态寄存器访问过程:读 - 改 - 写 读 CPSR / SPSR 指令[ mrs ]    格式:<opcode><cond> Rn, cpsr/spsr 写 CPSR / SPSR 指令[ msr ]    格式:<opcode><cond> cpsr/spsr , Rn mrs r0, cpsr @ 读取cpsr 中状态放在 r0 中 mov r1, #0x1F mvn r1, r1 @ 按位取反在放到 r1 中 位 orr r0, r0, r1 @…
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42408137 转载请著名出处 本博客相关文档下载 :  -- ARM 汇编手册 : http://download.csdn.net/detail/han1202012/8328375 -- ARM 手册 : http://download.csdn.net/detail/han1202012/8324641 -- ARM 9 芯片文档 : http://down…
X86寄存器 ·x86寄存器分类: 8个通用寄存器:EAX.EBX.ECX.EDX.ESI.EDI.ESP.EBP 1个标志寄存器:EFLAGS 6个段寄存器:CS.DS.ES.FS.GS.SS 5个控制寄存器:CR0.CR1.CR2.CR3.CR4 8个调试寄存器:DR0.DR1.DR2.DR3.DR4.DR5.DR6.DR7 4个系统地址寄存器:GDTR.IDTR.LDTR.TR 其他寄存器:EIP.TSC等.   一.          通用寄存器 32位 16位 8位 EAX AX AH…
寄存器和存储器的区别   从根本上讲,寄存器与RAM的物理结构不一样. 一般寄存器是指由基本的RS触发器结构衍生出来的D触发, 就是一些与非门构成的结构,这个在数电里面大家都看过: 而RAM则有自己的工艺,一般1Bit由六MOS管构成.所以, 这两者的物理结构不一样也导致了两者的性能不同.寄存器 访问速度快,但是所占面积大.而RAM相反,所占面积小, 功率低,可以做成大容量存储器,但访问速度相对慢一点. 1.寄存器存在于CPU中,速度很快,数目有限:存储器就是内存,速度稍慢,但数量很大:计算机做…
/*************************************************************************** * I.MX6 AR8031 寄存器操作 * 说明: * 解读一下AR8031这颗PHY的寄存器要如何操作,了解PHY的MDIO是如何操作的. * * 2017-4-12 深圳 龙华民治樟坑村 曾剑锋 ************************************************************************…
一.ARM处理器支持7种工作模式 ① 用户模式(USR): 用于正常执行程序(The normal ARM program execution state) ② 快速中断模式(FIQ): 用于高速数据传输(Designed to support a data transfer or channel process) ③ 外部中断模式(IRQ): 用于通常的中断处理(Used for general-purpose interrupt handling) ④ 管理模式(SVC): 操作系统使用的保…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是对比i.MXRT与LPC在RTC外设GPREG寄存器使用上的异同. 本篇是 <在SBL项目实战中妙用i.MXRT1xxx里SystemReset不复位的GPR寄存器> 一文的延续,SBL 项目是为 i.MXRT/LPC 系列设计的,上文只介绍了 i.MXRT1xxx 里 SystemReset 不复位的 IOMUXC_SNVS_GPR 寄存器,我们需要在 i.MXRTxxx 和 LPC 中也找出 SystemReset 不复位的通…
存储器在CPU外,一般指硬盘,U盘等可以在切断电源后保存资料的设备,容量一般比较大,缺点是读写速度都很慢,普通的机械硬盘读写速度一般是50MB/S左右. 内存和寄存器就是为了解决存储器读写速度慢而产生的多级存储机制,从20世纪50年代开始,磁芯存储器曾一度成为主存的主要存储介质,但从20世纪70年代开始,逐步被半导体存储器所取代,目前的计算机都是用半导体存储器.现在的DDR2内存的读写速度一般为6~8GB/S,跟机器性能也有关系.从根本上讲,寄存器与RAM的物理结构不一样. 一般寄存器是指由基本…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170双核下不同GPIO组的访问以及中断设计. 在双核 i.MXRT1170 下设计应用程序,有一个比较重要的考虑点就是外设资源共享以及任务分配问题,同样一个任务既可以放在默认主核 CM7 下做,也可以放在默认从核 CM4 下去完成.如果这个任务跟片内外设有关,那就得考虑该外设是否在两个核下设计与使用一致,这在项目开始前必须要调研清楚. 今天痞子衡和大家聊一聊 i.MXRT1170 的 GPIO 外设使用在两个核下有什…
第一节 系统概述 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上.结构性.可读性.可维护性上有明显的优势,因而易学易用.用过汇编语言后再使用C来开发,体会更加深刻.Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面.另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解.在开发大型软件时更能体现高级语…
ARM汇编指令集 指令.伪指令 (汇编)指令:   是机器码的助记符,经过汇编器编译后,由CPU执行. (汇编)伪指令:用来指导指令执行,是汇编器的产物,最终不会生成机器码. 有两种不同风格的ARM指令 1).ARM官方的ARM汇编风格:指令一般用大写,Windows中的IDE开发环境. 2).GNU风格的ARM汇编:指令一般用小写. ARM汇编的特点 1. LDR/STR架构 1).ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容加载入CPU中通用寄存器中才能被CPU处…
ARM处理器的指令集可以分为跳转指令.数据处理指令.程序状态寄存器(PSR)处理指令.加载/存储指令.协处理器指令和异常产生指令6大指令 一.跳转指令 跳转指令用于实现程序流程的跳转 跳转指令分类 Ⅰ.使用专门的跳转指令 分支指令 B 带链接的分支指令: BL 带状态切换的分支指令 BX Ⅱ. 程序计数器PC控制 直接向程序计数器PC写入跳转地址值,通过向程序计数器PC写入跳转地址值 可以实现在4GB的地址空间中的任意跳转,在跳转之前结合使用MOV LR,PC等类似指令 可以保存将来的返回地址值…
前言     传说中的VT貌似很神秘的样子,关于VT入门的资料又很少,于是研究了一番 由于资源有限,自身水平亦有限,并且是闭门造车之作,如有错误的地方请指正,不胜感激! 关于VT可以先参考海风月影写的关于VT调试器http://bbs.pediy.com/showthread.PHP?t=96122   运行环境 操作系统: windows XP  CPU : intel i3-390M  状态: 单核运行   驱动没有卸载部分,测试前请先保存好文档.在 boot.ini 文件中添加 /nump…
1.PCI设备编号    每一个PCI device都有其unique PFA(PCI Fcntion Address)    PFA由 bus number.device number.function number组成.        一条PCI总线支持256个PFA,即支持256个PCI device.        每个PCI芯片都有自己的device number(取决于IDSEL管脚),每个PCI芯片占用8个PFA.    每个PCI芯片的第一个PCI device的PFA必为8的倍…
1 什么是后仿真? 后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真. 2 后仿真是用来干嘛的? 检查电路中的timing violation和 test fail,一般都是已知的问题.一般后仿真花销2周左右的时间. 网标仿真的目的是检查RTL仿真和综合后的一致性(logic Equivalence check),由于网标仿真非常慢,所以网标仿真不充分,有的公司没有网标仿真,即使有后仿真,后仿真一般是时间非常少,因为后仿真时间…
为什么要lockfree 按我的理解, lockfree就是不去 调用操作系统给定的锁机制. 1. 会有system call,  and system call is expensive; 比如pthread在linux里调用了futex. 2. 会失去控制, 接下来发生什么看操作系统心情了. 怎么做lockfree 不用操作系统给定的 同步机制, 而使用 硬件提供的机制, 简单说, 就是对 机器指令 的封装函数(right?). 首先一个是 compare-and-set. CAS/TAS…
参考: 书籍,<圈圈教你玩USB>  C8051F单片机快速入门:http://www.waveshare.net/Left_Column/C8051F_Application_Notes.htm   <1>USB器件最底层的驱动编写:   C8051F320.H  C8051F320的定义   F32x_USB_Register.h USB固件.包括所有的USB核心寄存器地址,寄存器访问宏,和寄存器的位掩码   USB.H 8051F系列专用 VID PID  USB_GetOu…
协处理器 协处理器用于执行特定的处理任务,如:数学协处理器可以控制数字处理,以减轻处理器的负担.ARM可支持多达16个协处理器,其中CP15是最重要的一个. CP15提供16组寄存器 通过提供的16组寄存器访问CP15 一.协处理器访问 ARM微处理器可支持多达16个协处理器,用于各种协处理操作,在程序执行的过程中,每个协处理器只执行针对自身的协处理指令,忽略ARM处理器和其他协处理器的指令.     ARM的协处理器指令主要用于ARM处理器初始化ARM协处理器的数据处理操作,以及在ARM处理器…
ARM伪指令 在ARM汇编语言程序中里,有一些特殊指令助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作.伪指令在元程序中的作用是为完成汇编程序作各种准备工作,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成. 伪指令本身并没有所对应的机器码,它只是在编译的时候起作用,或者转化为其他的实际指令来运行. 在ARM的汇编程序中,有几种伪指令:符号定义伪指令.数据定义的伪指令.汇编控制的伪指令.宏指令以及其他伪指令. 一.符号…
内存管理单元(MMU)和协处理器CP15介绍内存管理单元(MMU)介绍嵌入式系统中,存储系统差别很大,可包含多种类型的存储器件,如FLASH,SRAM,SDRAM,ROM等,这些不同类型的存储器件速度和宽度等各不相同:在访问存储单元时,可能采取平板式的地址映射机制对其操作,或需要使用虚拟地址对其进行读写:系统中,需引入存储保护机制,增强系统的安全性.为适应如此复杂的存储体系要求,ARM处理器中引入了存储管理单元来管理存储系统.一内存管理单元(MMU)概述在ARM存储系统中,使用MMU实现虚拟地址…
1. 类: 面向对象基础传统的面向对象编程与systemverilog类的特点,类的定义,成员与方法,构造函数,对象的复制和深/浅拷贝,父类/子类关系,类的继承,作用域的规则,对象的句柄以及赋值,方法的扩展和重写,local/protected关键字,虚基类,虚方法,虚接口. 2. UVM基础 :UVM的发展历史,可配置的测试组件,类库结构,UVM核心基类的介绍,include/macro,UVM交易(data),基本测试组件 (testbench components),组件的phase结构,…
上一篇文章<蓝牙单芯片DA14580的硬件架构和低功耗>阐述了DA14580的硬件架构和低功耗的工作原理.本文文章阐述该平台的软件体系,并着重分析消息事件的处理机制. 一.DA14580SOC硬件组成和软件体系组成 DA14580芯片硬件架构包括三个部分: 1)使用ARM公司的cortex M0作为CPUprocessor处理器. 2)使用RivieraWaves公司的IP核作为BLEcore和基带.射频部分. 3)集成时钟管理CMU.电源管理PMU.memory控制存储和其他外围模块控制器,…
工欲善其事必先利其器,之前做WinCE开发时,经常写一些小工具以提高开发调试的效率,如WinCE驱动调试助手.WinCE串口调试助手.WinCE6.0寄存器访问工具.WinCE远程桌面助手和S3C2410 IIC调试助手等,虽然有些功能不算完善,但在实际工作中还是发挥了一些作用.现在搞Android开发,基本不用自己造轮子了,Linux下有瑞士军刀美称的Busybox就足以处理大多数问题. 今天就以测试一个字符设备驱动为例简单介绍下BusyBox的使用. Busybox官网下载地址:http:/…
程序的机器级表示 寻址方式的演变 DOS → 8086 → IA32 Inter处理器系列俗称x86,其演变过程(根据其所需要的晶体管数量来说明): 8086 → 80286 → i386 → i486 → Pentium → PentiumPro → Pentium II → Pentium III → Pentium 4 → Pentium 4E → Core 2 → Core i7 机器级代码 两种抽象极为重要: 1.机器级程序的格式和行为 指令集体系结构(ISA),它定义了处理器状态.指…
一.AD7890 1.特性参数 (1)高速12位DA,转换速度5.9us (2)具有8个通道. (3)串行通信 2.芯片管脚图 3.管脚功能 管脚名称 功能 AGND 模拟地 SMODE 控制端,"0"使用自己的时钟,"1"使用外部时钟 DGND 数字地 CEXT 外部电容器.一个外部电容连接到这个引脚,以确定内部脉冲的长度(见控制寄存器组).较大的电容对该引脚扩展脉冲允许通过外部抗混叠滤波器或信号调理电路的时间延迟. CONVST' 转换启动信号.边沿逻辑触发,从…
A.5.1  文件格式        ARM 源程序文件(即源文件)为文件格式,可以使用任一文本编辑器编写程序代码.         在一个项目中,至少要有一个汇编源文件或C 程序文件,可以有多个汇编源文件或多个C 程序文件,或者C 程序文件和汇编文件两者的组合.A.5.2  ARM 汇编的一些规范 (1)汇编语句格式        ARM 汇编中,所有标号必须在一行的顶格书写,其后面不要添加“:”,而所有指令均不能顶格书写.ARM 汇编器对标识符大小写敏感,书写标号及指令时字母大小写要一致,在…
2015.2.2星期一,阴天 内存管理:内存的分配和释放等静态和动态内存:主要是在释放方式上的区别 静态变量:编译时就已经确定,定义在函数外面自动变量:在程序运行时才能在栈中确定只读数据节:存放常量的地方,包括字符常量,不修改的数据 查看数据存放在那个节点:(用命令)readelf -S (查看节点号和节点名)readelf -x .data a.out 生命周期:(分成静态,动态) 两个宏的定义和包含: 定义一个a.h#ifndef _A_H_#define _A_H_............…