查看: 10138|回复: 22

[CodeWarrior] 【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

[复制链接]
  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6028
    最后登录
    2025-8-21
    发表于 2014-4-23 09:07:56 | 显示全部楼层 |阅读模式
        已经遇到好几例误使用NMI引脚问题,所以在此与大家分享一下 自己的经验,并列举了在CodeWarrior10.6软件上使用Processor Expert工具禁用KL25芯片NMI功能的操作步骤。
     
    希望对大家有所帮助,不足之处欢迎指正,同时也欢迎大家分享自己的小经验。
     
    问题起因:
    Kinetis芯片的不可屏蔽中断引脚NMI_b在电路设计时被作为GPIO与外部设备连接了。调试程序时才发现:哪怕通过引脚复选功能切换位(Pin Mux Control)将该引脚配置成GPIO功能,该引脚上的低电平还是会导致程序进入不可屏蔽中断,而这与当初把这NMI_b引脚作为GPIO的设计初衷不符。所以想寻找是否有这种 不改变硬件电路,仅通过软件程序禁用NMI功能 的可能?
     
    解决方法:
    KL25芯片为例打开参考手册KL25P80M48SF0RM,通过“6.3.2 FOPT boot options”(图1、图2)我们可以看到:只读寄存器FTFA_FOPTNMI_DIS位显示NMI功能是否使能,而这个FTFA_FOPT寄存器的值在系统启动时会从flash configuration fieldNVM's option byte处加载。
    根据提示再查看“27.3.1 Flash Configuration Field Description”(图3):Flash Configuration Field Byte Address0x0040D处对应的1个字节就是之前提到的Flash nonvolatile option byte
    那么若想禁用NMI_b引脚上的不可屏蔽中断功能,就需要将Flash Configuration Field0x40D地址Bit 2的值改为0
    6.3.2 FOPT boot options1.jpg

    图1

     

    6.3.2 FOPT boot options.jpg

    图2

     

    27.3.1 Flash Configuration Field Description.jpg

    图3

     

     

     
    我知道答案 目前已有21人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6028
    最后登录
    2025-8-21
     楼主| 发表于 2014-4-23 09:10:01 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    这篇既然是讲解CodeWarrior10.6软件上使用Processor Expert工具禁用KL25芯片的NMI功能,所以以下操作步骤适用CodeWarrior10.xPE的工程:
     
    1.创建新的Bareboard工程并选择MKL25Z128芯片
    1.jpg
     
     

    2.选上自己的调试工具(此处使用FRDM-KL25Z板载OpenSDA
    2.jpg
     


    3. Rapid Application Development选项勾选Processor Expert工具,Project Mode选择Standalone(至此已完成新工程的创建)
    3.jpg
     
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6028
    最后登录
    2025-8-21
     楼主| 发表于 2014-4-23 09:10:25 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    4.CW10.6PE界面下修改配置
    4.1PE窗口的显示级别调成AdvancedCW10.6之前版本选择Expert
    4.2选择芯片型号为MKL25Z128VLK4
    4.3Component Inspector-Cpu窗口PropertiesInternal peripheralsNMI pin选择Disabled
    4.4Cpu interrupts/resetsNMI interrupt选择Disabled
    4.5点击生成Processor Expert代码
    4.jpg

     

    通过查看Generated_Code文件夹下Cpu.c文件中的/* Flash configuration field */部分,可以看到NMI_DIS=0,其他位为1。也就是NV_FOPT0x40D地址)被写入了0xFB
     
     附件为:
    《使用CW10.x的PE禁用NMI不可屏蔽中断》pdf文档
    使用CW10.x的PE禁用NMI不可屏蔽中断.pdf (764.18 KB, 下载次数: 61)
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    124

    主题

    3600

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    5781
    最后登录
    1970-1-1
    发表于 2014-4-24 13:05:50 | 显示全部楼层

    RE:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    极好的分享帖,怎么没人顶呢!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2

    主题

    32

    帖子

    0

    新手上路

    Rank: 1

    积分
    25
    最后登录
    1970-1-1
    发表于 2014-5-11 14:27:17 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    使用CW10.x的PE禁用NMI不可屏蔽中断
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    24

    帖子

    0

    新手上路

    Rank: 1

    积分
    19
    最后登录
    2021-2-25
    发表于 2014-5-11 14:48:40 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13

    主题

    62

    帖子

    0

    注册会员

    Rank: 2

    积分
    161
    最后登录
    1970-1-1
    发表于 2014-5-13 19:45:07 | 显示全部楼层

    RE:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    ,非常好。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    23

    帖子

    0

    注册会员

    Rank: 2

    积分
    65
    最后登录
    1970-1-1
    发表于 2014-5-13 23:06:56 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

     正遇到类似问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    63

    主题

    263

    帖子

    0

    高级会员

    Rank: 4

    积分
    921
    最后登录
    2021-2-23
    发表于 2014-5-14 09:56:53 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    非常有用,谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6028
    最后登录
    2025-8-21
     楼主| 发表于 2014-5-14 10:29:20 | 显示全部楼层

    回复:【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断

    回复第 9 楼 于2014-05-14 09:56:53发表:
    非常有用,谢谢 

    谢谢大家的支持
    之后我会写一篇IAR编译环境下屏蔽NMI功能的经验分享帖。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-21 11:49 , Processed in 0.102959 second(s), 31 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表