當前位置:首頁 » 存儲配置 » tiny配置文件怎麼寫

tiny配置文件怎麼寫

發布時間: 2023-06-12 03:42:49

㈠ RTX51 Tiny的原理

RTX51 Tiny 用於管理目標系統的資源,本章討論RTX51 Tiny如何使用這些資源。 RTX51 Tiny 用標准8051的定時器0(模式1)生產一個周期性的中斷。該中斷就是RTX51 Tiny的定時滴答(Timer Tick)。庫函數中的超時和時間間隔就是基於該定時滴答來測量的。
默認情況下,RTX51每10000個機器周期產生一個滴答中斷,因此,對於運行於12MHZ的標准8051來說,滴答的周期是0.01秒,也即頻率是100HZ(12MHz/12/10000)。該值可以在CONF_TNY.A51配置文件中修改。
附註:
l可以在RTX51的定時滴答中斷里追加自己的代碼。參見CONF_TNY.A51 配置文件。
l關於RTX51 Tiny如何使用中斷可以參考概述中中斷一節的敘述。 RTX51 Tiny本質上是一個任務切換器,建立一個RTX51 Tiny程序,就
是建立一個或多個任務函數的應用程序。下面的信息可以幫助你快速的理解
RTX51 。
l任務用新的關鍵字由C語言定義,該關鍵字是Keic C51 所支持的。
lRTX51 Tiny維護每個任務的正確狀態(運行、就緒、等待、刪除、超時)。
l某個時刻只有一個任務處於運行態。
l任務可能處於就緒態、等待態、刪除態或超時態。
l空閑任務(Idle_Task)總是處於就緒態,當定義的所有任務處於阻 塞狀態時,運行該任務。 每個RTX51 Tiny 任務總是處於下述狀態中的一種狀態中。 狀態 描 述 運行 正在運行的任務處於運行態。某個時刻只能有一個任務處於該狀態。
os_running_task_id 函數返回當前正在運行的任務編號。 就緒 准備運行的任務處於就緒態。一旦運行的任務完成了處理,RTX51 Tiny選擇一個就緒的任務執行。一個任務可以通過用os_set_ready或os_set_ready函數設置就緒標志來使其立即就緒(即便該任務正在等待超時或信號)。 等待 正在等待一個事件的任務處於等待態。一旦事件發生,任務切換到就緒態。Os_wait函數用於將一個任務置為等待態。 刪除 沒有被啟動或已被刪除的任務處於刪除態。Os-delete-task函數將一個已經啟動(用os_create_task)的任務置為刪除態。 超時 被超時循環中斷的任務處於超時態,在循環任務程序中,該狀態相當於就緒態。 在實時操作系統中,事件可用於控制任務的執行,一個任務可能等待一個事件,也可能向其他任務發送任務標志。
os_wait函數可以使一個任務等待一個或多個事件。
l超時是一個任務可以等待的公共事件。超時就是一些時鍾滴答數, 當一個任務等待超時時,其他任務可以執行。一旦到達指定數量的滴答數,任務就可以繼續執行。
l時間間隔(Interval)是一個超時(Timeout)的變種。時間間隔與超
時類似,不同的是時間間隔是相對於任務上次調用os_wait函數的指定數量的時鍾滴答數。
l信號是任務間通信的方式。一個任務可以等待其他任務給它發信號(用os_send_signal和isr_send_signal函數)。
l每個任務都有一個可被其它任務設置的就緒標志(用os_set_ready和
isr_set_ready函數)。一個個等待超時、時間間隔或信號的任務可以通過設置它的就緒標志來啟動。
lisr_set_ready函數)。一個等待超時、時間間隔或信號的任務可以通 過設置它的就緒標志來啟動。
下表是os_wait函數等待的事件: K_IVL 等待制定的時間 隔K_SIG 等待一個信號 K_TMO 等待指定的超時 os-wait返回時,返回值表明發生了的事件: 返回值 意 義 RDY_EVENT 任務的就緒標志被置位 SIG_EVENT 收到一個信號 TMO_EVENT 超時完成或時間間隔到達。 os_wait可以等待下面的事件組合:
lK_SIG︱K_TMO:任務延遲直到有信號發給它或者指定數量的時鍾滴答
到達。
lK_SIG︱K_IVL:任務延遲直到有信號到來或者指定的時間間隔到達。
附註:
lK_IVL和K_TMO事件不能組合 任務調度程序給任務分配處理器,RTX51 Tiny調度程序用下列規則確定
哪個任務要被運行:
當前任務被中斷如果:
1、任務調用了os_switch_task且另一個任務正准備運行。
2、任務調用了os_wait且指定的事件沒有發生。
3、任務執行了比輪轉時間片更長的時間。
另一個任務啟動如果:
1、無其它任務運行。
2、要啟動的任務處於就緒態或超時態。 RTX51 Tiny可以配置為用循環法進行多任務處理(任務切換)。循環法允許
並行的執行若干任務。任務並非真的同時執行,而是分時間片執行的(CPU時間分
成時間片,RTX51 Tiny給每個任務分配一個時間片)。由於時間片很短(幾毫秒),
看起來好象任務在同時執行。
任務在它的時間片內持續執行(除非任務的時間片用完)。然後,RTX51 Tin
g切換到下一個就緒的任務運運行。時間片的持續時間可以通過RTX51 Ting配置
定義。
下面是一個RTX51 Tiny程序的例子,用循環法多任務處理,程序中的兩個任務
是計數器循環。RTX51 Tiny在啟動時執行函數名為job0的任務0,該函數建立了另
一個任務job1,在job0執行完它的時間片後, RTX51 Tiny切換到job1。在job1執
行完它的時間片後,RTX51 Ting又切換到job0,該過程無限重復。
#include
int counter0;
int counter1;
void job0(void) _task_ 0

