亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? k51說明.txt

?? 同事寫的一個內核
?? TXT
字號:

1. k51簡介

    適用于MCS-51的占先式的小 kernel,簡單實用,體積小,RAM需求小。

    最多4個任務,各占一個register bank (不需要向堆棧存r0-r7了!)。

    main() 是4個任務中的一個。

    簡單有效的 signal 和 mutex。


2 k51的使用

2.1 k51編程接口

void k51_init()
    所有的等待timer置為0,除main()外的任務設為 not-ready, main()為ready 和 running。
    根據PRIO_MAIN設置 register bank。

unsigned char task1_init()
unsigned char task2_init()
unsigned char task3_init()
unsigned char task4_init()
    設置任務的堆棧,置任務為ready、not-running。直到下一次中斷或等待,
    剛剛完成init的任務才可能running。

void k51_sleep(unsigned char count_ticks)
    使任務進入idle,count_ticks個節拍后恢復為ready。

void k51_signal_init(unsigned char idata* p_sig)
    對一個信號進行初始化,應當在wait和send的調用前調用這個函數。信號初始化后是not-signaled。

void k51_signal_wait(unsigned char idata* p_sig)
    如果信號不是signaled狀態,任務將進入idle,直到isr或另一個任務send這個信號。
    如果信號是  signaled狀態,任務將繼續running而信號成為not-signaled。

void k51_signal_send(unsigned char idata* p_sig)
    發送信號。如果沒有任務在這個信號上等待,則這個信號被設為signaled狀態;如果有任務在等待,并它的
    優先級更高,則進行任務切換;如果等待的任務的優先級更低,則把它置為ready, 但不進行切換。

void k51_mutex_init   (unsigned char idata* p_mut);
    對一個互斥體進行初始化,應當在wait和send的調用前調用這個函數?;コ怏w初始化后是available。

void k51_mutex_wait   (unsigned char idata* p_mut);
    如果互斥體不是available狀態,任務將進入idle,直到另一個任務release這個互斥體。
    如果互斥體是  available狀態,任務將繼續running而互斥體成為not-available。

void k51_mutex_release(unsigned char idata* p_mut);
    釋放互斥體。如果沒有任務在等待這個互斥體,則這個互斥體成為 available 狀態;如果有任務在等待,
    則最高優先級的等待任務被設為 ready, 如果它的優先級高于當前運行的任務,則切換任務;如果上述
    被設為 ready 的任務優先級更,則不進行切換。

void k51_tick();
    在時鐘中斷調用這個函數。如果不使用 sleep 功能,則可以不調用它。每次調用都會使正在 sleep 的
    任務的 sleep 時間減少1,直到變成0,這時該任務將會變為 ready。

unsigned char data k51_int_nest 和 void k51_int_exit()
    這些參考了uC/OS-II。進入中斷使 k51_int_nest 增1,離開中斷使 k51_int_nest 減1,
    并調用k51_int_exit(),可能的任務切換會在這個函數中進行。

2.2 用法說明

    在 k51_cfg.inc, 設置 main()所占用的優先級,是否允許task3及task4
    (注意如果不允許task3就一定不要允許task4),是否允許mutex。

    項目中應當包含k51start.asm, 它是從C51的STARTUP.A51改寫而來的.
    需要特別的啟動碼應以 k51start.asm 作為起點。

    在k51_a.asm里,根據k51_cfg.inc的配置,含入了適當的源程序文件。所以在build項目的時候,
    應當包含k51_a.asm,不是k51a1234.asm,k51a123.asm和k51a12.asm中的任一個。

    除了main(),任務對應的函數必須是 void task1(); void task2(); void task3(); void task4();


2.3 應當注意的問題

2.3.1 只允許一個任務在一個 signal 上等待。

    如果有兩個以上任務同時在等待一個 signal, 則向這個 signal 進行 send 時,其中的一個任務
    成為 ready, 等待列表完全清除,其它任務將永遠沒有機會恢復運行。

