Note: Omap35x Sys_boot[5:0], Sys_boot6

Sys_boot6 是用來決定Clock source 是屬於 Crystal (pull-down) or External Clock generator (puul-up), 而且用Crystal 時可以多sys_clkreq當做 input 的gpio 來用, Sys_boot6 狀態應該是PowerOn/Reset 完後就不能改的 (一般人應該也不會想去改吧, 不過有些天才會去問可不可以改)

TI/OMAP3 的TRM 將PowerOn Reset 到 Booting 分為幾個階段

  • Preinitialization (預先初始化)
  • Power/Clock/Reset ramp sequence (電源/時脈/重置時序)
  • Boot ROM (開機唯讀記憶體)
  • Boot loader(開機載入程式)
  • OS/Application(作業系統/應用程式)

Preinitialiazation & Power/Clock/Reset 是HW主導的, 可以用專門的PMIC(如TPS 65950)或是CPLD去處理, 基本上HW  設計電路圖要對這一部分有了解,  對應的System configuration 是這兩個stage 處理, 例如上面提到的Sys_boot[5:0], Sys_boot6 都是這兩個階段處理. 當然在開發EVB的時候可以設計成, 指撥開關, 方便設計驗證!

在 OMAP35x內的Bootrom 是可以透過 Sys_boot[5:0] 決定Bootrom的 Memory mapping 跟 Boot device! OMAP3的Bootrom code支援許多不同的Device載入 2nd Bootloader, 從 UART 3/USB/SD/MMC/NAND/OneNand/NOR/MDOC H3, 不過 MDOC H3可以不用考慮了是個停產的東西, 現在主流是用 SD/MMC 介面, UART3/HS USB 可以應用在開發開始時寫 Bootloader 驗證用, 也可以用在 Mass Prodution 作為初始SD/MMC/NAND的 partition program 算是非常方便的功能!

 

P.S.

S5PC100 Datasheet 可以在 Odroid Project 上下載, 不知道Samsung 策略一直改是因為Apple 嗎? 本來 S3C24xx 都是Open datasheet & BSP 但是從Apple 推出 iPhone 採用 S3C64xx 後, 可能系統設計有Apple 的介入關係, Samsung 一度採取封閉政策, 將所有資料從官網移除, 但是不知道是不是 Apple 現在開始開發 AppleBeagleBoard 的關係, Samsung現在也推出了 Odroid 有點跟 Ti Omap3別苗頭的意思, 說實在的 Ti Omap3 在我看來是因為商業策略得宜, 不然我覺得Ti 本身的 SW/BSP support 實際上都是有問題的!現在Samsung 這招不知道能不能像 Beagle Board一樣產生相應的效應? S5PC100 同S3C64xx 有一個iROM 不過好像新增了USB booting 的功能, 但是 Datasheet 內沒有更多消息了!

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: