話說之前po U-boot到Kaise的sbc2410x開發板受阻後 , 可能大家就發現我似互沒有再繼續進行有關移植U-boot的相關動作 , 或是發表相關文章呢? 放棄了嗎? 實則不然!!  主要原因是我暫時打消把U-boot po到sbc2410x 的idea , 而是轉向直接將U-boot po 到一塊新到手的開發的平台上~ 而經過近三個禮拜的時間 , 歷經新的cpu 移植 , 系統重定位 , 周邊系統規劃 , 以及進入ArmBoot後 , 系統的設定等........終於在上禮拜 , 完成了!!!    Das U-boot 可以順利的在手中的新平台上運作了....

        當然在過程中, 除了參考U-boot 裏頭的 README 文件外 , 也參考了幾本相關的書目. 不過最有用的莫過於在U-boot下 , 利用cross_compile-prefix-objdump 的指令 , 將binary file反組譯後來進行debug.  有效的幫助我排除了一些相關的問題....真的很有用.
        不過 , 礙於這次的開發牽涉到相關的商業機密 , 所以相關的過程不便在blog上公佈 , 但仍歡迎遇到有問題的朋友們 , 可以留言發問 , 我會提供相關經驗與大家分享的.
       談到U-boot , 看過幾本坊間的書 , 大概都只是只大略的提到有關於系統怎麼重定位及相關目錄是什麼? 讓人覺得有那麼點的點到為止 , 隔靴搔癢般的 , 讓人不快. 所以接下來的時間中, 有機會我會把我在po 完U-boot中 , 在調適一些U-boot架構的經驗 , 慢慢的發表出來 , 或許可以讓正在努力這一塊的人 , 也能一起研究Debug.

jslinux 發表在 痞客邦 留言(6) 人氣()


        u-boot 的指令集算是不少. 經過一段時間測試後 , 大部份的功能都測試成功. 但美中不足的 , 因為系統的網路硬體 , 尚未build在FPGA板上 , 所以相關網路傳輸 , 開機執行等功能就無法測試了. 但為了能證明自己能掌握 u-boot移值的精髓 , 這個部份將會在KAISE 的SBC2410 Platform(sbc2410) 做驗證.
       接下來 , 就將目前u-boot移值在gl300平台上的結果 , 依下列分類做個記錄. 

      1.boot cmd set(bootp , bootm ) , 命令可以執行 , 但network front end 未通 , 所以無法驗證網路傳輸
      2.Memory control set(md , mm , mtest, cp) : ok
 
      3. Flash memory control(flinfo , erase) : ok
      4. Protect cmd : ok
      5. Uart Protocol transfer (loadb , loady): ok
      6. Server connection(NFS , DHCP , Ping, tftpboot) : 網路端未通 , 無法測試
      7. 執行命令(GO ) : ok
      8. cache cmd set : 命令可用 , 但cache 效能未驗證.
      9. image list : kenel image  還未載入測試. 待測中.
    10.  Enviroment cmd(setenv) : ok
    11. 其他測過的指令(base , bdinfo , date, help, version)

jslinux 發表在 痞客邦 留言(0) 人氣()


         在移植一個 bootloader 或是新建一套 BSP(boot strap package) 到 target board 時 , 是很艱辛的. 因為在整個系統還沒穩定前 , 即使有更好的ICE , 也很難協助做debug的動作. 再加上 build 的image 要反覆的燒錄在板子上的 flash 中來驗證. 如果沒有一套輔助系統 , 我想光是拔 flash IC 起來到燒錄器的過程 , 大概就不下數十次吧.
        在 gl300

jslinux 發表在 痞客邦 留言(0) 人氣()


       上一篇試著要把U-boot 1.2.0 移植到sbc2410x 開發板發生問題後 , 經查出來是因為我把binary image 透過NandPgm 燒程式燒在sbc2410x 開發板的NAND Flash上 , 想當然爾 , 原始的 U-boot 1.2.0 並沒有支援NAND flash 開機的能力 , 所以系統一開始就亂掉hang住了. 原本是想說 , 要不把 image 燒到NOR Flash上 , 先試一下. 但手上這塊sbc2410x 開發板 的NOR flash 有問題. 所以沒辦法試. 既然要費功移植 , 那乾脆就直接在最後要完成的 gl300 platform 來試試. 順利的話 , 就可以對 U-boot 有著更深的認識. 屆時再回頭來試試sbc2410x 這一塊板子. 應該就會更駕輕就熟了....

jslinux 發表在 痞客邦 留言(0) 人氣()


        懂得如何編譯 U-boot 1.2.0  , 只是基本的動作. 下一步要把build好的binary 放到開發板(Development Board)上 , 並且驗證動作成功. 這才能完全確認之前U-boot 1.2.0 的 bootloader 編譯 , 是真的沒有問題.
        因為 U-boot 1.2.0 的版本 , 內嵌了sbc2410x的平台 , 所以理論上應該可以直接將 build 好的 image  給燒到開發板上才是.......

jslinux 發表在 痞客邦 留言(0) 人氣()


         u-boot , 是早期由ARM-Boot所衍化出來的一個 , 能在ARM上所使用之boot loader. 因為使用者基於是一個Open source 的萬用bootloader , 故u-boot(Universal bootloader) , 就這樣應蘊而生. 第一個plarform 是po 在PowerPc(ppc) 的平台上 , 接著像是ARM等處理器等平台 , 也在Maintainer及廣大的Linux愛好者的努力下 , 被建構了出來...

        因為廣大使用者的愛好 , 加上坊間也有許多的書籍 , 拿u-boot當成入門bootload的範例. 也因此可以應用的資源也算是不少. u-boot在載入測試平台前 , 需先編譯成為二進制檔(bin) , 或是十六進制的S-Record檔(srec. Motorola格式) , 這在Binutils的套件中 , 有許多工具程式可以應用. 而在u-boot的指令稿中(Makefile) , 也早已編入成為必備的程序 , 所以在編譯成功的結果. 會得到u-boot.bin , u-boot.srec. u-boot.smap , u-boot等四個不同格式的檔案

jslinux 發表在 痞客邦 留言(0) 人氣()

1
Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。