跳到主要內容

發表文章

目前顯示的是 2020的文章

Starting Kernel Hang....[Solved]

  eMMC的u-boot發生問題,要做cmdline參數的修改,跟前輩請教了一下,自己看著TI的how-to guide弄了一個custom board的bootloader,卻發現kernel boot up不起來,本來懷疑是DDR3的參數沒弄好,自己還去找TI的EMIF tool來自己弄一份,結果還是死。 貼log給前輩看,他馬上就說,你fdt的relocate位址已經超過記憶體位址上限了,於是就找到要把env prop bootm_size定義拿掉的地方,於是就boot up進去了

USB網路卡名稱維持USB0

製作TFTP Boot via USB的環境(Ubuntu 18.04.5)時,由於udev的rule的關係,USB網卡會被改名而不是維持usb0,這時候只要簡單的改grub的設定即可。 編輯 /etc/default/grub > GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" 改完後要update grub.cfg > sudo update-grub

[ARM Cross Compiler]arm-linux-gnueabi 和 arm-linux-gnueabihf 的區別

ABI與EABI ABI:  Application Binary Interface (ABI) for the ARM Architecture  應用程式機器二元碼介面 (英語: application binary interface ,縮寫為 ABI )是指兩程式模組間的介面;通常其中一個程式模組會是函式庫或作業系統所提供的服務,而另一邊的模組則是使用者所執行的程式。 一個ABI定義了機器碼如何存取資料結構與運算程式,此處所定義的介面相當低階並且相依於硬體。 EABI就是Embedded ABI arm-linux-gnueabi 和 arm-linux-gnueabihf 在debian源裏這兩個交叉編譯器的定義如下:          gcc-arm-linux-gnueabi - The GNU C compiler for armel architecture         gcc-arm-linux-gnueabihf - The GNU C compiler for armhf architecture 可見這兩個交叉編譯器适用於armel和armhf兩個不同的架構, armel和armhf這兩種架構在對待浮點運算採取了不同的策略(有fpu的arm才能支持這兩種浮點運算策略)     其實這兩個交叉編譯器只不過是gcc的選項-mfloat-abi的默認值不同。gcc的選項-mfloat-abi有三種值soft,softfp,hard(其中後兩者都要求arm裏有fpu浮點運算單元,soft與後兩者是兼容的,但softfp和hard兩種模式互不兼容):     soft   : 不用fpu進行浮點計算,即使有fpu浮點運算單元也不用,而是使用軟體模式。     softfp : armel架構(對應的編譯器为gcc-arm-linux-gnueabi)採用的預設值,用fpu計算,但是傳参數用普通暫存器傳,這樣中斷的時候,只需要保存普通寄存器,中斷負荷小,但是参數需要轉換成浮點的再計算。     hard   : armhf架構(對應的編譯器gcc-arm-linux-gnueabihf)采用的默認值,用fpu計算,傳参數也用fpu中的浮點暫存器傳,省去了轉換, 性能最好,但是中斷負荷高。 把以下測試使用的c

Win10預設輸入法改成英文開始

在使用windows10有時候會遇到很煩的情況,當你開啟新的AP,要輸入英文的時候,卻發現預設是中文,又找不到在哪邊改。 以下是更改的方法。 1. 首先去控制台>時鐘>語言後,新增ENGLISH(美國) 2. 在回到上一層選進階設定, 選擇 覆寫預設輸入法 成 US英文美國 。 覆寫windows顯示語言 則是要 中文台灣 , 切換輸入法兩個都要打勾 。