64位元作業系統下,軟體的不相容是一大問題。
而做為嵌入式工程師,就是有一些舊軟體要用。
許多工具都無法在Win7-64下執行是一個頭痛問題。
經過數個月和Win7-64的奮戰,總算告一段落。整理結果如下:
1.執行到16位元程式不相容。建議找軟體公司。
唉,我就是軟體開發人員。還真的要找Source Code重編?
我還真的做,為了將S19檔案轉成燒錄檔(bin),找了不少程式,總算是找到了,不過人家好心已編好執行檔。
然後,命令格式不同,還是要改。重編譯,No,先改批次檔,重編是最後手段。
->此路不要走,真的沒有產能。
2.使用DosBox
部分程式轉由DosBox來執行,不過要設定好連接的目錄夾,還有點費工。
->缺點,因為要載入轉入等等動作,執行起來比較慢。
不過純DOS程式支援度不錯。Windows3.1也可以跑。
3.使用VirtualBox
真是救星啊!早點知道就不用這樣辛苦了。
第一個就是安裝WinXP。
果然什麼問題也沒有,熟悉的環境。
只有一個小小問題,安裝3D顯示卡Driver要進安全模式下安裝。
雖然模擬出來的電腦效率有限,但比公司配給我的電腦還快。
不過對硬碟取存較慢,沒關係,共享資料夾是RAMDisk,這下就不慢了。
再來安裝了OS X 10.6
這個是插花試玩的。不是完整支援。
安裝Win98
有一些網卡模擬要用的,也不是完整支援。不過可以改MAC,這點比VMware來得好。
和外部是用網路芳鄰來通。所以也是可以作業。
DOS就沒有裝了,因為和主端電腦不通,用DosBox還比較方便。
安裝Win7-64
一定會有人問,裝這個做什麼?
就是用來試爆,哦!不是,試裝才對。
因為新電腦安裝又移除許多試用軟體,沒二個月就不太對勁了。
所以決定產生分身來試用,反正不好用,就用"快照回復"。就不會留下任何痕跡。
安裝Ubuntu
也是很好裝,只是環境不熟。
不過,終於可以正式玩Linux了。
只是每次都要mount來連得出來,還要再熟一段時間才行。
安裝WinXP(二號試爆用)
其實是在玩網路連線,現在一台電腦可以同時開三、四個WinXP。
所以可以試玩網路連線。將來可以試一些網路連線程式,做分散式程式設計試驗用。
這個不用重安裝,只要將原先的WinXP滙出,再滙入就行了。
為了搞這些虛擬電腦。原先的筆電做了一些調整。
記憶體升到8G,硬碟升到750G。
只差顯示卡,和我二年前買的桌機差不多同等級配備了。
現在的電腦真是不值錢。
(作業系統和電腦一樣貴,這是什麼世界?)
2011年3月11日 星期五
2011年2月3日 星期四
筆電記憶體擴充到8GB
最近因公司有需求,開始使用VirtualBox做其他作業系統的安裝及試用。
原先4GB的記憶體似乎不夠用,趁現在記憶體價格低,敗了二條4GB回來。
這下可以同時開二個以上的VirtualBox來用了。
XP是用來執行舊軟體。
OS X是公司要試的,這個真的很難裝,試了好多版本。
Ubuntu是試裝來玩。
然後看看資源監視器,這個以前沒有注意到應用程式。
原先就用了快2GB!可是Bee明明記得每次開機只用1.3GB。
記憶體只是從4BG加到8GB,怎麼又多用了700MB。
又是M$在做怪。
難怪Win7宣稱不用太多記憶體,因為它一直保留一半的實體記憶體給使用者看。
其實能有效的使用要到4GB以上,那1GB能用都是被騙的。苦的是硬碟。
所以有人一直說Win7容易讓硬碟掛掉。其實是記憶體不足,使用硬碟做為記憶體使用的結果。
原先4GB的記憶體似乎不夠用,趁現在記憶體價格低,敗了二條4GB回來。
這下可以同時開二個以上的VirtualBox來用了。
XP是用來執行舊軟體。
OS X是公司要試的,這個真的很難裝,試了好多版本。
Ubuntu是試裝來玩。
然後看看資源監視器,這個以前沒有注意到應用程式。
原先就用了快2GB!可是Bee明明記得每次開機只用1.3GB。
記憶體只是從4BG加到8GB,怎麼又多用了700MB。
又是M$在做怪。
難怪Win7宣稱不用太多記憶體,因為它一直保留一半的實體記憶體給使用者看。
其實能有效的使用要到4GB以上,那1GB能用都是被騙的。苦的是硬碟。
所以有人一直說Win7容易讓硬碟掛掉。其實是記憶體不足,使用硬碟做為記憶體使用的結果。
顯示卡太重改裝
現在的獨立顯卡再加專用散熱片,整個很重。
放在直立機箱內,過一段時間就會當機。
只要卡片拔起重插就會好了。
可是真的不好拔,每次都花了不少時間。
有這種狀況的應該也有不少人,不過好像沒有多少人說,有人連顯示卡都燒壞。
網路上找到的方法是用竹筷去支撐。也有在賣顯示卡支撐架。
不幸的是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真的斷了。
訂閱:
文章 (Atom)