os_create(1); /*標記任務1為就緒*/
while(1)
﹛ /*無限循環*/
counter0++; /*更新記數器*/
}
}
void job1(void) _task_1

while(1)
﹛ /*無限循環*/
counter++; /*更新記數器*/
}
}
附註:
l可以用os_wait 或os_switch_task讓RTX51 Tiny切換到另一個任務而不是
等待任務的時間片用完。 os_wait函數掛起當前的任務(使之變為等待態)直
到指定的事件發生(接著任務變為就緒態)。在此期間,任意數量的其他任務
可以運行。 如果禁止了循環任務處理,就必須讓任務以協作的方式運作,在每個任務
里調用os_wait或os_switch_task,以通知RTX51 Tingy切換到另一個任務。
os_wait與os_switch_task的不同是,os_wait是讓任務等待一個事件,而
os_switch_task是立即切換到另一個就緒的任務。 沒有任務准備運行時,RTX51 Ting執行一個空閑任務。空閑任務就是一個
無限循環。如:
SJMP$
有些8051兼容的晶元提供一種降低功耗的空閑模式,該模式停止程序的執
行,直到有中斷產生。在該模式下,所有的外設包括中斷系統仍在運行。
RTX51 Tiny允許在空閑任務中啟動空閑模式(在沒有任務准備執行時)。當
RTX51 Tiny的定時滴答中斷(或其它中斷)產生時,微控制器恢復程序的執行。
空閑任務執行的代碼在CONF_TNY.A51配置文件中允許和配置。 RTX51 Tiny為每個任務在8051的內部RAM區(IDATA)維護一個棧。任務
運行時,將得到可能得到的最大數量的棧空間。任務切換時,先前的任務棧被
壓縮並重置,當前任務的棧被擴展和重置。
下圖表明一個三任務應用的內部存儲器的布局。
圖略…… :-)
?STACK表示棧的起始地址。該例中,位於棧下方的對象包括全局變數、寄存器和位定址存儲器,剩餘的存儲器用於任務棧。存儲器的頂部可在配置中指定

㈡ tinyxml 如何寫<![CDATA[ 。。。。]]>

高深~~
我也學習下~

㈢ 哪位大神用過Tiny Core,默認英文界面,無法顯示漢字。應該怎麼配置中文字體和輸入法我按網上

在用戶主目錄下(/home/aaa,aaa是你的用戶名),創建 .xinitrc 文件,寫下如下內容:

#!/bin/sh

exportLOCAL=zh_CN.UTF-8
exportLC_CTYPE=zh_CN.UTF-8

如果那個文件已經存在,把後兩行復制進去。


至於輸入法,Linux需要安裝輸入法,可以有fcitx, scim, ibus等。


安裝好輸入法,還要修改 .xinitrc ,添加如下:(我以scim為例,我的Slackware用的正是這個)

exportXMODIFIERS=@im="scim"
exportGTK_IM_MODULE="scim"
exportQT_IM_MODULE="scim"
exportXIM_PROGRAM="/usr/bin/scim-d"

注意ibus需要GTK+的支持,這個以前我弄過,用git把源代碼拷貝過來,用configure配置,若果有依賴庫過舊會提示的,那次為了裝個ibus,我把系統的gtk+及相關庫,如gio等,都重新編譯安裝了一遍,最後總算用上了ibus,但是,ibus對我的chrome支持不是很好,還是換回了scim。

熱點內容
蘋果耳塞怎麼改安卓也能用 發布:2025-02-05 14:50:54 瀏覽:557
安卓如何鑒別手機真假 發布:2025-02-05 14:28:15 瀏覽:119
ffmpeglinux編譯 發布:2025-02-05 14:28:04 瀏覽:544
伺服器如何做界面 發布:2025-02-05 14:27:23 瀏覽:290
訪問學者單位推薦意見 發布:2025-02-05 14:13:05 瀏覽:853
微信密碼鎖忘了怎麼辦 發布:2025-02-05 14:11:07 瀏覽:311
web是什麼文件夾 發布:2025-02-05 14:11:05 瀏覽:235
對信訪問題調查 發布:2025-02-05 14:09:39 瀏覽:984
singlephp 發布:2025-02-05 14:09:24 瀏覽:774
資料庫的欄位命名規則 發布:2025-02-05 13:53:16 瀏覽:684