QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2055|回复: 8

如何禁止中断呢

[复制链接]
发表于 2005-9-27 14:41:33 | 显示全部楼层 |阅读模式
请问各位,如何能在擦除过程中禁止中断呢?
我试过cli,也试过disable,结果都说没有定义.这是怎么回事呢
请大家指教!
发表于 2005-9-27 15:35:05 | 显示全部楼层
怎么会没定义呢?
你不会忘了包含几个关于中断的头文件吧?
回复

使用道具 举报

 楼主| 发表于 2005-9-28 11:58:16 | 显示全部楼层
已经包含了头文件irq.h
但是我找不到cli和sti的函数定义,只能找到函数调用
后来我又在源码中找到disable_irq和enable_irq的函数定义,并把它们包含进去
但是一直都提示说标号没有定义.
回复

使用道具 举报

发表于 2005-9-29 15:08:18 | 显示全部楼层
手上没有中断的例子,你参考一下书上或者资料的中断例子吧,看看有没有漏什么。

如果没错的话,我怀疑是对你的微处理器支持不完善,什么型号?
回复

使用道具 举报

 楼主| 发表于 2005-10-9 11:55:05 | 显示全部楼层
处理器是44b0
已经了解到在44b0上擦写要禁止中断,可是应该在何处进入来禁止中断呢?
回复

使用道具 举报

发表于 2005-10-9 22:05:35 | 显示全部楼层
我也用44B0X,但开关中断没遇到过问题。

你擦除什么?FLASH?
回复

使用道具 举报

 楼主| 发表于 2005-10-10 09:09:28 | 显示全部楼层
我们安装了jffs2文件系统,当对其flash分区进行擦除时总是无法实现
有人说这是因为对其擦除时不能被中断
而错误信息显示时也提到了IRQ_32,这是时钟中断.
所以我们想要在擦写过程中关闭中断,可惜不知从哪里关
试了几次都不成功
请大家帮忙啊
你当初是怎么安装jffs2的,又是如何擦除的呢?
回复

使用道具 举报

发表于 2005-10-10 11:41:51 | 显示全部楼层
我没做过类似工作,
不过开关中断没发生过问题,
既然支持S3C44B0X,又说没有定义,
你最好看看包含头文件时有没有什么漏了。
回复

使用道具 举报

发表于 2005-10-11 09:20:58 | 显示全部楼层
对了ARM来说cli()应该是一个定义在asm-arm/system.h头文件中的宏

#define cli()    __cli()

而__cli()是定义在某个汇编文件中

你需要包含asm/system.h头文件

至于MTD Flash芯片,根据芯片命令集的不同,你可能需要修改
/drivers/mtd/chips下面的一些文件:

比如你要在芯片探测时禁止中断,需要修改xx_probe.c文件
需要在芯片擦写时禁止中断,需要修改xx_cmdset.c文件
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-3 02:20 , Processed in 0.053311 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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