linux mpc boot 串口初始化,uboot移植阶段二--3串口终结篇
2011-03-20 23:00:37
前天U-boot移植串口后,能成功顯示數據。
今天的主要目的是再次進行U-boot移植。看是否成功。花了40分鐘,很順利。
接著就是要把之前有問題的U-boot進行修改查錯,并使之串口成功顯示。
花了約1小時,我曾經備份的一個版本還是不能ok,由于這個版本我之前該得太多了。也沒記錄,修改了與串口相關的三個文件后,發現我CONFIG_S3C2440寫成CONFIG_3SC2440了,作為一個錯誤,另一個錯誤是CLKDIV寫錯了。另外MPLL clock我希望是200M結果配置的寄存器值為400M,所以也不對,修改后還是有問題,所以我放棄了。
于是又開始修改另外一個版本。發現這個版本串口輸出的數據會換行,感覺比較好。貌似也沒修改很多內容。于是就想把這個版本的u-boot修改成功。
接著修改了與串口相關的三個文件。start.S、apple2440.c、speed.c結果還是有問題。于是想到了用替換文件法。依次把我懷疑有問題的文件替換成之前修改正確的文件。
替換了start.S后還是有問題。于是替換speed.c文件,也還是有問題。只有最后希望了,當替換apple2440.c文件后,終于串口正常輸出了。對比了2個apple2440.c發現主要區別是在錯誤的apple2440.c中我增加了一句代碼
/* configure CLKDIVN */
clk_power->CLKDIVN = S3C2440_CLKDIV;
后來又把三個之前錯誤的文件替換回去。把apple2440.c文件中的這句代碼刪除后,串口就能正確顯示了。
所以總結下來,應該還是我FCLK和HCLK配置錯誤引起的。但是之前沒發現而已。
總結
以上是生活随笔為你收集整理的linux mpc boot 串口初始化,uboot移植阶段二--3串口终结篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 王者荣耀禁言天数规则
- 下一篇: 腾讯动漫app怎么领取新手限免卡(腾讯视