最近因公司有需求,開始使用VirtualBox做其他作業系統的安裝及試用。
原先4GB的記憶體似乎不夠用,趁現在記憶體價格低,敗了二條4GB回來。
這下可以同時開二個以上的VirtualBox來用了。
XP是用來執行舊軟體。
OS X是公司要試的,這個真的很難裝,試了好多版本。
Ubuntu是試裝來玩。
然後看看資源監視器,這個以前沒有注意到應用程式。
原先就用了快2GB!可是Bee明明記得每次開機只用1.3GB。
記憶體只是從4BG加到8GB,怎麼又多用了700MB。
又是M$在做怪。
難怪Win7宣稱不用太多記憶體,因為它一直保留一半的實體記憶體給使用者看。
其實能有效的使用要到4GB以上,那1GB能用都是被騙的。苦的是硬碟。
所以有人一直說Win7容易讓硬碟掛掉。其實是記憶體不足,使用硬碟做為記憶體使用的結果。
2011年2月3日 星期四
顯示卡太重改裝
現在的獨立顯卡再加專用散熱片,整個很重。
放在直立機箱內,過一段時間就會當機。
只要卡片拔起重插就會好了。
可是真的不好拔,每次都花了不少時間。
有這種狀況的應該也有不少人,不過好像沒有多少人說,有人連顯示卡都燒壞。
網路上找到的方法是用竹筷去支撐。也有在賣顯示卡支撐架。
不幸的是Bee的顯示卡沒有地方可以用支撐架。
所以只好用一塊保麗龍去支撐。不過幾個星期後一樣會當機。
原因是保麗龍被壓縮了。
過年又當機,重新改造,這次用鐵絲去吊。
另外找了原子筆內的彈簧做張力支撐,這樣就不會太硬了。
放在直立機箱內,過一段時間就會當機。
只要卡片拔起重插就會好了。
可是真的不好拔,每次都花了不少時間。
有這種狀況的應該也有不少人,不過好像沒有多少人說,有人連顯示卡都燒壞。
網路上找到的方法是用竹筷去支撐。也有在賣顯示卡支撐架。
不幸的是Bee的顯示卡沒有地方可以用支撐架。
所以只好用一塊保麗龍去支撐。不過幾個星期後一樣會當機。
原因是保麗龍被壓縮了。
過年又當機,重新改造,這次用鐵絲去吊。
另外找了原子筆內的彈簧做張力支撐,這樣就不會太硬了。
2011年1月19日 星期三
verilog中讀取BMP檔
在verilog中要使用影像處理,模擬時需要一張圖檔做為驗證用。
大部分verilog都是讀取文字檔,所以圖檔要轉成文字檔。
但圖檔會修改,用以測試運行狀況。直接修改圖檔是最直接,一但轉成文字又失去感覺。
所以利用verilog 2001的檔案功能,就可以做到直接讀取BMP檔。
這樣修改圖檔進行測試會方便許多。
程式如下:
module test;
integer fileId, i, cc;
reg [7:0] bmp_data [0:2000000];
integer bmp_width, bmp_hight, data_start_index, bmp_size;
initial begin
fileId = $fopen("gray.bmp","rb");
cc = $fread(bmp_data, fileId);
bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
for(i = data_start_index; i < bmp_size; i = i + 1) begin
$display("%h",bmp_data[i]);
end
$fclose(fileId);
end
endmodule
這個程式並沒有將整個BMP檔解開,只是取得資料。
至於資料格式就看個人應用。
因為應用上一般只會針對一種資料格式。
所以就要自己想辦法去排了。
大部分verilog都是讀取文字檔,所以圖檔要轉成文字檔。
但圖檔會修改,用以測試運行狀況。直接修改圖檔是最直接,一但轉成文字又失去感覺。
所以利用verilog 2001的檔案功能,就可以做到直接讀取BMP檔。
這樣修改圖檔進行測試會方便許多。
程式如下:
module test;
integer fileId, i, cc;
reg [7:0] bmp_data [0:2000000];
integer bmp_width, bmp_hight, data_start_index, bmp_size;
initial begin
fileId = $fopen("gray.bmp","rb");
cc = $fread(bmp_data, fileId);
bmp_width = {bmp_data[21],bmp_data[20],bmp_data[19],bmp_data[18]};
bmp_hight = {bmp_data[25],bmp_data[24],bmp_data[23],bmp_data[22]};
data_start_index = {bmp_data[13],bmp_data[12],bmp_data[11],bmp_data[10]};
bmp_size = {bmp_data[5],bmp_data[4],bmp_data[3],bmp_data[2]};
for(i = data_start_index; i < bmp_size; i = i + 1) begin
$display("%h",bmp_data[i]);
end
$fclose(fileId);
end
endmodule
這個程式並沒有將整個BMP檔解開,只是取得資料。
至於資料格式就看個人應用。
因為應用上一般只會針對一種資料格式。
所以就要自己想辦法去排了。
2011年1月18日 星期二
使用Virtual Box安裝Win32Forth
64位元作業系統還是有不方便的地方。
所以使用VM再去裝WinXP是一個取代的方法。
Bee是安裝Virtual Box,裏面再安裝WinXP。
終於又看到熟悉的Windows,真是感動。
然後在裏面安裝Win32Forth總算可以動了。
不過記憶體用很凶。原本就用1.5G,開VM再用1G。
沒有辦法,現在4G快要用光了。
所以使用VM再去裝WinXP是一個取代的方法。
Bee是安裝Virtual Box,裏面再安裝WinXP。
終於又看到熟悉的Windows,真是感動。
然後在裏面安裝Win32Forth總算可以動了。
不過記憶體用很凶。原本就用1.5G,開VM再用1G。
沒有辦法,現在4G快要用光了。
2011年1月16日 星期日
虛擬機器模擬I/O方法2:列表
Bee在上次做好RTOS於Windows下的移植,就一直在苦惱IO模擬問題。
結果案子一趕,實在沒時間思考,心想先印出工作狀況。看到樣子再打算。
得到的圖很滿意。
於是逆向思考,何不修改這個輸出,將原先讀改為寫,倒寫回去。
這樣只要改表格,不用一個一個去Key。
要是照先前想的,模擬的時間一長,會Key到死。
另外也可以看到一些固定的週期動作,以及裝置名。
也可以將輸出的結果撈出來,就可以知道各裝置的動作。
這樣要寫IO模擬的程式,也有輸出可以參考比對。
結果案子一趕,實在沒時間思考,心想先印出工作狀況。看到樣子再打算。
得到的圖很滿意。
於是逆向思考,何不修改這個輸出,將原先讀改為寫,倒寫回去。
這樣只要改表格,不用一個一個去Key。
要是照先前想的,模擬的時間一長,會Key到死。
另外也可以看到一些固定的週期動作,以及裝置名。
也可以將輸出的結果撈出來,就可以知道各裝置的動作。
這樣要寫IO模擬的程式,也有輸出可以參考比對。
在Win7-64下,沒有Win32Forth可以玩了
最近有一位Forth同好連絡上Bee,要Bee教Forth程式。
不過Bee換了Win7-64之後就沒有玩過Forth了。
那有人要,就翻出以前的檔案來安裝吧!
結果Run之前的安裝程式,裝到一半就被McAfee防毒軟體給砍了。
心想被砍的是Win32Forth 6.12版。那就再去抓新的版本回來。
不過Win32Forth也沒有再出新的版本。
載了數版都被砍。無奈,回去安裝最原始的版本4.2版,結果沒有被防毒軟體砍,但仍不行。
原因是執行檔版本太舊64位元下無法支援。
唉!和Forth真的斷了。
不過Bee換了Win7-64之後就沒有玩過Forth了。
那有人要,就翻出以前的檔案來安裝吧!
結果Run之前的安裝程式,裝到一半就被McAfee防毒軟體給砍了。
心想被砍的是Win32Forth 6.12版。那就再去抓新的版本回來。
不過Win32Forth也沒有再出新的版本。
載了數版都被砍。無奈,回去安裝最原始的版本4.2版,結果沒有被防毒軟體砍,但仍不行。
原因是執行檔版本太舊64位元下無法支援。
唉!和Forth真的斷了。
2011年1月9日 星期日
產品三個月做出來?光是移植ARM就不夠用
公司用的68K遲早會沒有Source。
去建造在Windows上的模擬器,也是要保障可以移到ARM的預備步驟。
只是不給老闆知道則已。給他知道了就要三個月內把機器做出來。
光是移植就要花這麼久了,那電子和機構都沒有算在內。
軟體每次都包辦最後一棒,被趕的也是軟體。
所以,這次的軟體模擬器也許算是軟體移植的先行動作。
不過三個月期限,一看到就完全不知要如何達成。
老闆您打的算盤也太精了,就直接讓人覺得放棄比較快。
反正我光移ARM就用您三個月,看您可以從那裏調人來支援。
去建造在Windows上的模擬器,也是要保障可以移到ARM的預備步驟。
只是不給老闆知道則已。給他知道了就要三個月內把機器做出來。
光是移植就要花這麼久了,那電子和機構都沒有算在內。
軟體每次都包辦最後一棒,被趕的也是軟體。
所以,這次的軟體模擬器也許算是軟體移植的先行動作。
不過三個月期限,一看到就完全不知要如何達成。
老闆您打的算盤也太精了,就直接讓人覺得放棄比較快。
反正我光移ARM就用您三個月,看您可以從那裏調人來支援。
訂閱:
文章 (Atom)




