前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MQX中断系统深度解析(二)

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

作者头像
用户1605515
发布2018-04-10 11:43:22
9630
发布2018-04-10 11:43:22
举报
文章被收录于专栏:嵌入式程序猿
在此提醒大家,如果是基于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的中断系统还是比一般的裸机中断系统要复杂一些,需要好好消化。我们这里只是简单引导下大家,这部分的内容还需要自己下功夫去理解。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-05-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式程序猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用户ISR安装
  • 内核ISR函数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档