導航:首頁 > 程序命令 > 命令行進度條

命令行進度條

發布時間:2022-06-01 01:51:10

❶ 如何修改嵌入式linux啟動進度條

1.分析
ARM-Linux啟動時會先在LCD左上角顯示一個ARMLINUX的小企鵝圖案,也就是我們所說的bootlogo。
首先分析一下Logo的顯示代碼:
不難發現Logo顯示是在載入顯示驅動fb後由kernel/drivers/video/fbcon.c中的fbcon_show_logo函數來完成的。
fbcon_show_logo函數中有很多兼容性代碼,不是都會用到的!
再仔細看一下,這里用到的顯示數據均來自kernel/include/linux/linux_logo.h。這里同樣也有一些兼容性的數據,其中對我們有用的是:
linux_logo_red[] —— 調色板中的紅色分量
linux_logo_green[] —— 調色板中的綠色分量
linux_logo_blue[] —— 調色板中的藍色分量
linux_logo[] —— Logo圖案的點陣
以上數據都是不需要你修改的在fbcon_show_logo里只做了256色的顯示,所以要先設置一個RGB調色板。這里的調色板是從0x20色開始編的,所以實際好象只有最多224色的顯示。linux_logo.h里默認是做了一個214級的灰度調色板,如果想要更多色彩的話可以自已修改(注意調色板的顏色不能超過224種)
再看linux_logo[],這是Logo圖案的點陣。因為是256色的圖,所以每點為一個Byte。Logo圖案是80*80大小,所以這里總共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行數據對應Logo圖案中一行。可以先自己試試放一些簡單圖形進去顯示看看。(同樣注意顏色要從0x20開始,0-0x1f的32種顏色是不確定的)。


