逻辑变量与逻辑函数逻辑是指事物因果之间所遵循的规律。为了避免用冗繁的文字来描述逻辑问题,逻辑代数采用逻辑变量和一套运算符组成逻辑函数表达式来描述事物的因果关系。逻辑代数中的变量称为逻辑变量,一般用大写字母A、B、C…表示。逻辑变量的取值只有两种,即逻辑0和逻辑1。 0和1称为逻辑常量。这里0和1本身并没有数值意义,它仅仅是一种符号,代表事物矛盾双方的两种状态。
数字电路的输出与输入之间的关系是一种
Read More
moregeek program
fpga:数字电路简介-多极客编程
数字电路的历史数字电路是数字计算机和自动控制系统的基础,它的发展是以电子器件的发展为基础的,器件的发展可以大致上分为3个阶段:电子管(1906年)晶体管(1947年)集成电路(Integrated Circuit,简称IC,1958年)器件发展的几个阶段:数字电路发展特点: 以电子器件的发展为基础电子管时代电压控制器件: 电真空技术1906年,福雷斯特等发明了电子管;电子管体积大、重量重、耗电
Read More
Read More
嵌入式:arm的dma设计-多极客编程
一、DMA工作原理所谓DMA方式,即直接存储器存取(Direct Memory Acess),在DMA控制器的控制下,不通过CPU控制,高速地和I/O设备和存储器之间交换数据。S3C2410具有一个4通道DMA控制器。该DMA控制器位于系统总线(AHB)和外设总线(APB)之间。每个DMA通道均能在系统总线和(或)外设总线之间执行一次数据搬移。这样可以有四种DMA数据搬移:(1)源设备和目标都在
Read More
Read More
嵌入式:arm中断系统设计全解-多极客编程
一、ARM9的异常事件管理ARM920T能处理有8个异常,他们分别是:Reset,Undefined instruction,Software Interrupt,Abort (prefetch),Abort (data),Reserved,IRQ,FIQ ,它们的矢量表是:Address Instruct
0x00000000: b
Read More
Read More
嵌入式:s3c2410与s3c2440的区别-多极客编程
S3C2410A微处理器概述SAMSUNG公司的S3C2410A芯片是一款16/32位的RISC微处理器芯片,芯片内使用了ARM公司的ARM920T内核,采用了称为AMBA(Advanced Microcontroller Bus Architecture,先进微处理器总线结构)的总线结构。S3C2410A芯片组成介绍如下:ARM920T,内部包含两个协处理器、单独16KB指令Cache和MMU、
Read More
Read More
嵌入式:什么是atpcs-多极客编程
ATPCS介绍ATPCS(ARM-Thumb Produce Call Standard)是ARM程序和Thumb程序中子程序调用的基本规则,目的是为了使单独编译的C语言程序和汇编程序之间能够相互调用。这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则和参数的传递规则。寄存器的使用规则子程序间通过寄存器R0~R3来传递参数,这时,寄存器R0~R3可以记作A1~A4。被调用的子程序在
Read More
Read More
嵌入式:arm内嵌汇编及c和arm汇编相互调用-多极客编程
内嵌汇编在C程序中嵌入汇编程序可以实现一些高级语言没有的功能,并可以提高执行效率。armcc和armcpp内嵌汇编器支持完整的ARM指令集;tcc和tcpp用于Thumb指集。但是内嵌汇编器并不支持诸如直接修改PC实现跳转的底层功能。内嵌的汇编指令包括大部分的ARM指令和Thumb指令,但是不能直接引用C的变量定义,数据交换必须通过ATPCS进行。嵌入式汇编在形式上表现为独立定义的函数体。内嵌汇编
Read More
Read More
嵌入式:杂项汇编器伪指令-多极客编程
AREA格 式:AREA 段名 属性1,属性2,……功 能:AREA伪操作用于定义一个代码段、数据段或特定属性的段。
其中,段名若以数值开头,则该段名需用“|”括起来,如|1_test|,用C的编译器产生的代码一般也用“|”括起来。属性字段表示该代码段(或数据段)的相关属性,多个属性用逗号分隔。使用示例:AREA Init,CODE,READONLY ;定义段Init,代码段,只读
Read More
Read More
嵌入式:arm汇编语言程序设计基础教程-多极客编程
汇编语言程序设计的步骤① 合理地分配存储器资源,将前述的目标系统‘数据结构模型’表示到各存储器单元。② CPU寄存器数量有限,在程序中,大多数操作都要使用寄存器;并且有的操作使用特定的寄存器(如堆栈操作使用SP/R13等),程序中要合理分配各寄存器的用途。用计算机语言,对数据结构模型和流程图表示的算法进行准确地描述。① 语法调试:排除程序中的语法错误。② 功能调试:保证程序的逻辑功能正确性。用文档
Read More
Read More
嵌入式:arm数据定义伪操作全总结-多极客编程
定义字节存储单元伪操作DCB定义半字存储单元伪操作DCW(DCWU)定义字存储单元伪操作DCD(DCDU)为单精度浮点数定义字存储单元伪操作DCFS(DCFSU)为双精度浮点数定义字存储单元伪操作DCFD(DCFDU)内存单元分配伪操作SPACE定义结构化内存表首地址伪操作MAP定义结构化内存表中数据域伪操作FIELD定义文字池伪操作LTORGDCBDCW(DCWU)格式标号 DCW(或DCWU)
Read More
Read More
嵌入式:arm 汇编控制伪操作-多极客编程
IF、ELSE、ENDIF条件编译伪操作WHILE、WEND条件编译伪操作MACRO、MEND宏定义伪操作MEXIT宏退出伪操作IF、ELSE、ENDIF语法格式IF 逻辑表达式 指令序列 1 ELSE 指令序列 2 ENDIFIF 、 ELSE 、 ENDIF 伪操作能根据条件的成立与否决定是否执行某个指令序列。当
Read More
Read More
嵌入式:arm相关开发工具概述-多极客编程
JTAG仿真器JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试及对系统进行仿真、调试。JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行测试。JTAG接口还常用于实现ISP
Read More
Read More
嵌入式:arm符号定义伪操作详解-多极客编程
ARM汇编语言的伪操作、宏指令与伪指令ARM汇编语言源程序中语句一般由指令、伪操作、宏指令和伪指令组成
伪操作是ARM汇编语言程序里的一些特殊指令助记符,它的作用主要是为完成汇编程序做各种准备工作,在源程序进行汇编时由汇编程序处理,而不是在计算机运行期间由机器执行。宏指令是一段独立的程序代码,可以插在源程序中,它通过伪操作来定义。宏在被使用之前必须提前定义好,宏之间可以互相调用,也可以自己递归调用
Read More
Read More
嵌入式:arm嵌入式系统开发流程概述-多极客编程
嵌入式开发的具体过程系统定义与需求分析阶段方案设计阶段详细设计阶段软硬件集成测试阶段系统功能性能测试及可靠性测试阶段开发流程图嵌入式软件开发环境嵌入式开发环境组成交叉开发环境软件模拟环境目标板与评估板交叉开发环境嵌入式系统应用软件的开发属于跨平台开发,因此需要一个交叉开发环境。交叉开发是指在一台通用计算机上进行软件的编辑编译,然后下载到嵌入式设备中运行调试的开发方式,它通常采用宿主机/目标机模式。
Read More
Read More
嵌入式:arm常用开发编译软件介绍-多极客编程
编译器介绍1、ADS1.2ADS(ARM Developer Suite),是在1993年由Metrowerks公司开发是ARM处理器下最主要的开发工具。 他的前身是SDT,SDT是ARM公司几年前的开发环境软件,目前SDT早已经不再升级。ADS包括了四个模块分别是:SIMULATOR;C 编译器;实时调试器;应用函数库。ADS对汇编、C/C++、java支持的均很好,是目前最成熟的ARM开发工具
Read More
Read More
#百人创作先锋团#ai自动驾驶-多极客编程
智能车辆是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统,它集中运用了计算机、现代传感、信息融合、通讯、人工智能及自动控制等技术,是典型的高新技术综合体。对智能车辆的研究主要致力于提高汽车的安全性、舒适性,以及提供优良的人车交互界面。近年来,智能车辆己经成为世界车辆工程领域研究的热点和汽车工业增长的新动力,很多发达国家都将其纳入到各自重点发展的智能交通系统当中。
Read More
Read More
嵌入式:arm协处理器指令总结-多极客编程
ARM支持16个协处理器,用于各种协处理器操作,最常使用的协处理器是用于控制片上功能的系统协处理器,例如控制ARM720上的高速缓存和存储器管理单元等,也开发了浮点ARM协处理器,还可以开发专用的协处理器。当一个协处理器硬件不能执行属于它的协处理器指令时,将产生未定义指令异常中断。利用该异常中断处理程序可以软件模拟该硬件操作。ARM协处理器指令根据其用途主要分为以下三类:用于ARM处理器初始化协处
Read More
Read More
嵌入式:arm异常中断指令swi、bkpt、clz详解-多极客编程
异常中断指令可以分为一下两种:软件中断指令(SWI)断点指令(BKPT—仅用于v5T体系)软件中断指令SWI用于产生SWI异常中断,用来实现在用户模式下对操作系统中特权模式的程序的调用;断点中断指令BKPT主要用于产生软件断点,供调试程序用。SWISWI(SoftWare Interrupt)代表“软件中断”,用于用户调用操作系统的系统例程,常称为“监控调用”。它将处理器置于监控(SVC)模式,从
Read More
Read More
嵌入式:交换指令之swp,mrs,msr-多极客编程
存储器与寄存器交换指令(SWP)交换指令把字或无符号字节的读取和存储组合在了一条指令中。这种组合指令通常用于不能被外部其他存储器访问(如:DMA访问)打断的存储器操作。一般用于处理器之间或处理器与DMA控制器之间共享信息的互斥访问。二进制编码格式汇编格式SWP{<cond>} {B} Rd,Rm,[Rn]本指令将存储器中地址为Rn处的字(B=0)或无符号字节(B=1)读入寄存器Rd,同
Read More
Read More
嵌入式:arm多寄存器存取指令详解-多极客编程
多寄存器传送指令可以用一条指令将16个可见寄存器(R0~R15)的任意子集合(或全部)存储到存储器或从存储器中读取数据到该寄存器集合中。如:可将寄存器列表保存到堆栈,也可将寄存器列表从堆栈中恢复。
这种指令有两个特殊用法:
(1)允许操作系统加载或存储用户模式寄存器来保护或恢复用户处理状态。
(2)作为异常处理返回的一部分,完成从SPSR中恢复CPSR。 这种指令与单寄存器存取指令相比,多
Read More
Read More