一點一滴做好嵌入式2

2021-06-18 21:15:25 字數 1054 閱讀 6833

微控制器內外部ram

下面主要講小晶元,即連mcu都算不上的一些小晶元。

晶元基本都包括其內部的ram、外部ram、eeprom、flash 等

flash 程式儲存器,其有擦寫壽命,而且小晶元的flash擦寫壽命都不高,所有在程式中

最好不要隨意的去擦寫。不過有些資料需要掉電不丟失,而操作次數不多的話可以考慮動

態儲存在flash中。

儲存大小對於晶元來說是很緊張的一件事情。乙個小晶元的儲存容量是很有限的。

雖然 比爾蓋茨說過:64k is enough for everybody ! 但是這是針對程式儲存器而言。

小晶元的內部ram容量都很小,但是訪問速度很快。外部ram容量相對較大,但是訪

問速度慢。 而且晶元定址在內部的基礎上還增加了兩位。 也就是說內部指標變數大小

兩個位元組的話,外部指標變數大小則要佔四個位元組(有的晶元是三個位元組)。

一般在晶元程式設計的時候,新手很少去注意變數定義在**,指標指向的變數是外部

ram的還是內部ram的。因為直接用c編出來實現功能就ok了,哪還管那麼多。其實

不然。做程式設計師就要做乙個有潔癖的程式設計師,追求**質量。

在處理內外部ram時,使用很頻繁的變數放在內部ram中,不怎麼頻繁訪問的常

量就放在外部ram。 當內部ram快用完了,怎麼辦呢?直接就用外部ram嗎?但是這

樣訪問速度就慢了。怎麼去解決這個問題,很容易做到。首先將變數定義在外部ram

中,然後在內部ram中定義乙個指標,該指標指向外部ram變數。注意指標變數不要

定義在外部ram中,這樣起不到提高訪問速度的效果。

現在就剩下最後乙個問題了,如何指定變數定義在外部ram和內部ram中呢?這

個問題當你拿到晶元手冊和該晶元配套編譯器說明的時候,你就可以從上面找到。

51微控制器大家都很熟悉,它就有偽指令,去指定變數定義在內部ram還是外部ram,

還可以直接把變數寫入flash中。晶元編譯器會說明這些細節,還有不要過分相信編譯

器。

一點一滴(五)

架構 1 什麼是架構?架構就是對系統中的實體以及實體之間的關係所進行的抽象描述,是一系列的決策。架構是結構和願景。系統架構是概念的體現,是對物 資訊的功能與形式元素之間的對應情況所做的分配,是對元素之間的關係以及元素同周邊環境之間的關係所做的定義。做好架構是個複雜的任務,也是個很大的話題,本篇就不做...

一點一滴學習Sybase

1,獲取當前時間的函式 select getdate 2,從資料字典中獲取資料庫物件 select from sysobjects 4,獲取 刪除 sybase連線,刪除正在連線的使用者.當查詢結束後連線並沒有關閉,建立表的時候出現lock問題,當把connection drop掉之後正常 sele...

一點一滴的愛情紀錄

在筆記本上花時間最長,佔面積最多的文章。給我乙個機會,我也想做這樣的人。很多人認為這是女人對男人的要求。我認為,不如說是女人對男人的一點一滴都記在心裡。名字是我自己起的,不過感覺很貼切。有點害羞,但曾在街頭,大聲說我愛你。同你去廟裡求籤,輕輕抓住你的手一同跪下。言而有信。從來不遲到 你遲到他不生氣。...