以上分析是針對系統原版內核256色80x80的啟動圖標的說明。而我們要通過修改或替代原內核文件,來實現我們製做公司的的啟動圖標,要求如下:
1.開發板起動以後以全屏顯示即240x320模式顯示
2.圖像以224色彩顯示
2.方案設計
當然你不會只想顯示一些簡單圖形,而是希望能把自已做的圖片放上去。建議使用PhotoShop8.0這里提供三個方法加工圖片:
1)先搞一個256色調色板,前面32個顏色空著,把後面224種顏色設一下吧。注意要盡量把顏色選全一些,要能覆蓋到整個顏色區域上。這樣就有一個通用的調色板,可適用所有圖片,但顏色的真實性稍差。然後把自己的圖片打開,先將顏色設置到RGB空間里,然後裁剪/縮放到240x320象數的尺寸,再將顏色優化到先前定義好的調色板里,圖片就加工好了。
2)不用通用調色板,打開自己的圖片,先將顏色設置到RGB空間,裁剪/縮放到240x320象素的尺寸,然後指定優化為224色圖象。這樣圖片就加工好了,但其調色板就是專用的,不適合用到其他圖片里。
3)GIMP+FBLOGOGIMP為LINUX下一個繪圖程序,我們使用它打開圖片後在菜單欄先擇:圖片->模式->索引顏色,然後通過工具選項將圖片大小調整到240x320象數大小,保存為.png格式。在使FBLOGO工具將其轉換成linux_logo.h文件。
使用前兩種方法加工圖片,還需要把數據放到我們的linux_logo.h里。調色板可以直接保存為文件,然後可以通過自製的小程序讀出來就可以了。圖片的點陣比較難取,當然也可以自己做個程序去取屏幕上的點,不過比較困難。而後一種方法使用fblogo工具將用GIMP轉換的圖片文件自動生成linux_logo.h文件。
3.最終實施方案
通過以上內容分析,我們確定使用第三種方法GIMP加fblogo工具的方案進行實施,以下我們製做的流程及其方法:
軟體環境:linux虛擬機、fblogo工具、linux下的圖像編輯工具GIMP
硬體環境:X86PC機一台、優龍ST2410開發板一個、交叉網線一條。
1.調試並編譯開發板所相對應的內核包,調試通過後保留.config配製文件,准備編譯bootlogo時使用。
2.在linux上解壓fblogo_0.52.tgz包,並進行軟體安裝,生成fblogo二進制可執行文件。
3.進入linux的kde圖形界面,在終端下使用gimp命令運行gimp工具。
4.打開公司的logo.jpg圖像文件,依次選擇 圖像->模式->索引顏色、並將其圖片大小調至240x320象素,最後將文件保存為logo.png格式。
5.將上述文件保存到fblogo工具所在文件夾,首先在命令行下執行convert –colors 223 logo.png logo.png 將文件保存為224色素(目前fblogo工具僅支持到224色),接著再使用fblogo logo.png linux_logo.h 生成linux_logo.h內核啟動代碼中的圖像緩沖區文件格式。
6.將linux_logo.h文件拷貝到kernel的include/linux目錄即可。
7.重新編譯linux系統內核,將生成的zImage內核鏡像拷貝到windows下,准備對目標板進行燒寫。
8.用串口將目標板與PC主機相連,接通電源,使用bnw工具進入目標板的bios程序並將生成的zImage內核鏡像拷燒寫到板子上,重起目標板,你會發現目標板上已經出現了美麗的logo圖片。如果沒有,請核對以上的步驟,並重新測試直到成功為止。
4 方案總結
4.1 方案實施過程中的關鍵問題
1.確保內核能夠正常運行,編譯時對開發板各硬體的驅動支持及其相關的配製,啟動後能夠自動載入文件系統。
2.安裝fblogo工具,fblogo工具的編譯需要使用到第三方的庫文件libpng.so庫以及zliba.a庫的支持,編譯成功後,在命令行試運行fblogo 如果安裝成功將出現其使用的幫助信息。
3.fblogo工具對圖片的要求是僅支持PNG格式的224色圖片。
4.最後針對不同的開發板的LCD顯示屏應使用與其相適應的圖片大小,否則可能使系統無法正常工作。
4.2 方案實施後的遺留問題
由於使用到了logo的製做工具fblogo 所以圖片在色彩上最大僅能支持到224色圖片,在bootlogo啟動文件linux_logo.h中有圖像的色彩域點陣代碼(即圖片的16位進制的代碼),如有需要可以自行修改,但其難度可想而知,建議可以將圖片保存為TIF之類的非壓縮格式,然後自已編寫小程序將其從圖象文件中的固定位置取點陣數據。
5 2.6內核啟動Logo
在配置內核的時候選中了啟動Logo的支持。
使用下面的方法可以將企鵝的Logo換成自己喜歡的任意圖片。
首先准備一幅自己喜歡的圖片,然後將背景塗成黑色。然後將該圖片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:
# pngtopnm linuxlogo.png > linuxlogo.pnm
# pnmquant 224 linuxlogo.pnm > linuxlogo224.pnm
# pnmtoplainpnm linuxlogo224.pnm > linuxlogo224.ppm
然後用生成的linuxlogo224.ppm替換/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好備份),然後刪除同一目錄下的logo_linux_clut224.c文件,重新編譯內核,啟動之後就可以在屏幕左上方看到自己的Logo了。

❷ 為什麼用刷機精靈的adb命令行輸入刷機包文件路徑回車後沒有出現進度條

recovery模式要選擇apply formadb選項,連接電腦刷機軟體要識別手機,或者命令提示符輸入驗證碼adb devices回車,命令沒有報錯才說明連接成功,這樣用上面你輸入的命令

❸ PHP如何實現模擬linux命令行的進度顯示

你可以嘗試一下以下做法:
第一個:通過流程
將你的處理流程分為幾個部分,然後在處理到每個流程時計算百分比
第二個:通過數據量
先獲得處理的數據量總大小,然後進行分段處理,計算百分比
第三個:通過用XML做
很多軟體的進度條就是通過xml來計算得出的,這個可以和第一個相結合來做

❹ 怎麼樣用C語言製作進度條

如果是在命令行環境下輸出一串*之類的都可以三,windows圖形界面的話要用windowsAPI,用c寫很麻煩,mfc簡單

❺ 在linux中用命令安裝rmp軟體包時,為什麼有時顯示100%,而有時不是100%

#######符號是命令行下的「進度條」。
如果出錯的話,它絕對會告訴你的
你沒看到100%時,注意一下有沒有出錯信息或警告信息就行了

❻ PHP命令行下如何實現動態進度條

echo "Progress : "; // 5 characters of padding at the end
for ($i=0 ; $i<=100 ; $i++) {
echo "\033[5D"; // Move 5 characters backward
echo str_pad($i, 3, ' ', STR_PAD_LEFT) . " %"; // Output is always 5 characters
long
sleep(1); // wait for a while, so we see the animation
}
https://www.mmbyte.com/article/1791.html

❼ 如何實現命令行進度條

用printf模擬輸出百分比,在控制台輸出,實現進度監控。
代碼: #include<stdio.h>#define N 20void mBar(float fBar){ int i,j,k,m; for ( i=0;i<N+6;i++ ) printf("\b"); k=N*fBar; m=fBar*100; printf("["); for ( i=0;i<k;i++ ) printf("="); for ( j=0;j<N-k;j++ ) printf(" "); printf("]%3d%%",m); }void delay(int n) { int i,j,k; for ( i=0;i<n;i++ ) for ( j=0;j<0x07fff;j++ ) k++; }void main(){ float x; int i; for ( i=0,x=0;i<100;i++,x+=0.01 ) { mBar(x); delay(1024); } mBar(1);}

❽ 在Linux操作系統的純命令行界面,如rpm -ivh或者scp這些命令使用時會出現進度條和百分比,如何用shell實現

rpm不加v參數就不會進度條和百分比了

❾ linux命令行模式下,可以查看軟體安裝的總進度嗎

如果是使用rpm 包的話,安裝是加上h,就能看到。
rpm -ih ***.rpm
下面會出現很多個井字元號,它起到的作用就類似於windows下的安裝進度條。

❿ 怎麼取子程序命令行執行進度並用進度條顯示出來進度

PV命令PV由AndrewWood開發,是PipeViewer的簡稱,意思是通過管道顯示數據處理進度的信息。這些信息包括已經耗費的時間,完成的百分比(通過進度條顯示),當前的速度,全部傳輸的數據,以及估計剩餘的時間。"要使用PV,需要配合合適的選項,把它放置在兩個進程之間的管道。命令的標准輸入將會通過標准輸出傳進來的,而進度會被輸出到標准錯誤輸出。」用法例如在linux上使用命令行,使用cp命令是從一個USB驅動器拷貝電影文件到你的電腦,你會什麼情況都不清楚,直到整個復制過程結束或者出錯。使用pv命令在此時很有幫助。比如:pv-L2m/media/himanshu/1AC2-A8E3/fNf.mkv>./Desktop/fnf.mkv命令行選項,-L可以修改pv命令的傳輸速率。上例中,使用-L選項來限制傳輸速率為2MB/s。如下所示:另一個pv可以使用的情景是壓縮文件。下例可以解釋如何與壓縮軟體Gzip一起工作。pv/media/himanshu/1AC2-A8E3/fnf.mkv|gzip>./Desktop/fnf.log.gz如下所示:

閱讀全文

與命令行進度條相關的資料

熱點內容
linuxip機器名 瀏覽:487
伺服器喇叭和頻道喇叭有什麼區別 瀏覽:31
閑魚排名演算法如何計算 瀏覽:975
linuxtargz解壓命令 瀏覽:741
還完房貸後解壓手續銀行會代辦嗎 瀏覽:811
解壓烹飪樂高 瀏覽:675
元神的伺服器怎麼看 瀏覽:362
stc8單片機串口中斷 瀏覽:954
信號分析pdf 瀏覽:927
暴力刪除命令 瀏覽:803
qt如何編譯加快速度 瀏覽:903
php添加數據sql語句 瀏覽:717
免費的小說app有什麼 瀏覽:405
螺桿壓縮機進氣閥動畫 瀏覽:651
兩台伺服器如何做負載均衡 瀏覽:227
程序員的工資是漲的嗎 瀏覽:813
視頻存儲伺服器可以干什麼 瀏覽:463
創建文件夾安裝失敗怎麼回事 瀏覽:832
程序員高考隔了幾年 瀏覽:822
雲伺服器是哪一層 瀏覽:22