Time of Update: 2018-12-04
http://blog.csdn.net/zhanglianpin 基礎知識裡已經基本上講解了UCOS要生活的家(即硬體平台環境),還有就是為了讓進階語言寫的程式能變成在硬體平台上直接啟動並執行程式,編譯器都幹了些什麼。還有這個C語言啟動並執行環境問題,也就是從硬體和組合語言的角度去理解進階語言。 下面我們就從硬體加電到UCOS真正運行起來這樣一種思路講解一個嵌入式即時作業系統的實現原理以及它所包含的精髓。好了,現在就介紹一下我們所有的軟硬體設施和用到的所有的工具。 硬體:用的硬體平台是博創24
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 原子鎖是多線程編程中的一個特色。然而,在平時的軟體編寫中,原子鎖的使用並不是很多。這其中原因很多,我想主要有兩個方面。第一,關於原子鎖這方面的內容介紹的比較少;第二,人們在編程上面習慣於已有的方案,如果沒有特別的需求,不過貿然修改已存在的代碼。畢竟對很多人來說,不求有功,但求無過。保持當前代碼的穩定性還是很重要的。
Time of Update: 2018-12-04
LPC2000 UART串口使用心得針對zgpswh在串口使用上的一些難題,總結個人在前一階段的理解,比較片面,不對的地方請高手指正。1、LPC2000
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 軟體調試是我們軟體開發過程中的重要一課。在前面,我們也討論過程式調試,比如說這裡。今天,我們還可以就軟體調試多講一些內容。比如說條件斷點,資料斷點,多線程斷點等等。#include <stdio.h>int value = 0;void test(){int total;int index;total = 0;for(index = 0; index < 100;
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 相信有過多線程編程經驗的朋友,都吃過死結的苦。除非你不使用多線程,否則死結的可能性會一直存在。為什麼會出現死結呢?我想原因主要有下面幾個方面: (1)個人使用鎖的經驗差異 (2)模組使用鎖的差異 (3)版本之間的差異 (4)分支之間的差異 (5)修改代碼和重構代碼帶來的差異
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 對於編寫多線程的朋友來說,隊列具有天生的互斥性。在隊列裡面,一個負責添加資料,一個負責處理資料。誰也不妨礙誰,誰也離不開誰。所以,隊列具有天生的並行性。#define MAX_NUMBER 1000L#define STATUS int#define OK 0#define FALSE -1typedef struct _QUEUE_DATA{ int data[MAX_
Time of Update: 2018-12-04
功能:Init、SleepIn、SleepOut、DisplayOn、DisplayOff注意事項:LCD的調試中,延時特別重要,一定要確定延長的時間足夠,特別是更改電壓寄存器後面的延時。記得有一次螢幕出現抖動的現象,一直查不出原因,廠家從日本派了2次來人,都沒解決;最後,把所有的時序測試出來,發現延時不足,影響延時的一個函數傳遞參數錯了。1.初始化前需要一個延時(大概為10ms),使Reset穩定;2.如果出現花屏現象,很大的可能是匯流排速度問題;3.如果螢幕閃動比較明顯,可以通過調整電壓來穩
Time of Update: 2018-12-04
http://blog.csdn.net/zhanglianpin全域變數應該是得到記憶體配置且可以被其他模組通過C語言中extern關鍵字調用的變數。因此,必須在 .C 和 .H 檔案中定義。這種重複的定義很容易導致錯誤。以下討論的方法只需用在標頭檔中定義一次。雖然有點不易懂,但使用者一旦掌握,使用起來卻很靈活。表1.2中的 定義出現在定義所有全域變數的.H標頭檔中。程式清單 L 1.2 定義全域宏。 #ifdef xxx_GLOBALS #define xxx_EXT #else
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 前面,為了使得寫操作快速進行,我們定義了順序鎖。但是順序鎖有個缺點,那就是處理的資料不能是指標,否則可能會導致exception。那麼有沒有辦法使得處理的資料包括指標呢?當然要是這個鏈表沒有鎖,那就更好了。 針對這種無鎖鏈表,我們可以初步分析一下,應該怎麼設計呢? (1)讀操作沒有鎖,那麼怎麼判斷讀操作進行中呢,只能靠標誌位了;
Time of Update: 2018-12-04
專案管理系統:http://kuai.xunlei.com/d/wtViAgI.2wBlSzlRcf4自己動手寫架構:http://kuai.xunlei.com/d/wtViAgLZ2gAUSTlR375ASP.NET實戰中國電信CRM:http://kuai.xunlei.com/d/wtViAgIA2gD3RDlR2e2雲端運算中介軟體開發:http://kuai.xunlei.com/d/wtViAgKn2QCoQzlR050雲端運算商城C2C項目:http://kuai.xunlei.
Time of Update: 2018-12-04
http://blog.csdn.net/pan869823184/article/details/7360041《Linux視窗程序設計——Qt4精彩執行個體分析》書籍與代碼http://www.verycd.com/topics/2765323/ 丁林松老師的QT視頻 - 安裝並配置QT環境線上播放:http://www.boobooke.com/w/bbq2021:http://www.boobooke.com/w/bbq2021.zip丁林松老師的QT視頻 -
Time of Update: 2018-12-04
http://blog.csdn.net/zhanglianpin先說明一下在加電之前的這個軟硬體情況,這個三星公司根據ARM920T軟核生產的這個s3c2410整合了64M的sdram和64M的nandflash儲存空間。Vivi和UCOS都儲存在這個nandflash中,因為nandflash斷電後不會丟失資訊。這個VIVI是三星公公司為ARM系列晶片書寫的bootloader,用於開發階段,做系統的引導程式。VIVI存放在flash
Time of Update: 2018-12-04
前言: 漢字機內碼,又稱“漢字ASCII碼”,簡稱“內碼”,指電腦內部儲存,處理加工和傳輸漢字時所用的由0和1符號組成的代碼。輸入碼被接受後就由漢字作業系統的“輸入碼轉換模組”轉換為機內碼,與所採用的鍵盤IME無關。機內碼是漢字最基本的編碼,不管是什麼漢字系統和漢字輸入方法,輸入的漢字外碼到機器內部都要轉換成機內碼,才能被儲存和進行各種處理。 漢字在電腦內部其內碼是唯一的,GB碼的機內碼為二位元組長的代碼。 GB碼的機內碼為二位元組長的代碼,它是在相應GB碼的每個位元組最高位上加“1”,即
Time of Update: 2018-12-04
http://blog.csdn.net/zhanglianpin使用者模式(user模式),運行應用的普通模式; 快速中斷模式(fiq模式),用於支援資料轉送或通道處理;
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 多核編程並不是最近才興起的新鮮事物。早在intel發布雙核cpu之前,多核編程已經在業記憶體在了,只不過那時候是多處理器編程而已。為了實現多核編程,人們開發實現了幾種多核編程的標準。open-mp就是其中的一種。對於open-mp還不太熟悉的朋友,可以參照維基百科的相關解釋。
Time of Update: 2018-12-04
首先,申明這下面是轉的。Error[Cp001]: Copy protection check, No valid license found for this prod t [20]原因:安裝的時候沒有把註冊機的0x.....字串的小寫字母改為大寫字母。Warning[Pe001]: last line of file ends without a newline
Time of Update: 2018-12-04
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 優先順序反轉對於編寫應用程式層的人員來說不大會發生,但是對於作業系統的設計者來說確是一個逃不過去的問題。要知道怎麼樣處理優先順序反轉?那麼先看看它是怎麼發生的。 (1)調度隊列和線程優先順序
Time of Update: 2018-12-04
高效FIFO串口雙機通訊在ARM7上的實現S3C44B0X(時鐘頻率為60 MHz)的UART單元提供2個獨立的非同步串列I/O口,每個通訊口均可工作於中斷或DMA模式。即UART能產生內部插斷要求或DMA請求,在CPU和串列I/O口之間傳送資料。它支援高達115.2 Kb/s的傳輸速率,每1個UART通道包含了2個16位的分別用於接收和發送訊號的先進先出(FIFO)通道。S3C44B0X
Time of Update: 2018-12-04
1 動態語言和靜態語言 通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。 1 動態類型語言:動態類型語言是指在運行期間才去做資料類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變數指定資料類型,該語言會在你第一次賦值給變數時,在內部將資料類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種指令碼語言如VBScript也多少屬於動態類型語言。 2