1樓:網友
我也不完全理解,但是比你知道的多點。
linux中,分核心態和使用者態。
你寫的所有的驅動,都是出於核心態->可以直接使用核心相關資源;
應用層,都是使用者態->無法直接操作底層的東西 ->想要操作,比如獲得許可權,切換到核心態,然後才能操作。
你這裡的需求,我的理解是:
對應你這桐胡句。
在中斷服務程式中操作另乙個外設」
不知道你的目的和打算用的手段是啥。
一般的,isr中,操作別的裝置,常見的是:
設定對應的(比如該硬體本身,或者別的裝置b的)暫存器的對應的位,以便通知其某種事情傳送或狀態變化了。
然後裝置b會:
要麼是由於(被修改了暫存器而)發生了中斷,然後可以接著處理其所要做的事情;
要麼是一直輪訓,檢測對應的某種資源釋放變化,族段比如上面被改的暫存器的對應的位,發現變化了,再去呼叫你的函式,做對應的處理。
注意:中斷,不論是哪個裝置的中斷,都不應該佔用(cpu)太長時間。
導致別的中斷或兆輪譽服務無法及時執行。
2樓:網友
中斷操作只能在核心空間做,即只能在驅動中完成。
你說的例子要考慮時間限制,不要在中斷中做耗時操作。
乙個簡單的流程如下:
模組初始化->註冊中斷處理函式->初始化結束。
中斷觸發->中斷處理函式:新增任務(乙個函式)到工作佇列->中斷結束。
之後當工早讓腔作佇列處理到你新增的任務時,在任務函式中操作另乙個陸衫外設。
如果操作另乙個外設耗時很少,也可以直接在中斷處理函式中處理滑閉。
linux中,如何在應用層得知驅動層的中斷被觸發?
3樓:網友
必須要有底層的驅動將中斷資訊逐層上報,應用層最後得知。
4樓:網友
一般應用層無法使用中斷。
請教linux3.x 中中斷註冊中硬體中斷號和軟體中斷號的對應
5樓:眾賢說
我也不完全理解,但是比你知道的多點。 linux中,分核心態和使用者態。 你寫的所有的驅動,都是出於核心態->可以直接使用核心相關資源; 應用層,都是使用者態->無法直接操作底層的東西 ->想要操作,比如獲得許可權,切換到核心態,然後才能操作。 你。
linux 應用層如何判斷rtc中斷到來?
6樓:匿名使用者
a、mktime
標頭檔案:#include
函式:time_t mktime(struct tm *timeptr)
函式說明:mktime()用來將timeptr所指的tm結構體資料換成從西元1970年1月1日0時0分0 秒算起至今的本地時間所經過的秒數。
返回值:返回經過的秒數。當發生錯誤的時候,返回-1。
b、settimeofday
標頭檔案:#include
#include
函式:int settimeofday(const struct timeval *tv,const struct timezone *tz)
函式說明:settimeofday()會把目前時間設成由tv所指的結構體資訊,當地時區資訊則設成tz所指的結構體。
返回值:只有root許可權才能使用此函式修改時間。成功則返回0,失敗返回-1,錯誤**存於errno。
2、實踐:通過mktime和settimeofday配合使用,即可完成時間的寫入。
中斷源是什麼,什麼是中斷?什麼是中斷服務程式?什麼是中斷源?
引起中斷的原因,或者能夠發出中斷請求訊號 的統稱。中斷是指由於某種事件的發生 硬體或者軟體的 計算機暫停執行當前的程式,轉而執行另一程式,以處理髮生的事件,處理完畢後又返回原程式繼續作業的過程。中斷是處理器一種工作狀態的描述。中斷源有以下幾種 1 外部裝置請求中斷。一般的外部裝置 如鍵盤 印表機和a...
監控顯示服務中斷,監控顯示服務中斷怎麼辦?
服務中斷有兩方面 硬體 軟體 軟體,其他能顯示,那說明這幾個可能設定出問題 方法 檢查設定 硬體方面,主要原因有線路中斷 硬體老化等,需要裝置實地檢查。付費內容限時免費檢視 回答攝像頭顯示器顯示服務中斷 監控攝像頭顯示服務中斷首先檢查一下是不是暫時沒有網了,或者是說家裡斷電了,所以的話就會導致服務中...
8086系統中,中斷型別碼 中斷向量 中斷向量表的關係是什麼
中斷向量 中斷x4 包括括號的含義是記憶體單元的內容。也就是說,只儲存在記憶體地址0中,絕對開始位置 中斷型別,實際上被中斷,標記為不同的中斷服務程式的名稱,以呼叫中斷程式。1 中斷向量 中斷服務程式的入口地址。一個向量表示4個位元組的輸入地址。2 對規模的破壞 因為有多箇中斷請求,有多箇中斷服務例...