任務:修改sd卡cd管腳,cd管腳是用來給系統通知sd卡的插入與拔出訊息的,tq3358預設用的是spi0_cs1(gpio0_6),現在要改為gpio1_16
1. 檢視原理圖核心板原理圖
mmc0的sdcd接的是gpio0_6。
2. 檢視 arch\arm\mach-omap2\mux33xx.c,這個檔案是ti3358的管腳定義,不要修改。
_am33xx_muxentry(spi0_cs1, 0,
"spi0_cs1", "uart3_rxd", null, "mmc0_pow",
null, "mmc0_sdcd", null, "gpio0_6"),
這部分就是sd卡cd管腳的定義和功能服用描述。
然後找到gpio1_16的管腳定義
_am33xx_muxentry(gpmc_a0, 0,
"gpmc_a0", "mii2_txen", "rgmii2_tctl", "rmii2_txen",
null, null, null, "gpio1_16"),
3. 修改arch\arm\mach-omap2\board-am335xevm.c,這個檔案是ti3358硬體管腳的配置。
找到mmc初始化的位置
static void mmc0_init(int evm_id, int profile)
從初始化的函式可以看出,主要修改兩個結構體。
1) mmc0_pin_mux 與sd卡相關的管腳配置
/* module pin mux for mmc0 */
static struct pinmux_config mmc0_pin_mux = ,,,
,,,,
,通過剛才檢視核心板的原理圖,顯然是修改這一行,照貓話虎的改為:注意,前面的字串只是起到
乙個標識的作用,後面的模式號才是正在起作用的。
,
,
};2)am335x_mmcsd卡的硬體配置資訊
static struct omap2_hsmmc_info am335x_mmc __initdata = ,,,
{} /* terminator */
};4. 將board-am335xevm.c用到的有關gpio1_16的**遮蔽掉,以免干擾。
在此檔案裡搜尋gpmc_a0
,因為ti的管腳都是復用的,gpio1_16這個管腳的預設名稱可以從剛才mux33xx.c這個檔案裡找到,就是gpmc_a0
。刪除掉以下兩行即可。
,
,
Am335x 啟動過程
啟動順序 針對ti oma3 evm linux一般的啟動順序是 上電的時候,omap裝置最開始的boot是從cpu內部的boot rom起來,這部分的 是出廠的時候固化的,不能被改變的。boot rom通過讀取外部boot pin的配置來尋找第乙個外部bootloader。可以尋找的裝置有nand...
Am335X編譯除錯環境搭建
am335x編譯除錯環境搭建 可以參考 1,配置伺服器端的編譯環境,參見sitara linuxsdk sdg 05.04.01.00.pdf p239 sitara linux sdk gcc toolchain 這裡由於是同事已經搭好環境,所以沒法確認細節問題 2,寫一段測試c include ...
Am335x之u boot LOGO的增加
am335x下增加u boot的logo比較簡單,詳細步驟如下 2,安裝 3,找到安裝後的目錄 tools bmptoraster,裝它拷貝到linux系統下 4,標頭檔案裡遮蔽 define compress,然後make它,生成a.out 5,自己做乙個24位的點陣圖,拷貝到a.out目錄下 6...