移植三星uboot

2021-08-20 02:46:50 字數 1215 閱讀 9831

注:為學習朱有鵬嵌入式課程的筆記

三星uboot移植:(在source insight裡改,複製到ubuntu中,可以寫個cp.sh,把複製命令都寫進來,再source cp,sh)(解決問題首先要定位,細心查詢,總是有效的方法加列印資訊)

1.遮蔽pmic模組    uboot執行起來了,但是很多配置錯誤、

2.開啟smdkv210single.h,  三星開發板和九鼎開發板只是板級區別,soc cpu並沒區別,所以移植時時鐘部分不動   ddr部分要改(暫存器memconfig0,dram1_base_address改為從30000000開始,

虛擬印射表  mmu   .set _base 0x200    .rept 0xd00-0xc00改為.set _base 0x300    .rept 0xd00-0xc00)    重新配置 編譯

3.inand  有誤,解決:把列印的錯誤資訊複製到uboot專案中去搜尋(選乙個關鍵字)

extended csd暫存器:card specific data卡特有資訊,,,,裡面有乙個是卡的版本資訊

4.修改環境變數如ipaddr。在smdkv210single.h中,修改的是預設的環境變數,但是每次開發板重啟用的是mmc裡的。所以如果想讓修改的環境變數起作用,要破壞mmc的環境變數分割槽

mmc write address blk# cnt     mmc write 0 3000000 11 32(把記憶體30000000開頭的內容第17個扇區開始的32個扇區裡)

5.移植網絡卡  網絡卡(偽裝成rom.sram)與sromc_bankn相連,實際上是一種匯流排訪問,這樣soc內部就不要有乙個網絡卡控制器,

所有的暫存器都在外部網絡卡晶元中(所有暫存器的位址都是乙個偏移量,相對於sromc_bankn記憶體位址),通過位址直接訪問,不同inand/sd時序訪問。

sromc是srom控制器,支援外部的8位或16位nor flash 或sram     srom是sram或rom.sram。

主機soc上網就是通過控制網絡卡晶元的暫存器和緩衝區等資源。比如將要傳送的資料丟到緩衝區

dm9000是16bit資料線(資料線與位址線復用) 。 網線有八根,但其實只有四根有效通訊線(兩根用來傳送tx- tx+  兩根用來接收rx- rx+(差分訊號)),其他四根是地線用來抗干擾。、

cs chip select選中,網絡卡晶元才工作。

(晶元的引腳多了,塊頭也做大了,焊接時不良率也增加了)

socket內部呼叫網絡卡驅動實現網路通訊

分析三星的uboot中的fdisk功能

mbr的分割槽表有4個,每個分割槽表長度為16個位元組。chs mode表示cylinder head sector,由於硬碟可能有多塊碟片組成,每個碟片正面和反面都可以存資料,所以每個碟片正面和反面各有乙個磁頭,每個碟片的一面都是有一些同心圓組成,這些同心圓就是磁軌,不同碟片上的相同位置的同心圓 ...

三星6818基於uboot的流水燈程式

檢視文件目錄查詢到gpio功能相應模組 找到配置gpio的方法 找到對應的暫存器配置位址 1 這個是我們要用到的暫存器圖表 2 這個是gpio復用功能暫存器,由兩位位元位還選擇不同的復用功能,至於功能0 3分別是什麼還需查相關資料這裡就不多解釋了 3 這是我們的輸出輸入使能暫存器 4 這是我們要輸出...

三星記憶體編碼 三星記憶體編號命名揭秘

首先來解釋一下四段號碼的大概含義。a部分我想不用解釋了吧,標明的是生產企業的名稱 samsung b部分說明的是該記憶體模組的生產日期,以三個阿拉伯數字的形式表現。其中第乙個阿拉伯數字表明,生產的年份,後面兩位數字表明是在該年的第 xx周生產的。例如,上圖中的 就該表示該模組是在 年的第周生產的。如...