虫虫首页| 资源下载| 资源专辑| 精品软件
登录| 注册

堆栈溢出

  • ARM经典300问与答

    第1 章 体系结构 ARM经典300问与答第1 问:Q:请问在初始化CPU 堆栈的时候一开始在执行mov r0, LR 这句指令时处理器是什么模式A:复位后的模式,即管理模式.第2 问:Q:请教:MOV 中的8 位图立即数,是怎么一回事 0xF0000001 是怎么来的A:是循环右移,就是一个0—255 之间的数左移或右移偶数位的来的,也就是这个数除以4一直除, 直到在0-255 的范围内它是整数就说明是可以的!A:8 位数(0-255)循环左移或循环右移偶数位得到的,F0000001 既是0x1F 循环右移4 位,符合规范,所以是正确的.这样做是因为指令长度的限制,不可能把32 位立即数放在32 位的指令中.移位偶数也是这个原因.可以看一看ARM 体系结构(ADS 自带的英文文档)的相关部分.第3 问:Q:请教:《ARM 微控制器基础与实战》2.2.1 节关于第2 个操作数的描述中有这么一段:#inmed_8r 常数表达式.该常数必须对应8 位位图,即常熟是由一个8 位的常数循环移位偶数位得到.合法常量:0x3FC,0,0xF0000000,200,0xF0000001.非法常量:0x1FE,511,0xFFFF,0x1010,0xF0000010.常数表达式应用举例:......LDR R0,[R1],#-4 ;读取 R1 地址上的存储器单元内容,且 R1 = R1-4针对这一段,我的疑问:1. 即常数是由一个8 位的常数循环移位偶数位得到,这句话如何理解2. 该常数必须对应8 位位图,既然是8 位位图,那么取值为0-255,怎么0x3FC 这种超出255 的数是合法常量呢3. 所举例子中,合法常量和非法常量是怎么区分的 如0x3FC 合法,而0x1FE 却非法0xF0000000,0xF0000001 都合法,而0xF0000010 又变成了非法4. 对于汇编语句 LDR R0,[R1],#-4,是先将R1 的值减4 结果存入R1,然后读取R1 所指单元的 值到R0,还是先读取R1 到R0,然后再将R1 减4 结果存入R1A:提示,任何常数都可用底数*2 的n 次幂 来表示.1. ARM 结构中,只有8bits 用来表示底数,因此底数必须是8 位位图.2. 8 位位图循环之后得到常数,并非只能是8 位.3. 0xF0000010 底数是9 位,不能表示.4. LDR R0, [R1], #-4 是后索引,即先读,再减.可以看一看ARM 体系结构对相关寻址方式的说明.

    标签: ARM 300

    上传时间: 2013-11-22

    上传用户:1109003457

  • C语言常见问题集_必知的495个问题

    1.1 我如何决定使用那种整数类型? 如果需要大数值(大于32, 767 或小于¡32, 767), 使用long 型。否则, 如果空间很重要(如有大数组或很多结构), 使用short 型。除此之外, 就使用int 型。如果严格定义的溢出特征很重要而负值无关紧要, 或者你希望在操作二进制位和字节时避免符号扩展的问题, 请使用对应的无符号类型。但是, 要注意在表达式中混用有符号和无符号值的情况。

    标签: 495 C语言

    上传时间: 2013-11-22

    上传用户:ming529

  • superpro 280驱动及编程器软件

    已通过CE认证。(为什么要选择经过CE认证的编程器?) 程速度无与伦比,逼近芯片理论极限。 基本配置48脚流行驱动电路。所选购的适配器都是通用的(插在DIP48锁紧座上),即支持同封装所有类型器件,48脚及以下DIP器件无需适配器直接支持。通用适配器保证快速新器件支持。I/O电平由DAC控制,直接支持低达1.5V的低压器件。 更先进的波形驱动电路极大抑制工作噪声,配合IC厂家认证的算法,无论是低电压器件、二手器件还是低品质器件均能保证极高的编程良品率。编程结果可选择高低双电压校验,保证结果持久稳固。 支持FLASH、EPROM、EEPROM、MCU、PLD等器件。支持新器件仅需升级软件(免费)。可测试SRAM、标准TTL/COMS电路,并能自动判断型号。 自动检测芯片错插和管脚接触不良,避免损坏器件。 完善的过流保护功能,避免损坏编程器。 逻辑测试功能。可测试和自动识别标准TTL/CMOS逻辑电路和用户自定义测试向量的非标准逻辑电路。 丰富的软件功能简化操作,提高效率,避免出错,对用户关怀备至。工程(Project)将用户关于对象器件的各种操作、设置,包括器件型号设定、烧写文件的调入、配置位的设定、批处理命令等保存在工程文件中,每次运行时一步进入写片操作。器件型号选择和文件载入均有历史(History)记录,方便再次选择。批处理(Auto)命令允许用户将擦除、查空、编程、校验、加密等常用命令序列随心所欲地组织成一步完成的单一命令。量产模式下一旦芯片正确插入CPU即自动启动批处理命令,无须人工按键。自动序列号功能按用户要求自动生成并写入序列号。借助于开放的API用户可以在线动态修改数据BUFFER,使每片芯片内容均不同。器件型号选错,软件按照实际读出的ID提示相近的候选型号。自动识别文件格式, 自动提示文件地址溢出。 软件支持WINDOWS98/ME/NT/2000/XP操作系统(中英文)。  器件型号  编程(秒)  校验(秒)  P+V (s)  Type  28F320W18  9  4.5  13.5  32Mb FLASH  28F640W30  18  9  27  64Mb FLASH  AM29DL640E  38.3  10.6  48.9  64Mb FLASH  MB84VD21182DA  9.6  2.9  12.5  16Mb FLASH  MB84VD23280FA  38.3  10.6  48.9  64Mb FLASH  LRS1381  13.3  4.6  19.9  32Mb FLASH  M36W432TG  11.8  4.6  16.4  32Mb FLASH  MBM29DL323TE  17.5  5.5  23.3  32Mb FLASH  AT89C55WD  2.1  1  3.1  20KB MCU  P89C51RD2B  4.6  0.9  5.5  64KB MCU  

    标签: superpro 280 驱动 编程器软件

    上传时间: 2013-10-18

    上传用户:suicoe

  • 通过FPGA提高工业应用灵活性的5种方法

      可编程逻辑器件(PLD)是嵌入式工业设计的关键元器件。在工业设计中,PLD已经从提供简单的胶合逻辑发展到使用FPGA作为协处理器。该技术在通信、电机控制、I/O模块以及图像处理等应用中支持 I/O 扩展,替代基本的微控制器 (MCU) 或者数字信号处理器 (DSP)。   随着系统复杂度的提高,FPGA还能够集成整个芯片系统(SoC),与分立的 MCU、DSP、ASSP,以及 ASIC解决方案相比,大幅度降低了成本。不论是用作协处理器还是SoC,Altera FPGA在您的工业应用中都具有以下优点:   1. 设计集成——使用FPGA作为协处理器或者SoC,在一个器件平台上集成 IP和软件堆栈,从而降低成本。   2. 可重新编程能力——在一个公共开发平台的一片 FPGA中,使工业设计能够适应协议、IP以及新硬件功能的发展变化。   3. 性能调整——通过FPGA中的嵌入式处理器、定制指令和IP模块,增强性能,满足系统要求。   4. 过时保护——较长的 FPGA 产品生命周期,通过 FPGA 新系列的器件移植,延长工业产品的生命周期,保护硬件不会过时。   5. 熟悉的工具——使用熟悉的、功能强大的集成工具,简化设计和软件开发、IP集成以及调试。

    标签: FPGA 工业应用

    上传时间: 2013-11-18

    上传用户:tb_6877751

  • Protel采用数据库的管理方式

    Protel 99SE采用数据库的管理方式。Protel 99SE软件沿袭了 Protel 以前版本方便易学的特点,内部界面与 Protel 99 大体相同,新增加了一些功能模块,功能更加强大。新增的层堆栈管理功能,可以设计 32 个信号层,16 个地电层,16 个机械层。新增的 3D 功能让您在加工印制版之前可以看到板的三维效果。增强的打印功能,使您可以轻松修改打印设置控制打印结果。Protel 99SE容易使用的特性还体现在“这是什么”帮助,按下右上角的小问号,然后输入你所要的信息,可以很快地看到特性的功能,然后用到设计中,按下状态   栏末端的按钮,使用自然语言帮助顾问。

    标签: Protel 数据库 方式

    上传时间: 2013-10-19

    上传用户:shirleyYim

  • 基于FPGA的栈空间管理器的研究和设计

    提出了一种将堆栈空间划分为任务栈和中断嵌套栈的设计结构,使堆栈空间最小化。采用VHDL硬件语言,在FPGA设备上模拟实现了具有自动检验功能的栈空间管理器。栈空间管理器由不同功能的逻辑模块组成,主要阐述了状态控制逻辑模块和地址产生逻辑模块的设计方法。

    标签: FPGA 栈空间 管理器

    上传时间: 2013-11-08

    上传用户:jiangfire

  • 全功能SPI接口的设计与实现

    SPI(Serial Peripheral Interface,串行外围接口)是Motorola公司提出的外围接口协议,它采用一个串行、同步、全双工的通信方式,解决了微处理器和外设之间的串行通信问题,并且可以和多个外设直接通信,具有配置灵活,结构简单等优点。根据全功能SPI总线的特点,设计的SPI接口可以最大发送和接收16位数据;在主模式和从模式下SPI模块的时钟频率最大可以达到系统时钟的1/4,并且在主模式下可以提供具有四种不同相位和极性的时钟供从模块选择;可以同时进行发送和接收操作,拥有中断标志位和溢出中断标志位。

    标签: SPI 接口的设计

    上传时间: 2013-11-11

    上传用户:himbly

  • superpro 280驱动及编程器软件

    已通过CE认证。(为什么要选择经过CE认证的编程器?) 程速度无与伦比,逼近芯片理论极限。 基本配置48脚流行驱动电路。所选购的适配器都是通用的(插在DIP48锁紧座上),即支持同封装所有类型器件,48脚及以下DIP器件无需适配器直接支持。通用适配器保证快速新器件支持。I/O电平由DAC控制,直接支持低达1.5V的低压器件。 更先进的波形驱动电路极大抑制工作噪声,配合IC厂家认证的算法,无论是低电压器件、二手器件还是低品质器件均能保证极高的编程良品率。编程结果可选择高低双电压校验,保证结果持久稳固。 支持FLASH、EPROM、EEPROM、MCU、PLD等器件。支持新器件仅需升级软件(免费)。可测试SRAM、标准TTL/COMS电路,并能自动判断型号。 自动检测芯片错插和管脚接触不良,避免损坏器件。 完善的过流保护功能,避免损坏编程器。 逻辑测试功能。可测试和自动识别标准TTL/CMOS逻辑电路和用户自定义测试向量的非标准逻辑电路。 丰富的软件功能简化操作,提高效率,避免出错,对用户关怀备至。工程(Project)将用户关于对象器件的各种操作、设置,包括器件型号设定、烧写文件的调入、配置位的设定、批处理命令等保存在工程文件中,每次运行时一步进入写片操作。器件型号选择和文件载入均有历史(History)记录,方便再次选择。批处理(Auto)命令允许用户将擦除、查空、编程、校验、加密等常用命令序列随心所欲地组织成一步完成的单一命令。量产模式下一旦芯片正确插入CPU即自动启动批处理命令,无须人工按键。自动序列号功能按用户要求自动生成并写入序列号。借助于开放的API用户可以在线动态修改数据BUFFER,使每片芯片内容均不同。器件型号选错,软件按照实际读出的ID提示相近的候选型号。自动识别文件格式, 自动提示文件地址溢出。 软件支持WINDOWS98/ME/NT/2000/XP操作系统(中英文)。  器件型号  编程(秒)  校验(秒)  P+V (s)  Type  28F320W18  9  4.5  13.5  32Mb FLASH  28F640W30  18  9  27  64Mb FLASH  AM29DL640E  38.3  10.6  48.9  64Mb FLASH  MB84VD21182DA  9.6  2.9  12.5  16Mb FLASH  MB84VD23280FA  38.3  10.6  48.9  64Mb FLASH  LRS1381  13.3  4.6  19.9  32Mb FLASH  M36W432TG  11.8  4.6  16.4  32Mb FLASH  MBM29DL323TE  17.5  5.5  23.3  32Mb FLASH  AT89C55WD  2.1  1  3.1  20KB MCU  P89C51RD2B  4.6  0.9  5.5  64KB MCU  

    标签: superpro 280 驱动 编程器软件

    上传时间: 2013-11-21

    上传用户:xiaoyuer

  • 检查C/C++源程序中的可能错误和容易遭受弱点攻击的地方

    检查C/C++源程序中的可能错误和容易遭受弱点攻击的地方,如内存溢出攻击等。

    标签: 源程序 攻击 错误

    上传时间: 2014-11-28

    上传用户:yph853211

  • 一些c程序

    一些c程序,象棋之马踏棋盘、把算术表达式转化未逆波兰表达式、保龄球计分规则算法、可进行多达50位的大整数运算(+X)、铁路调度算法,演示了堆栈的基本用法

    标签: 程序

    上传时间: 2015-01-05

    上传用户:372825274