2.3.2 盡量用匯編寫 isr

    好處多得不得了。尤其是,在 RAM 寶貴的51上面,可以顯著減少堆??臻g需求。

2.3.3 不能用 C51 的 interrupt 關鍵字定義中斷服務函數

    它不能提供所需要的堆棧結構??梢栽谶M入中斷用匯編調用c函數,但需要向堆棧保存r0-r7.
    所以強烈推薦用匯編寫 isr。


3 大致的統計數據
    沒有任務的代碼大小。
---------------------------------------------------
           use mutex    no mutex    RAM req
---------------------------------------------------
4 tasks    1070         886         9Bytes+12bits

3 tasks    765          655         7Bytes+9bits

2 tasks    510          452         5Bytes+6bits
---------------------------------------------------
上述的Bytes在"data": 0-7fh.
每個signal 或 mutex 需 1 字節, "idata", 0-ffh.

4  產生k51的背景

   我學習和使用MCS-51有很長時間了,前一段時間學習uC/OS-II,看了高人在8051上的移植,看得頭大無比。
   我寫程序有些追求簡單或者說簡潔,看到這些程序感覺非常的不爽。于是自己寫了一個小kernel。我自己
   以后應當會經常用它的!

   可能早有類似的東西了,我信息不靈,是井底之蛙,大家不要笑我!

                                                         戈衛東, 2005-12-2

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久人人97超碰com| 久久 天天综合| 日韩电影一区二区三区| 成人午夜激情在线| 欧美性猛交一区二区三区精品| 国产一区二区导航在线播放| 极品美女销魂一区二区三区 | 国产aⅴ综合色| 五月激情综合色| 日韩国产欧美三级| 日本美女视频一区二区| 精品亚洲aⅴ乱码一区二区三区| 麻豆免费精品视频| 国产精品综合二区| 91视频国产资源| 欧美日韩午夜影院| 日韩免费电影网站| 久久久精品2019中文字幕之3| 国产精品久久看| 亚洲一区电影777| 蜜臀va亚洲va欧美va天堂| 国产一区二区三区免费| 成人av免费观看| 欧美一区二区日韩| 久久亚洲综合av| 中文字幕视频一区二区三区久| 亚洲免费观看在线观看| 免费观看日韩电影| 国产盗摄精品一区二区三区在线 | 欧美剧在线免费观看网站 | 久久伊99综合婷婷久久伊| 一区在线中文字幕| 日韩高清一区在线| 成人亚洲一区二区一| 欧美三级电影在线看| 久久久国产午夜精品| 一卡二卡欧美日韩| 国产一区二区不卡在线| 在线观看成人免费视频| 欧美精品一区二区三区视频| 亚洲色图清纯唯美| 国产一区二区三区四区在线观看| 色婷婷精品久久二区二区蜜臂av| 日韩欧美高清一区| 亚洲最大色网站| 成人不卡免费av| 精品少妇一区二区三区免费观看| 亚洲精品成人天堂一二三| 蜜臀va亚洲va欧美va天堂| 91久久精品国产91性色tv | 99久久免费精品高清特色大片| 欧美日韩成人综合| 亚洲欧美二区三区| 成人三级伦理片| 久久久夜色精品亚洲| 日本不卡123| 欧美日韩精品一区二区三区 | 欧美亚洲国产怡红院影院| 国产亚洲成aⅴ人片在线观看| 日本欧美加勒比视频| 欧美亚洲动漫另类| 一区二区三区四区视频精品免费| 国产ts人妖一区二区| 久久综合色婷婷| 美女国产一区二区三区| 3atv一区二区三区| 婷婷中文字幕一区三区| 精品1区2区3区| 一区二区欧美精品| 在线观看三级视频欧美| 亚洲黄色性网站| 日本久久一区二区| 亚洲一区二区三区小说| 欧美丝袜自拍制服另类| 亚洲国产精品久久久男人的天堂| 91亚洲精品久久久蜜桃网站 | 亚洲国产精品嫩草影院| 欧美性xxxxxx少妇| 亚洲主播在线观看| 欧美日韩国产乱码电影| 午夜精彩视频在线观看不卡| 欧美日韩中文字幕一区| 亚洲国产综合91精品麻豆| 欧美三电影在线| 免费看精品久久片| 精品福利av导航| 粉嫩一区二区三区性色av| 中文字幕久久午夜不卡| 91网址在线看| 亚洲伊人伊色伊影伊综合网| 欧美精品99久久久**| 美女视频一区在线观看| 久久久精品国产免大香伊 | 欧美日韩成人综合在线一区二区| 亚洲va韩国va欧美va精品| 777久久久精品| 国产另类ts人妖一区二区| 国产精品美女久久久久aⅴ| 日本精品一区二区三区四区的功能| 亚洲伦在线观看| 欧美一区二区视频在线观看2020| 紧缚捆绑精品一区二区| 国产精品女主播av| 欧美日韩1234| 懂色av一区二区三区免费看| 一区二区三区国产| 欧美r级在线观看| 色综合中文字幕国产| 一二三四区精品视频| 日韩免费高清av| 91国产成人在线| 国产曰批免费观看久久久| 亚洲色大成网站www久久九九| 欧美日韩国产欧美日美国产精品| 国产精品白丝jk黑袜喷水| 一区二区三区在线免费播放| 日本一区二区不卡视频| 在线免费不卡视频| 国产精品一区二区在线播放 | 老司机精品视频在线| 亚洲视频综合在线| 欧美成人女星排名| 欧美在线短视频| 国产成人av一区二区三区在线| 午夜欧美在线一二页| 日韩毛片精品高清免费| 久久久久久麻豆| 精品视频一区三区九区| 99久久国产综合精品女不卡| 国内成人免费视频| 日韩和欧美的一区| 亚洲国产精品一区二区久久 | 丝瓜av网站精品一区二区| **性色生活片久久毛片| 精品国产免费视频| 91精品国产一区二区三区| 欧美专区在线观看一区| 粉嫩在线一区二区三区视频| 狠狠网亚洲精品| 麻豆精品国产传媒mv男同| 性感美女久久精品| 亚洲一区二区综合| 亚洲女子a中天字幕| 国产精品嫩草影院com| 久久精品一区二区三区四区| 欧美一区二区视频观看视频 | 精品日本一线二线三线不卡| 538prom精品视频线放| 欧美色倩网站大全免费| 色婷婷综合久久久中文字幕| av电影在线观看一区| 国产中文一区二区三区| 韩国v欧美v亚洲v日本v| 国产在线国偷精品免费看| 免费在线视频一区| 蜜桃久久精品一区二区| 久久成人综合网| 韩国av一区二区三区四区| 国产最新精品精品你懂的| 国产九色sp调教91| 国产精品一级黄| 99久久免费视频.com| 色综合激情五月| 欧美日韩国产一级片| 日韩精品一区二区三区中文不卡| 日韩精品专区在线影院重磅| 精品国产伦理网| 国产欧美视频在线观看| 17c精品麻豆一区二区免费| 亚洲伦理在线免费看| 亚瑟在线精品视频| 激情久久五月天| 成人免费看黄yyy456| 91免费版在线| 欧美精品v日韩精品v韩国精品v| 日韩欧美你懂的| 久久精品一区二区| 亚洲精品欧美二区三区中文字幕| 亚洲国产日韩a在线播放| 日本不卡视频在线| 豆国产96在线|亚洲| 欧美亚洲国产怡红院影院| 日韩一区二区三区视频| 日本一区二区视频在线观看| 亚洲综合自拍偷拍| 免费在线欧美视频| 91视频精品在这里| 日韩女优av电影在线观看| 国产精品色呦呦| 婷婷激情综合网| 成人福利在线看| 91精品欧美一区二区三区综合在| 久久亚洲免费视频| 亚洲国产综合91精品麻豆| 国产一区二区三区免费播放| 欧美探花视频资源| 国产精品久久久久aaaa樱花| 人禽交欧美网站| 色播五月激情综合网| 久久人人爽人人爽|