测试环境:STM32F407168MHz,IAR7.4,优化级别low测试方法:第一个信号是TIM比较器的输出,同时产生比较器中断。中断服务程序里第一句就立即拉高一个GPIO,示波器查两个信号的延迟大致了解中断响应速度。中断向量表在Flash,中断服务程序在Flash,延迟约155ns:中断向量表在内..
分类:
其他好文 时间:
2015-07-28 06:50:32
阅读次数:
367
STM8常用中断指令
开总中断
_asm(“rim”);
禁止中断
_asm(“sim”);
进入停机模式
_asm(“halt”);
中断返回
_asm(“iret”);
等待中断
_asm(“wfi”);
软件中断
_asm(“trap”);
STM8S常用中断映射如使用中断函数时,可以通过在上图中查找相对应的中断向量号,而中断函数的名字可以自定义/* BASIC INTERRUP...
分类:
其他好文 时间:
2015-07-21 20:43:45
阅读次数:
348
在linux使用platform_driver_register() 注册 platform_driver 时, 需要在 platform_driver 的probe() 里面知道设备的中断号, 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中, 相同的资源存放在一个树形树形数据结构中, 通过父节点, 兄弟节点, 子节点相连。 比如中断资源, IO端口资源, IO内存资源,...
分类:
系统相关 时间:
2015-07-17 10:03:50
阅读次数:
266
Setup.s的过程1.利用Rombios中断读取系统硬件信息并存储到0x90000位置即原来bootsect.s的位置2.将System模块从0x10000位置移到0x00000处3.加载IDTR和GDTR4.开启A20地址线5.重新设置8259A的中断向量,将0x00~0x0f设置成0x20~0...
分类:
系统相关 时间:
2015-07-07 21:00:08
阅读次数:
252
可重入函数主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。可重入函数可以被中断,意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括...
分类:
其他好文 时间:
2015-07-01 17:29:23
阅读次数:
99
例行的Linux软中断分发机制与问题Linux的中断分为上下两半部,一般而言(事实确实也是如此),被中断的CPU执行中断处理函数,并在在本CPU上触发软中断(下半部),等硬中断处理返回后,软中断随即开中断在本CPU运行,或者wake up本CPU上的软中断内核线程来处理在硬中断中pending的软中断。 换句话说,Linux和同一个中断向量相关的中断上半部和软中断都是在同一个CPU上执...
分类:
系统相关 时间:
2015-07-01 07:30:56
阅读次数:
173
首先说明,答案是否定的,内核中断号可以与硬件中断号不一致,但是这是个无聊的问题。。实用价值不大。但是却可以引起对内核软件中断号与硬件中断号关系的思考。
两者的关系我觉得可以从中断的初始化和分发过程来一探究竟。
这里就从ARM PPC MIPS 3款主流嵌入式处理器架构的内核代码框架中来分析下他们中断的初始化和分发过程。...
分类:
其他好文 时间:
2015-06-29 14:54:53
阅读次数:
224
此篇博客为SylixOSARMBSP编写连载的第三篇,主要介绍bspInit.c文件具体实现。bspInit.c为BSP操作系统初始化部分代码,通常由startup.S初始完基本处理器参数后调用,下面以S3C2440A处理器为例,逐块介绍bspInit.c代码。SylixOSARMBSP第二篇中提到startup.S初始化完成会将会调用b..
分类:
其他好文 时间:
2015-06-19 21:46:46
阅读次数:
241
此篇博客为SylixOSARMBSP编写连载的第二篇,主要介绍startup.S文件具体实现。startup.S为BSP启动代码入口,通常由bootloader装载完SylixOS镜像后调用,下面以S3C2440A处理器为例,逐块介绍startup.S代码。#ifndefASSEMBLY
#defineASSEMBLY1
#endif此段代码告知后面引用的头文件..
分类:
其他好文 时间:
2015-06-19 13:41:10
阅读次数:
159
STM32外设DMA使用总结:
1、根据需要选择DAM模式:
2、对于DMA1的Chanel3,对应外设为USART3的RX
试想:如果串口接收中断和DAM中断同时打开,CPU如何相应?
(1)中断优先级不同:这好说,支持嵌套中断(NVIC)的Cortex-M3自然优先服务中断优先级高的
(2)中断优先级相同:处理原则,先来先处理;若同时到来,中断号低的优先处理
查询手册可知,DMA(IRQn number 13)会先于USART3(39)被CPU处理
3、设置DMA模式为循环模式,则:
(1)只开DMA中...
分类:
其他好文 时间:
2015-06-13 18:39:16
阅读次数:
157