移植u boot啟動時串列埠出現亂碼

2021-06-25 23:27:48 字數 677 閱讀 9548

用的是tx2440的板子。u-boot-2010.06

speed.c中的get_fclk,get_pclk等函式都修改好了,可是串列埠一直出現亂碼。檢視mpllcon, clkdivn,暫存器的值都是正確,就是ubrdiv0不正確,源**找了好久都找不到錯來。這問題一直糾纏了好幾天。後來發現是在get_pllclk中出錯。

原來**:

static ulong get_pllclk(int pllreg)

else if (pllreg == upll)

#endif

return (config_sys_clk_freq * m) / (p << s);

}問題就出在: return ((config_sys_clk_freq * m * 2) /(p << s));

config_sys_clk_freq為12mhz , 12m*200*2結果已經超出了32bit的範圍而導致資料溢位了,所以結果出錯了,悲劇,浪費了我這麼多時間。

修改方法:

ulong clk_tmp = (config_sys_clk_freq * m )/(p << s);

return (clk_tmp*2);

//return ((config_sys_clk_freq * m * 2) /(p << s));

這樣u-boot在串列埠就可以列印出正常字元了。

apache啟動時出現錯誤的解決方法

錯誤 httpd could not reliably determine the server s fully qualified domain name 解決方法 進入apache的安裝目錄,我的是d program files apache software foundation apache...

mysql啟動時出現的問題及解決方法

1.cmd 開啟輸入mysql u root p 出現提示該命令無效,可能是由於沒有配置環境變數 解決方法 配置mysql環境變數,把c program files mysql mysql server 5.7 bin加入環境變數 2 啟動mysql方法 第一種,直接開啟執行,輸入services....

IDEA 專案突然出現異常無法啟動時的有效解決辦法

解決方法有效的前提是,專案本身是可以正常啟動的,但是因為某些原因無法正常啟動,原因包括但不限於以下幾種 不小心刪除了專案中的檔案,導致無法啟動 專案很久沒更新,更新之後,導致無法啟動 專案更新之後出現很多報錯資訊。導致無法啟動 通常做法 但是很多時候,因為對開發環境或者專案的不熟悉,一時間無法找到錯...