[分享] 【经验分享】使用CW10.x的PE禁用NMI不可屏蔽中断
427 查看
1 回复
 楼主 | 发布于 2020-09-30 | 只看楼主
分享到:
已经遇到好几例误使用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

图1

 


图2

 


图3
(0 ) (0 )
回复 举报

回复于 2020-09-30 沙发

感谢分享
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部