讀書小記01

2021-05-22 21:00:33 字數 1984 閱讀 3257

最近雖然很忙,但是如果一直寫報告,程式設計序,編**的話,感覺會十分的枯燥,所以要做別的事情調劑一下。

最近在看windows ce 嵌入式開發入門— 基於xscale的架構這本書,感覺這本書講的比較多,至少比課堂裡面詳細,這本書分為2個部分,前面介紹這款晶元的硬體知識,後面介紹wince的架構,我是學軟體出生的,如果一開始就叫我看硬體的話會吃不消,兩個結合的看可能比較適合我。

感覺看這種技術類的書,如果只是當成**一樣的看,可能沒有效果。還是要在看的時候記錄一點東西,可能印象會比較的深刻。

第一章 gpio 和中斷控制器

要點:1.什麼是gpio : 通用輸入輸出

2. 對於不使用的gpio 腳來說,如果把他們設定成輸出狀態,可以降低系統的電源消耗。

3. 當gpio引腳被設定成輸入狀態時,可以作為中斷輸入引腳使用。系統復位後,所有引腳都被設定成輸入狀態。

4. 當gpio引腳被設定成輸出狀態時,可以通過向引腳賦值來決定引腳電平高低。向gpsr暫存器輸出1代表高電平,向gpcr暫存器輸出1代表低電平。

5.從gpio引腳狀態暫存器(gplr)讀取資料,可以獲得當前引腳狀態。

根據這些資料,再回頭看看led的驅動,可能就比較清楚了。

//首先定義gpio的指標

bulverde_gpio_reg   *g_pgpioregs2 = null;

//對映實體地址到虛擬位址,從書後面的內容可以知道,是不能直接操作實體地址的,要先對映成虛擬位址。

physical_address pa;

pa.quadpart = bulverde_base_reg_pa_gpio;

g_pgpioregs2 = (bulverde_gpio_reg *) mmmapiospace(pa, sizeof(bulverde_gpio_reg), false);

// gafr1_u 對應gpio[63:48] 的附加功能暫存器,具體指的意義可能要看cpu的說明才知道,書上也沒寫  

g_pgpioregs2 -> gafr1_u &= (0xfff0ffff);

g_pgpioregs2 -> gafr1_u &= (0xffffff0f);

//gpdr1 控制了引腳的資料傳送方向。如果相應位置1,說明該引腳為輸出引腳。

// 這裡先置把四個led燈先全部置0,後全部置1,這樣做可能是為了保險吧,因為書上講系統啟動後,所有引腳都為輸入方向(就是0啦),他可能是預計到之後在編寫其他的led驅動吧~~~

g_pgpioregs2->gpdr1 &= ~((0x1<<25)|(0x1<<24)|(0x1<<19)|(0x1<<18));

g_pgpioregs2->gpdr1 |= ((0x1<<25)|(0x1<<24)|(0x1<<19)|(0x1<<18));

//全亮 gpcr輸出1,表示低電平,所以led燈是低電平亮

g_pgpioregs2->gpcr1 |= ((0x1<<25)|(0x1<<24)|(0x1<<19)|(0x1<<18));

//全滅 gpcr 輸出1,表示高電平

g_pgpioregs2->gpsr1 |= ((0x1<<25)|(0x1<<24)|(0x1<<19)|(0x1<<18));

舉乙個d2燈亮完0.5秒後滅的例子

inputcurdata = g_pgpioregs2 -> gpcr1;

inputcurdata &= ~(0x1<<18);

inputcurdata |= (1<<18);

g_pgpioregs2 -> gpcr1 = inputcurdata;

sleep(500);

inputcurdata = g_pgpioregs2 -> gpsr1;

inputcurdata &= ~(0x1<<18);

inputcurdata |= (1<<18);

g_pgpioregs2 -> gpsr1 = inputcurdata;

從這裡可以看到,它都是先清0.後置1的,這樣可以保證絕對沒有錯~~~,可能前面的也是出於這樣的考慮~~。

軟體架構 讀書小記

架構師會貢獻 參加 評審 回顧,有預先架構設計 也有架構演進,執行scrum,任何對設計有意見都可以提出來 關於軟體架構 軟體開發的新方法 傳統軟體過度的預先設計,而初次接觸敏捷方法的團隊往往缺乏架構思維,兩者之間找到乙個平衡點 關於軟體架構,開發者知道的事 ooda 觀察,定向,決策,行動 敏捷是...

Node 學習小記 01

開始選單 執行 cmd enter path是計算機名詞,功能是裝置可執行檔案的搜尋路徑。為什麼要配置path?當我們在命令列視窗開啟乙個檔案,後者呼叫乙個程式時,系統會首先在當前目錄下尋找檔案或程式。如果在當前目錄下找到了,則直接開啟 如果在當前目錄下沒有找到,就會到環境變數 path 的路徑中依...

C 隨筆小記01

1.不定期手寫 保持筆試能力。2.net與c 3.net能幹什麼 開發桌面應用程式winform internet應用程式asp.net 手機開發wp8 4.net兩種互動模式 c s 客戶機 伺服器模式 b s 瀏覽器 伺服器模式 5.ide整合開發環境 net的ide是vs2010 6.msdn...