Time of Update: 2018-12-03
ucos II 核心學習之一 :任務調度 學校的教學方式多是先讓你學原理,再應用它。Muc21則不喜歡這種方式,依然記得在學校枯燥無味地學一大堆理論,更鬱悶的是不知道是應用在什麼地方。 Mcu21喜歡先學會用它了,然後再去瞭解它的原理。對ucos II也一樣,當我用過之後,再去看它的核心,或許理解起來會更容易。 實現任務切換,需要調用函數OSSched()。 程式碼如下void OSSched (void){ INT8U
Time of Update: 2018-12-03
這幾天利用上班空閑時間把QT移植到了基於PXA270的系統板上,首先簡單介紹一下這塊板子,板子原來跑的是linux2.6.30核心,ubifs檔案系統,應用程式方面是使用了ETK來做圖形介面。為了盡量簡單些,移植QT時我保留了核心和檔案系統,只是把ETK去掉了。下面是具體的步驟。 一,擷取QT源碼和交叉編譯器 QT4.7源碼:http://get.qt.nokia.com/qt/source/
Time of Update: 2018-12-03
最近突然將系統換成了win7但是發現安裝從官網下載的itunes總是安裝不成功,使得無法和iphone串連,後來上網查了很多資料說的都不怎麼全面,後來自己研究發現一個播放音訊東西總是安裝不了所以才使得itunes安裝不了,後來查看得知這種東西叫quicktime。所以直接從網上下載一款Quicktime player安裝好了以後再安裝itunes就行了,如果還是不成功可以重啟下電腦重新安裝一遍。
Time of Update: 2018-12-03
Ucos II 建立第一個任務之二下面具體講解下任務建立的過程就是建立任務函數的實現程式。INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio){
Time of Update: 2018-12-03
Ucos II 記憶體管理 在mcu21的項目裡,暫時還沒用到記憶體管理。不過還是有必要學習一下的。 為了消除記憶體片段,ucos II 把連續的大塊記憶體按分區來管理。每個分區中包含有整數個大小相同的記憶體塊。 類似每個任務對應一個任務控制塊,每個事件對應一個事件控制塊,ucos II裡每個記憶體塊也是對應一個記憶體控制塊。記憶體控制塊是一個資料結構,定義如下:typedef struct { void
Time of Update: 2018-12-03
ucos II 任務間 通訊之二:事件控制塊訊號,郵箱,訊息佇列都是需要先建立才能使用的,建立以上三者需要用到事件控制塊這一東西。什麼是事件控制塊呢?可以這樣理解,前面學習我們已經知道,建立一個任務需要給這個任務分配一個任務控制塊,這個任務控制Block
Time of Update: 2018-12-03
QQ2012,安裝完之後,卻發現系統好像變慢了,可以刪除一些東西。通過工作管理員,我發現QQExternal.exe和TXPlatform.exe這兩個進程的CPU佔用比較高,可能是系統變慢的“罪魁禍首”,於是決定從它們下手。 探求檔案來龍去脈 QQ2011、QQ2012裡面的QQExternal.exe是外部應用相關進程,QQ2008版本之前的QQExternal.exe是廣告相關進程。TXPlatform則是檢測相同號碼登入,避免同時登入兩個相同的QQ號碼的。這兩個檔案對使用者來說,沒什
Time of Update: 2018-12-03
ucos II 任務間 通訊之五:訊息佇列 如果把郵箱比作是訊號量的升級版,那訊息佇列就是郵箱的升級版。郵箱可以實現從一個任務向另外一個任務發送一個指標變數,訊息佇列則可以實現從一個任務向另外一個任務發送很多個指標變數。而且每個指標指向的資料結構變數也可以有所不同。
Time of Update: 2018-12-03
1. 零組件安裝順序表此稱重板對零件安裝順序無特別要求,可遵循先小後大原則,先焊接小元器件,後焊接大元器件。結合自己焊接習慣安排零組件焊接順序。 2. 產品出廠老化實驗(1) 輸入110%的額定輸入電壓連續通電24小時。(2) 高溫測試(3) 輸入突變電壓。3. 產品合格判定標準(1) 系統上電蜂鳴器響聲一次,LED燈互動閃動四次。(2) 自學習過程中,LED燈閃動,學習完成後蜂鳴器響聲兩次。(3)
Time of Update: 2018-12-03
Ucos II建立第一個任務 我們已經從遠處欣賞過ucos II 的身材,現在可以近距離地欣賞Ucos II性感的局部了。 任務是什嗎?有一句話:CPU不同的時刻段總是在執行著優先順序最高的任務。所以CPU總是在不同的任務間切換。任務好比linux中的進程。有c寫過單片機程式的人是知道函數的.。在ucos II
Time of Update: 2018-12-03
Ucos II 任務延時函數 編寫過單片機程式的都知道,延時函數是經常被用到的。 在ucos II 裡,系統也提供了這樣的延時函數。一個是福士版的OSTimeDly(),一個是精緻版的OSTimeDlyHMSM()。 蘿蔔青菜,各有所愛,隨你怎麼選。 這兩者的區別是,OSTimeDly()的延時時間是以節拍數來衡量的,OSTimeDlyHMSM()的延時時間則是以具體時間大小來衡量的。
Time of Update: 2018-12-03
ucos II 任務間 通訊之五:訊息佇列2訊息佇列通常可以應用以下兩個地方;1.儲存外來事件:外來事件由中斷收集,然後儲存到隊列。2.串口接收程式中的接收迴圈緩衝區,可理解為訊息佇列。使用一個訊息佇列的步驟如下;1、 建立一個指向訊息數組的指標和數組的大小,該指標數組必須申明為void類型,如下: void *MyArrayOfMsg[SIZE];2、 聲明一個OS_EVENT類型的指標指向產生的隊列,如下:
Time of Update: 2018-12-03
ucos II 任務間通訊之一 :全域變數 任務建立好了之後,只是完成了系統編程的一小步,更為重要的是任務間的通訊。比如在mcu21的項目裡,有通訊任務,有液晶顯示任務,有控制任務。控制任務需要用到通訊任務接受到的資料,液晶顯示任務也顯示控制任務的資料。這就需要用到任務間的通訊了。 Mcu21總結了一下,在ucos II 裡任務間通訊可以採用以下幾種方式。1.
Time of Update: 2018-12-03
ucos II 核心學習之二 :時鐘節拍ucos II 裡,時鐘節拍就好比是人的心臟一樣重要,。它對於CPU能順利在各任務間切換有著至關重要的作用。Ucos II 需要使用者提供時鐘源,在muc21項目了,我使用了定時器0作為時鐘源。使用時鐘源有一個特別需要注意的地方:使用者必須在多任務系統啟動以後再開啟時鐘節拍器,也就是在調用OSStart()之後。Ucos
Time of Update: 2018-12-03
感謝老房老師的資料,整理及遇到的問題整理如下:編輯環境:Ubantu 11.04 arm-linux-gcc 4.3.2 ok 6410開發板1、首先編譯移植tslib1.4(1)解壓縮tslib1.4.tar.gz(可以從我的資源裡面下載) tar xzvf tslib1.4.tar.gz cd tslib(2) ./autogen.sh // 用於生產configure(3) ./configure
Time of Update: 2018-12-03
前不久用優盤到朋友的電腦上拷貝一個5GB的高清大片,無法操作。朋友說我的優盤可能格式不對,需要NTFS格式才能拷貝2GB以上的大檔案。我覺得這很容易,反正優盤裡也沒有有用的東西,格式化一下不就OK了嗎? 於是,將隨身碟插入電腦USB介面,開啟“我的電腦”,右擊隨身碟盤符,選“屬性→常規”選項卡,看到隨身碟“檔案系統”的確是FAT32檔案系統,但格式化時,檔案系統下拉框中只有FAT32和FAT兩種格式可供選擇,而沒有想要的NTFS。那麼怎麼才能將優盤格式化成NTFS格式呢? 1.
Time of Update: 2018-12-03
char和varchar的長度都在1到8000之間, 它們的區別在於char是定長字元資料, 而varchar是變長字元資料。 所謂定長就是長度固定的, 當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充, 使長度達到相應的長度;而變長字元資料則不會以空格填充。 text儲存可變長度的非Unicode資料, 最大長度為2^31-1(2,147,483,647)個字元。 後面三種資料類型和前面的相比, 從名稱上看只是多了個字母"n", 它表示儲存的是Unicode資料類型的字元。
Time of Update: 2018-12-03
今天有人問我說他的word文檔中的英文音標全部變成了亂碼了,不知道什麼原因,後來我開啟他的文檔後發現真的變成亂碼,換到自己的電腦上也是。後來發現以前用word的時候很多字型都無法正常顯示是因為沒有這種字型的字型庫,我想可能也是沒有專用的字型庫才會變成亂碼的吧!於是從網上下載了國際音標標準庫(我這裡也有,可以從這裡下載),然後把它拷貝到C:/windows/Fonts檔案夾下在重新開啟就行了.如果你的word出現各種亂碼後先不要著急,看看是不是儲存格式的問題,如果不是格式問題就要考慮下是不是字型庫
Time of Update: 2018-12-03
最近公司產品在原有基礎上增加一個觸摸功能,因電路已經定型,只有usb介面引出來,所以只能選用市面上usb介面的觸控螢幕,聯絡了多家觸控螢幕代理商,移植時都存在問題。 公司產品用的平台是: PXA270 + linux2.6.27 +QT,觸控螢幕校準用的是tslib。 幾家廠商的觸控螢幕串連到板上後,系統幾乎都能檢測到該裝置,cat /dev/input/event2 或者cat
Time of Update: 2018-12-03
終端輸入make menuconfig 出現以下錯誤 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: ***