首页 文章
  • 1 votes
     answers
     views

    stm32 - 中断句柄

    在外部中断功能中,我想通过调用main函数进行复位 . 但之后,如果我有一个新的中断触发器,MCU认为它正在处理中断功能而它不会再次调用中断功能 . 我的解决方案是什么? (在我的项目中,我不允许调用软复位功能)
  • 0 votes
     answers
     views

    mbed:接收UDP广播消息时触发中断

    我每次在STM32板的给定端口(Nucleo f429zi)上收到广播消息时都试图触发中断功能 . 我使用的通信协议是UDP,mbed库是 UDPSocket ,它继承自 Socket . 有谁知道如何实现它? Edit: 感谢PeterJ的评论,我发现了类 Socket 的一个有趣(但已弃用)成员函数,它被称为 attach() . 此方法在套接字的状态更改(recv / send / ac...
  • 1 votes
     answers
     views

    中断处理免费RTOS ARM cortex A9

    我已经在ARM cortex A9(Zedboard)上运行了免费RTOS的中断处理 . 我面临以下问题 . 我能够看到中断线被引发(通过检查spi_status寄存器获取相应的中断) 但免费RTOS没有捕获中断 我也看到了这种情况,我可以看到,对于我的中断,置位使能(ICDISER)位被置位,但是当我提升相应中断的中断线时,置位使能位被复位 . 当Free Rtos任务运行时,我提高了我的中断 ...
  • 1 votes
     answers
     views

    STM32外部中断保持触发

    我正在尝试使用带有STM32F103和FreeRTOS的旋转编码器和按钮 . pin0和pin1的外部中断工作正常,但按钮连接到Pin13(EXTI15_10_IRQHandler),无故启动 . 当然,我可以使用pin2(EXTI2_IRQHandler)来4或轮询按钮引脚而不会中断,但我想知道原因 . 我在这里想念的是什么? // button #define ROEN_BUTTON_GPI...
  • 0 votes
     answers
     views

    MSP430 UART TX中断启用/禁用

    我有RX中断工作正常,但我想添加TX中断 . 我通过UART响应长命令,并且不希望在发送下一个字节之前浪费等待TX完成的周期 . 我试图启用中断,传输需要传输的数据,然后禁用中断,直到下一个TX数据包出现 . 这适用于我发出的FIRST有效负载 . 我看到它出来就好了 . 但是,一旦我禁用TX中断一次,我就无法再次进入ISR . 如何在MSP430上启用UART上的TX中断并让它再次进入ISR? ...
  • 2 votes
     answers
     views

    python线程中的信号中断

    有没有什么办法可以在不使用C-Api的情况下杀死正在执行的python线程? 在我的程序中,我生成了两个运行两个不同脚本的线程 . 如果用户中断(Ctrl C)进入主进程,那么无论状态如何,都需要停止生成的脚本执行 . 我不能继续监视某些标志/变量,因为脚本执行只会发生一次 .
  • 4 votes
     answers
     views

    估计x86 CPU上的中断延迟

    我正在寻找有助于估计x86 CPU上的中断延迟的信息 . 非常有用的论文发现于“datasheets.chipdb.org/Intel/x86/386/technote/2153.pdf” . 但是本文为我提出了一个非常重要的问题:如何定义等待完成当前指令所提供的延迟?我的意思是识别INTR信号和执行INTR微代码之间的延迟 . 我记得,英特尔软件开发人员手册也讲述了等待完成当前正在执行的指令的事...
  • 3 votes
     answers
     views

    8086中的中断,指令指针和指令队列

    假设向8086发出外部中断请求 . 处理器将在完成当前正在执行的指令(如果有)后处理中断 . 在处理中断之前,通过将数据推入堆栈段,也将保存程序的状态(PSW标志,寄存器等) . 现在,大多数教程/文档都描述了指令指针也被压入堆栈段,这是可以的,因为它指向代码段中的下一个指令字节(就在发出中断请求之前) . 但是指令队列会发生什么?在处理中断请求时,它是否也被压入堆栈段?还是它的内容被清零?在这种...
  • 0 votes
     answers
     views

    总线设备通信(例如CPU到以太网)是否可以随时中断(无状态)?

    想象一下以下内容:在具有PIC的设备上,硬件定时器单元中断触发ISR,然后ISR将一些数据发送到以太网芯片 . 在发送数据时,PIC仲裁并将不同定时器单元的较高中断转发给CPU,然后触发ISR也写入同一个以太网芯片 . 在任何时候都不会中断掩码甚至完全禁用 . 我知道所有寄存器都会被保存,但是: 这种szenario是否需要任何同步?例如 . 写入是否包含多个不允许被中断的汇编程序命令(临界区)?...
  • 0 votes
     answers
     views

    运行中断处理程序是创建新进程,还是现有进程的一部分?

    从https://en.wikipedia.org/wiki/Interrupt开始,有三种不同的中断: 硬件中断, 由处理器本身的异常情况引起的软件中断(通常称为陷阱或异常) 由执行指令集中的特殊指令引起的软件中断 . (例如系统调用) 我的问题是,当一个CPU切换到运行中断处理程序时, 是为运行中断处理程序而创建的新进程吗? 或者是现有进程的中断处理程序部分的运行,例...
  • 0 votes
     answers
     views

    Arduino / ESP8266使用中断采样

    我正在尝试使用NodeMCU板测量电容器的放电时间 . 见下面的完整草图 . 这段代码工作正常,但我希望通过使用 ESP.getCycleCount() 函数和中断时间来改进它以获得更好的时间尺度 . 感兴趣的部分是这样的: startTime = micros(); while (digitalRead(capPos) == HIGH) { delayMicroseconds (1); } ...
  • 0 votes
     answers
     views

    USB主控制器引起的中断

    如果我使用具有中断 endpoints (USB / KBD /触摸屏)的USB设备,则主机控制器通过轮询此 endpoints 从 endpoints 获取数据 . 因此在Linux中,此管道称为URB(USB请求块)...此URB由主机控制器启动 . 所以数据是由主机控制器收集的 - 现在,我失去了路径 . 我认为数据被缓冲到ram,可能是由dma控制器(不确定)......并且主机控制器必须...
  • 0 votes
     answers
     views

    USB中断传输丢失数据

    因为几天我处理混乱的USB问题 . 我的Android(4.2)应用程序应该连接USB设备,使用USB HID中断协议发送/接收数据 . 从Android到设备的数据发送工作完美,但我收到适当的数据时遇到了很多问题 . 主要应用基于3个任务:主任务(UI),USB接收任务和USB传输任务 . USB的任务有单独的队列来插入接收数据(接收器)或获取来自主任务的发送(发送者)数据 . 我试图嗅探通过...
  • 0 votes
     answers
     views

    中断服务程序在iret上崩溃

    我正在编写一个中断服务程序,用于我正在编写的32位保护模式内核(来自网络的GPL代码的帮助;来自GazOS) . 我正在研究IDT并启用irq 1来测试键盘处理程序 . ISR看起来像这样:= .globl keyb_ISR keyb_ISR: pusha pushw %ds pushw %es pushw %ss pushw %ss popw %ds pop...
  • 3 votes
     answers
     views

    通过bios中断获取字符串

    我'm learning assembly and of course I'm尝试经典的0x10 bios中断 . 我看过的资源显示使用 lodsb 打印字符串,以便了解操作码的行为 . 这适用于 lodsb ,但不适用于我所拥有的 . 我究竟做错了什么?: start: mov ah, 0Eh ;for bios interrupt mov si, text_string ;se...
  • 334 votes
     answers
     views
  • 3 votes
     answers
     views

    Python“shutdown / reboot raspberry pi”脚本,使用单个按钮

    我从这里得到了一段Python代码:http://www.raspberry-pi-geek.com/Archive/2013/01/Adding-an-On-Off-switch-to-your-Raspberry-Pi 我想改进它 . 由于这是我第一次使用Python,我不得不理解实际发生的事情 . 这是代码: # Import the modules to send commands to ...
  • 1 votes
     answers
     views

    在PIC32上实现SPI从ISR?

    我有两个PIC32MX微控制器通过1.53MHz SPI bus连接芯片选择 . 我无法让我的从属端中断服务程序正确传输数据 . 作为测试用例,我让主设备每10 ms发送两个字节(0x01,0x00) . 从机应该接收0x01命令ID,并在主机发送第二个字节(虚拟0x00)时以0x02响应 . 理想情况下,每次转移都应该是这样的 .主从0x01 0x000x00 0x02 我真的不知道从哪里开始奴...
  • 4 votes
     answers
     views

    在ARM皮层A-9的U-boot中启用中断

    我正在尝试在uboot中配置GPIO中断,这是为了测试中断响应时间而无需任何操作系统干预(裸机) . 我能够配置引脚复用并成功设置GPIO引脚的中断 . 我的问题是关于注册中断服务程序 . 我看到我的平台的中断向量表位于地址0xFFFF0000(我读了系统控制寄存器以找出这个) . GPIO的中断ID为56,我刚刚计算了中断服务程序应该驻留的地址,并尝试用指向我的ISR例程的指针写入地址 . 这...
  • 1 votes
     answers
     views

    电平触发中断处理和嵌套中断

    [Updated question as GIC v2 has 3 registers ACK, EOIR, DIR] 这是我需要其他人澄清并说明以下序列正确的最基本问题 . 在下面的拱门中, [Core] ----- [ Interrupt Controller ] --Level Triggered -- [Device] a . 设备提高电平并通知中断控制器 b . 中断控制器触发...
  • 3 votes
     answers
     views

    如何检查Cortex M3中是否启用了中断?

    在Cortex M3上,一段代码如何确定是否启用了中断,即程序状态寄存器中的 I 位的状态(由 cpsid 和 cpsie 操纵)?在较旧的ARM上,我能够读取 cpsr 寄存器,但这似乎不再可能 . 我需要这些信息,因为我有一个从main和中断调用的函数,它需要以原子方式执行某个操作,而中断则被禁用 . 实质上: bool interrupts_enabled = InterruptsEnabl...
  • 0 votes
     answers
     views

    ARM中断和上下文保存

    我试图了解中断如何在ARM体系结构中工作(特定于ARM7TDMI) . 我知道有七个例外(复位,数据中止,FIQ,IRQ,预取中止,SWI和未定义指令),它们以特定模式执行(分别为Supervisor,Abort,FIQ,IRQ,Abort,Supervisor和Undefined) . 我有以下问题 . 1.当CPSR(状态寄存器)中的I和F位设置为1以禁用外部和快速中断时,是否还禁用了其他5个...
  • 1 votes
     answers
     views

    使用FreeRTOS的PS-PL GPIO中断

    我正在使用ZEDBoard开发CORTEX-A9 FreeRTOS端口 . 我想采取PS-GPIO中断 . 但我在这里面临以下问题...... 当发生中断时,GPIO处理程序调用两次...... 当我在上升沿或下降沿设置中断时,GPIO状态寄存器上的相应位不是...... 这是GPIO配置的代码.. void fpga_gpio_fabric_interrupt_init() { X...
  • 2 votes
     answers
     views

    ARM Cortex M4 - 当PRIMASK设置为1时,SysTick中断请求会发生什么?

    我正在学习RTOS,我正在谈论信号量 . 这本书实现了自旋锁信号量,但是我无法理解SysTick会发生什么,它用于实现上下文切换 . void OS_Wait(int32_t *s){ while( (*s) == 0 ) { EnableInterrupts(); //Does SysTick "wait" until this line? ...
  • 1 votes
     answers
     views

    在嵌入式Linux设备上使用GPIO触发电平中断

    我正在移植和使用级别触发中断到嵌入式Linux设备的现有系统 . 我遇到了一些麻烦,希望有人可以提供帮助 . 我的计划是使用poll()函数(在用户空间,没有低级驱动程序的计划)来检测gpio行何时为高 . 这是做某事的迹象 . 不幸的是我还没弄明白如何启用这个条件 . 现在我正在做以下事情: 将gpio编号写入/ sys / class / gpio / export 设置方向为&quo...
  • 2 votes
     answers
     views

    使用RT补丁的Linux内核的中断性能 - 应该更好吗?

    我在使用CONFIG_PREEMPT_RT补丁运行Linux内核(3.8.13)的Freescales imx.233上遇到了一点不一致的IRQ / ISR性能 . 我有点惊讶为什么这个处理器(ARM9,454mhz)即使有74kHz的IRQ请求也无法跟上..? 在我的内核配置中,我设置了以下标志: CONFIG_TINY_PREEMPT_RCU=y CONFIG_PREEMPT_RCU=y CO...
  • 1 votes
     answers
     views

    Raspberry Pi的GPIO寄存器和中断

    我可以在第90页阅读http://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf Raspberry Pi 's GPIOs are mapped between 0x 7E20 0000 and 0x 7E20 00B0. GPIO Pin Level Registers (GPLEVn) co...
  • 3 votes
     answers
     views

    FreeRTOS和PIC24EP&正确的中断处理

    我已经在我的项目上使用FreeRTOS一段时间了,我不得不说我喜欢它 . 我很难面对一个杀了我的虫子 . 我的代码包含大量代码,大约80个文件,并使用几个微芯片堆栈并运行大约10个任务 . 问题是每天大约2-3次,芯片将进入地址错误中断,我真的无法找出问题的根源 . 我相信这个错误发生在中断的时刻,因为我已经能够减少发生故障,在一个UART中使用DMA传输,将中断减少80倍 . 我一直在阅读很多关...
  • 8 votes
     answers
     views

    STM32F411:是否真的需要清除外部中断标志?

    我已经购买了STM32F411核板,现在我正在尝试了解HAL的各种零碎 . 从外部中断开始似乎是一个好主意,因为电路板有一个连接到PC13的按钮 . 所以我设置了一个简单的切换频率闪烁 . 下面的代码有点简化: #define LED_PIN GPIO_PIN_5 #define BTN_PIN GPIO_PIN_13 static uint32_t blink_period = 250; i...
  • 0 votes
     answers
     views

    Linux的;内核中断会影响CPU负载

    我已经实现Derek Molloys Loadable Kernel Module(见清单4) . 它使用内核模块在GPIO上升沿注册内核中断 . 因此,每当某个GPIO引脚出现上升沿时,就会发生中断(ISR) . 中断中唯一发生的事情就是计算一个整数 . 我在beaglebone上运行debian(Linux beaglebone 3.8.13-bone47) . 我将一个方波信号放到GPIO上...

热门问题