RAM和 flash這個東西

2021-07-25 13:44:59 字數 609 閱讀 6911

因為sram的位址具有唯一性,其實資料線也有唯一性。也就是a0~a18,d0~d15,都是唯一的。正常是:a0~a18,接fsmc的a0~a18。d0~d15,接fsmc的d0~d15.

假設我們a0和a18對調了,也就是a18接fsmc的a0,a0接fsmc的a18,其他不變。這樣,寫位址1的時候,實際上是寫到0x0004?0000,這個位址,你可能覺得有問題。但是你反過來想,讀位址1的時候,你是不是也是讀0x0004?0000這個位址?既然讀也是這個位址,寫也是這個位址,那麼資料會錯麼?

在看d0~d15,你亂接,也一樣的道理。假設按d0~d15接fsmc的d15~d0,全反了。但是有關係麼?你寫的時候:0b1111 1111 0000 0000;讀的時候,不也是:0b1111 1111 0000 0000;

所以,只要位址線和資料線不混淆,位址線可以隨便亂接,資料線同樣可以隨便亂接。

但是切記:這種情況,不是萬用的,比如你接lcd,那就不行,因為lcd的d0~d15,具有特殊用處(暫存器需要配置),這些是不能改的,否則你會很麻煩...所以實際上,我們布sram的線,只要位址線和資料線不混淆。那麼隨便怎麼接都可以,位址線的順序、資料線的順序,都可以亂。這樣的好處,就是可以方便佈線,如果一定要一一對應的接,那麼佈線就麻煩一點了。

STM中FLASH和RAM的關係

一 stm32中的記憶體分布情況 要搞清楚stm32 flash ram的使用情況,就需要理清楚stm32的儲存結構。在stm32中,flash,sram暫存器和輸入輸出埠被組織在同乙個線性位址空間內 c語言上分為棧 堆 bss data code段。重點分析一下stm32以及在mdk裡面段的劃分。...

學習這個東西

你為什麼要學這個東西?你想幹什麼,達到什麼目的?這個東西有什麼價值?怎麼學這個東西?學習每個東西都有一定的竅門,整體上每一類的學科之間,都有一定的聯絡或者連貫性,相連性,要學會相互之間的聯絡。學習別的東西的時候,看看和你學的東西之間有沒有什麼聯絡?做什麼事情都不要拖延,因為你今天找的藉口其實你明天也...

字元這個東西

c 裡面有字元陣列和字串,字元陣列是char型別,而字串string型別。這兩種都是用來儲存字元的,每乙個字元都有與其對應的乙個ascii碼。記得string型別好像不能存空格吧,大概忘了。字串輸入應該有好幾種,cin 是string和char都可以用的,比較方便,但是執行的時候費時間 printf...