現在位置: 首頁

不可剝奪型內核與可剝奪型內核

2013年11月17日 UCOS-II  ⁄ 共 1673字 不可剝奪型內核與可剝奪型內核已關閉評論
不可剝奪型內核 不可剝奪型內核要求每個任務自我放棄CPU的所有權。不可剝奪型調度法也稱作合作型多任務,各個任務彼此合作共享一個CPU。異步事件還是由中斷服務來處理。中斷服務可以使一個高優先級的任務由掛起狀態變為就緒狀態。但中斷服務以后控制權還是回到原來被中斷了的那個任務,直到該任務主動放棄CPU的使用權時,那個高優先級的任務才能獲得CPU的使用權。 不可剝奪型內核的一個優點是響應中斷快。在討論中斷響應時會進...
閱讀全文

什么是任務,任務的概念

2013年11月17日 UCOS-II  ⁄ 共 652字 評論 2 條
一個任務,也稱作一個線程,是一個簡單的程序,該程序可以認為CPU完全只屬該程序自己。實時應用程序的設計過程,包括如何把問題分割成多個任務,每個任務都是整個應用的某一部分,每個任務被賦予一定的優先級,有它自己的一套CPU寄存器和自己的棧空間(如下圖所示) 多任務 典型地、每個任務都是一個無限的循環。每個任務都處在以下5種狀態之一的狀態下,這5種狀態是休眠態,就緒態、運行態、掛起態(等待某一事件發生)和被中斷態...
閱讀全文

什么是前后臺系統

2013年11月17日 UCOS-II  ⁄ 共 560字 什么是前后臺系統已關閉評論
不復雜的小系統一般設計成如下圖所示的樣子。這種系統可稱為前后臺系統或超循環系統(Super-Loops)。應用程序是一個無限的循環,循環中調用相應的函數完成相應的操作,這部分可以看成后臺行為(background)。中斷服務程序處理異步事件,這部分可以看成前臺行為(foreground)。后臺也可以叫做任務級。前臺也叫中斷級。時間相關性很強的關鍵操作(Critical operation)一定是靠中斷服務來保證的。因為中斷服務提供的信息一直要等到后...
閱讀全文

將Vim改造為強大的IDE(2)—Vim集成Ctags/Taglist/Cscope

2013年11月16日 工具配置  ⁄ 共 6312字 將Vim改造為強大的IDE(2)—Vim集成Ctags/Taglist/Cscope已關閉評論
接上篇 《將Vim改造為強大的IDE(1)》 9、buffer管理器MiniBufferExplorer MiniBufferExplorer用于瀏覽和管理buffer,如果只打開一個文件,是不會顯示在屏幕上的,而打開多個文件之后,會自動出現在屏幕上。vim也有自帶的buffer管理工具,不過只有:ls, :bnext, :bdelete 等的命令, 既不好用, 又不直觀. 關于vim緩沖區(buffer)和窗口的概念(詳見:help windows) "緩沖區" 是一塊內存區域,里面存儲著正在編輯的文件。如果沒...
閱讀全文

將Vim改造為強大的IDE(1)—Vim集成Ctags/Taglist/Cscope

2013年11月16日 工具配置  ⁄ 共 11454字 將Vim改造為強大的IDE(1)—Vim集成Ctags/Taglist/Cscope已關閉評論
1、安裝Vim和Vim基本插件 首先安裝好Vim和Vim的基本插件。這些使用apt-get安裝即可: [email protected]:~/arm$sudo apt-get install vim vim-scripts vim-doc 其中vim-scripts是vim的一些基本插件,包括語法高亮的支持、縮進等等。 vim中文幫助文檔tar包下載地址: http://sourceforge.net/projects/vimcdoc/files/vimcdoc/ 解壓后其中有個doc文件夾, 將其中的內容全部復制到~/.vim/doc, 或者vim安裝目錄下的doc目錄中, 此時vim中的h...
閱讀全文

C語言中以十六進制輸出字符型變量會出現’ffffff”的問題

2013年10月08日 常見問題  ⁄ 共 922字 評論 2 條
c語言16進制ffffff問題 最近在做一個C的嵌入式項目,發現在C語言中用printf()函數打印字符型變量時,如果想采用"%x"的格式將字符型變量值以十六進制形式打印出來,會出現一個小問題,如下: char buf[10] = {0}; buf[0] = 0xbf; printf("%2x\n\n\n", buf[0]); /*在終端將會顯示成:ffffffbf*/ buf[1] = 0x7f; printf("%2x\n\n\n", buf[1]); /*在終端將會顯示成:7f*/ 為什么buf[0]不像buf[1]...
閱讀全文
二八杠讨论心得
×