专栏首页嵌入式程序猿MQX中断系统深度解析(二)

MQX中断系统深度解析(二)

在此提醒大家,如果是基于KSDK开发的软件,跟单独基于MQX的在配置上有些不同,飞思卡尔对kinetis MCU的SDK从1.1.0以后,已经包含MQX RTOS,即我们经常提到的MQX+SDK,源码结构上跟单独的MQX有些变动,开发时候,要注意。如果你是新学习基于kinetis MCU的开发,建议安装KSDK,目前最新版本是1.2.0,这一版已经支持kv系列。在最新版的单独的MQX RTOS中还是没有支持kv系列的BSP包,如果是使用kv系列,需要自己移植BSP,可借助飞思卡尔的BSP克隆工具,非常方便,针对kv4x系列有一个单独的KSDK安装文件,KSDK1.1.0_KV4xF_1.0.0也是支持MQX的。

用户ISR安装

用户自己开发的中断程序要能够得到正确调用,必须在系统初始化时候调用中断安装函数,_int_install_isr,将用户ISR安装到中断向量表,中断安装函数的参数有三个,中断向量号,中断服务例程入口地址,中断服务例程的参数。当需要响应一个中断时候,会通过_int_install_isr,转向执行用户的ISR。该函数位于内核源码包内的kernel文件夹下的int.c文件中,这个函数比较重要,可以参考飞思卡尔MQX参考手册仔细分析源码。

内核ISR函数

内核ISR函数采用汇编语言实现,该函数位于dispatch.S文件中,dispatch.S位于MQX安装源码包下的psp文件夹下的cortex_m文件夹下的core文件夹中的M4文件夹里,如下图路径显示.

C:\Freescale\Freescale_MQX_4_2\mqx\source\psp\cortex_m\core\M4

内核ISR的汇编代码,可参考ARM指令集分析源码,函数源码比较长,相信大家也不愿意看冗长的汇编源码,这里就不赘述了,这个函数要大体理解整个流程,内核是如何处理中断的。MQX的中断系统还是比一般的裸机中断系统要复杂一些,需要好好消化。我们这里只是简单引导下大家,这部分的内容还需要自己下功夫去理解。

本文分享自微信公众号 - 嵌入式程序猿(InterruptISR),作者:武国平

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-05-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一张表看懂uIP和lwIP的区别

    我们给大家介绍过目前比较流行的开源TCP/IP开源协议栈uIP和lwIP, 这两种都是由瑞典计算机科学研究院开发的,广泛应用于嵌入式系统中。因为全功能的TCP/...

    用户1605515
  • 今日我推荐:libModbus

    我们曾在公众号里给大家讲过很多有关于Modbus的知识,还培训过Modbus驱动的开发和调试,今天我们给大家推荐一个常用的开源Modbus协议栈libmodbu...

    用户1605515
  • 一步步学习MQX实时操作系统

    MQX简介 MQX实时操作系统是飞思卡尔为购买飞思卡尔控制器的用户免费提供的一款可定制的配置,只需占用较小的存储器空间,即可提供实时性能。这款实时操作系统使您...

    用户1605515
  • 技术精进的三境界

    最近更新了一篇 Docker 的文章,朋友跟我反馈说效果并不是很好,我回头看了下,的确没有我自己的特色,没有太多思考,让公众号显得有些「百货」了。经过反思,今后...

    kirito-moe
  • python零基础网络爬虫:抓取4A级猎头公司数据

    所以我们可以使用python内置的模块去访问网址,这里可以用requests或者urllib,因为之前介绍过requests模块的使用,这里我们就不做过多阐述,...

    汤贤
  • SAP CRM系统里的附件存储逻辑

    My research about how attachment data is stored in cluster table:

    Jerry Wang
  • 从解决开发环境问题聊聊为什么要看源码

    去年写了dubbo源码解析系列,但是因为一些不可抗拒的因素(加班),导致通信、编解码部分还没写.同时在和很多朋友交流过程中,其中反馈最多的一个问题是.看源码到底...

    java进阶架构师
  • 足球粉丝福利来啦-图解欧洲足球五大联赛

    R爬虫&可视化系列文章来到了第五季,我们来聊聊欧洲足球五大联赛。本人作为一个不会踢球的资深球迷,俗称“懂球帝”,今天就与大家用数据分析一下2017-2018赛季...

    周萝卜
  • 现实世界中的数据科学:基于领域知识和监督学习模型的黄金价格理解与预测

    大约公元前3600年,黄金首先在古埃及被采掘冶炼。经历30个世纪之后,在土耳其西部的一个古王国铸造出世界上第一枚金币,此后黄金便作为王国内的一种实物货币进行流通...

    deephub
  • Nginx实现404页面的三种方法

    一个网站项目,肯定是避免不了404页面的,通常使用Nginx作为Web服务器时,有以下集中配置方式:

    菲宇

扫码关注云+社区

领取腾讯云代金券