- source ../CoWare.csh -pa
- scide
星期四, 12月 11, 2008
星期三, 12月 10, 2008
星期二, 12月 09, 2008
SystemCall addition
- 在 kernel/sys.c 新增函式,並EXPORT
- include/asm-xxx/unistd.h 新增中斷號碼。
NR_syscalls 記得+1. - arch/i386/kernel/entry.S ( < 2.6.12 ) or syscall_table.S(>2.6.12)
+.long sys_xxx
- include/asm/unistd_32.h 新增與Kernel相同的號碼的define.
- include/bits/syscall.h
#define SYS_xxx __NR_xxx
static inline _syscall2(long, NEW, int, arg1, int, arg2);
/*linux中一共定義了7種不同的_syscall*,在 unistd.h 裡面
可以看到,若定義 system call 有要傳參數的話必需使用別
的 _syscall
*/_syscall1(int,addtotal,int, num)
- test
#include
_syscall2(long, hello, int, arg1, int, arg2);
int main(){
printf(" %d \n", hello(1, 2) );
return 0;
}
- 新版kernel已改為 syscall ,不再使用舊的那七種方式
- #include
#include
#include
//static inline _syscall2(long, NEW, int, arg1, int, arg2);
int main(){
time_t tt;
// time(&tt );
syscall( 13, &tt );
printf("tt=%d\n", tt );
}
- #include
REF:
- http://www.csie.ncu.edu.tw/~hsufh/COURSES/FALL2007/syscall.html
星期五, 12月 05, 2008
MIPS Instruction set format
R-Type Instructions (Opcode 000000)
opcode (6) | rs (5) | rt (5) | rd (5) | sa (5) | function (6) |
I-Type Instructions (All opcodes except 000000, 00001x, and 0100xx)
opcode (6) | rs (5) | rt (5) | immediate (16) |
J-Type Instructions (Opcode 00001x)
opcode (6) | target (26) |
Coprocessor Instructions (Opcode 0100xx)
opcode (6) | format (5) | ft (5) | fs (5) | fd (5) | function (6) |
Reference:
- Page URL: http://www.d.umn.edu/~gshute/spimsal/talref.html
- http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html
- http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPS_slides/
星期一, 11月 10, 2008
粗級英文-比較、不定詞
形容詞的比較
- 比較急....then.....
- the 比較急......of the...
- 修飾:
- much, a lot, far
- even
- a little
- junior/senior/major/minor 用 比較急.....to....
- 其他用法
- 比較急 and 比較及 ( 越來越 ...)
The more, the better.
The more we get, the happier we'll be.
- 比較急 and 比較及 ( 越來越 ...)
- as 原級 as ->像..... 一樣.
Your hair is as long as mine. - 疑問句: 三者以上用最高級.
Which do you like best, mary, eva or jessica.
- to +Vo
- It's +形容詞(事物) + for + 人 + to + Vo
- It's +形容詞(人) + of + 人 + to +Vo.
To be patient with your wife is best for you.
It's best for you to be patient with others.
- 當受詞時:decide/hope/want/expect/volunteer ,必用不定詞.
- 當主詞補語: be+ to + VO , 補充說明.
To see is to believe. - 當受詞補語: O+V+受詞 + 受詞捕語.
He told me to give up smoking. - want/ask/teach/tell/get/show 等,用不定詞當受詞補語.
- 否定不定詞 -> not + to + Vo.
- 不定詞的形容詞用法(修飾名詞):
- 名詞/something ...._+to+Vo.
- 不定詞的副詞用法(修飾動詞)
- 表目的: in order to + V0
She went to London in order to study English.
go/come 通常用and 連接
Come and see me. - 表原因、情感:
- 表目的: in order to + V0
- too + adj/adv + to +Vo.
You are too young to understand the whole thing. - adj/adv + enough + to +Vo.
粗級英文-II 時態
現代簡單式:
- 事實、真理.
- 習慣
- 現在
- 遇到下面的時間副詞:
- yesterday
- last+ 時間
- 時間 + ago
- Vo + ing
- Ve -> 去e +ing
- V(子音 +短母音+子音 ) ->重複字尾+ing. ex: putting/cutting/swimming.
- 表示重複動作, always/all the time/again and again 等副辭片語出現.
He is always complaining.
The car is breaking down all the time - 表示最近的未來即將發生的, come/go/start/leave/arrive
I'm leaving for taipei tomorrow
My boyfriend is coming to see me tomorrow. - 感官、情感不可用進行式
see/hear/smell/love/like
- 過去時間反覆性的動作, 習慣.
- 特定時機正在進行.
- be going to + Vo -> 實現性非常高的、預先計畫好的行為。
- will + Vo -> 不需事先計畫的.
I will be fifty years old next year.
- 一般: V0 直接用.
- 否定: Don't( Never) + V0
- Let's +V0
- What + a(an) + adj + n + O!
WTF.
What a day. - How + adj + (O+V)!
How smart he is! <--- 這不是疑問句喔!!
粗級英文-I 詞類
複數名詞的變化:
規則的:
- 普通:N + s
- s, sh, ch, x, o + es
- (子音 + o ) + es, ex: tomatoes , 不過有例外: photos, pianos..
- (子音 + y ) 去y + ies ex: babies, stories, cities, ladies.
- f, fe, 去fe + ves ex: wives, knives.例外: chiefs, rootfs
- 字尾加 en, ren: oxen, children
- 變母音 men, womem, teeth, mice.
- fish, deer, sheep, Chinese, Japanese
所有格:
- 人: A's B
- 無生物: A of B.
- be 動詞的疑問句可用 yes/no 回答,而答句中的主詞要用代名詞.
- 第三人稱加s / es 的方法同名詞.have/has 例外
- 一般否定句:
- 不可直接加NOT , 要用 do(I/you) or does(第三人稱) 助動詞.也就是說除了一般句,一般動詞都要配 do/does.
- 所以do /does 之後必定出現原形動詞.
- 過去式:
- Vo + ed ex: helped/spelled/wanted.
- Ve + d ex: danced
- 子音 + 短母音 + 子音 -> 重複字尾+ed , ex:stopped/planned.
- 字尾為子音+y -> 去y + ied ex:studied/cried.
- 不規則: ate/read/rode/came/went/had/saw/taught/gave/took
- 否定句疑問句同一般式: + did
- both、all: 出現於否定句,代表 "部分否定"
I dont know both of her parents.
他的父母親我並非都認識. - either/neither: 任一唯一/兩者都不
- some/any: 一般用法 some 用於肯定, any用於其他.
星期四, 11月 06, 2008
Initrd
2.6 kernel 下有新式的 Initrd 作法,目前看到Fedora 下Initrd 都是用這種
- 製作
bash# find . | cpio -c -o > ../initrd.img
bash# gzip ../initrd.img - 解開
cd /tmp/imagefile
gzip -cd /boot/imagefile.img | cpio -imd --quiet
- 製作
bash# dd if=/dev/zero of=../initrd.img bs=512k count=5
bash# mkfs.ext2 -F -m0 ../initrd.img
bash# mount -t ext2 -o loop ../initrd.img /mnt
bash# cp -r * /mnt
bash# umount /mnt
bash# gzip -9 ../initrd.img - 解開
mount -t ext2 -o loop ../initrd.img /mnt
- Fedora 裡面的initrd.img 解開後看到的init 裡面用的sh 是 /bin/nash,如果系統是自己包的這個要注意。
- /init 跟/linuxrc 的問題:
cpio 的做法會去找 /init. 沒有這個檔就會出一堆怪問題,root fs type 錯,找不到root 之類的.要確定 init 的權限、內容。 舊式的會先跑 /linuxrc 不過這要看kernel內有沒改過,追kernel才比較清楚. - 至於 kernel parameter 可以不用傳 root=/dev/ram0 可以省略了.
- busybox build 完記得 ldd busybox,缺的Library 要放入/lib,不然就是用uClibc build成static。
星期四, 10月 23, 2008
SystemC注意事項
- Interface:
- sc_fifo_in_if, sc_fifo_out_if
- Channel:
- sc_fifo
- Port:
- sc_port
Kdesvn ssh+svn 不用一直輸入密碼的方法
- /home/user mode 不能是 777 , 最少要755
- /home/user/.ssh 設 700
- /home/user/.ssh/authorized_keys 設600 (這個檔沒有沒關係, 等等會產生, 要注意).
- ssh-keygen -> Enter -> Enter .... 不用管一直按就對了.
- ssh-keygen -t dsa -> Enter -> Enter .... 不用管一直按就對了.
- 把產生id_dsa.pub id_rsa id_dsa copy 到你要連的 Server /home/user/.ssh/.
- 到Server上 cat id_dsa.pub >> authorized_keys (/home/user/.ssh/目錄下).
- 確認Server端檔案權限.
Adjtimex in NTP
NTP(Network Time Protocol,見 RFC 1305
Build NTP時發現,NTPClient 用到這個參數
- 在Linux: 底下 為 __adjtimex(), 不過目前Linux kernel 兩者通用.
- uClibc :底下為 adjtimex()
- 中華電信 Time Server
time.stdtime.gov.tw
clock.stdtime.gov.tw
tick.stdtime.gov.tw
tock.stdtime.gov.tw
watch.stdtime.gov.tw
time.chttl.com.tw 停用
time_a.chttl.com.tw 停用
Reference:
- busybox-1.6.1/docs/busybox.net/tinyutils.html
- http://doolittle.icarus.com/ntpclient/
- ntpclient_2000_339.tar.gz
星期二, 10月 14, 2008
File Sync
- HTTP:http://allwaysync.com/zh-cht/translate.html
- 說明:http://playpcesor.blogspot.com/2007/03/allway-sync-558.html
- 安裝時都下一步下一步到結束.
- Language ->Chinese(Traditional). 就變中文了.
- 使用方式請看---->說明
星期四, 10月 09, 2008
利用 gettimeofday抓 us 級 時間差
#include <sys/time.h>
#include <stdio.h>
int main(){
struct timeval tv, tv2;
unsigned long long start_utime, end_utime;
gettimeofday(&tv,NULL);
start_utime = tv.tv_sec * 1000000 + tv.tv_usec;
usleep(1000);
gettimeofday(&tv2,NULL);
end_utime = tv2.tv_sec * 1000000 + tv2.tv_usec;
printf(" runtime = %llu\n", end_utime - start_utime );
}
For Cyril:
這個可以抓到 us 級.. 不過精度的話我不確定,要再查Kernel 是怎麼運作.原則上是10 - 30ms , 要看kernel jiffes 的值. 不過低於 這個值得話應該就是軟體精度問題.
不過平常我是類似這樣用的
星期五, 9月 26, 2008
Client 端,簡單開socket 方式
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int sock_connect(int *fd, char *ip, int port){
struct sockaddr_in addr;
*fd = socket(PF_INET, SOCK_STREAM, 0);
memset(&addr, 0, sizeof(addr));
addr.sin_family = AF_INET;
addr.sin_port = htons( port );
inet_aton( (const char*)ip, &addr.sin_addr);
if( connect( *fd, (struct sockaddr*)&addr, sizeof(addr)) != EXIT_SUCCESS ){
fprintf(stderr,"Connect Failure===\n");
return EXIT_FAILURE;
}
printf("fd=%d success\n", *fd );
return EXIT_SUCCESS;
}
int main(int argc, char **argv){
int fd, ret;
char buf[256];
sock_connect(&fd, "domain", 25 );
ret = write ( fd, argv[1], strlen( argv[1] ) );
printf("Send msg=%s len=%d ret=%d\n", argv[1], strlen( argv[1] ) , ret );
ret = read( fd, buf, 256 );
printf("buf=%s len=%d\n", buf, ret );
close( fd );
}
星期四, 9月 25, 2008
毒奶粉問題
香港检测的 不合格名单
Not qualified list
樣本名稱
Manufacturer’s name & address
製造商名稱及地址
1 . KLIM Instant Full Cream Milk Powder (1.8 kg)
克寧即溶奶粉
( 淨重 : 1.8 千克 )
Manufacturer: Nestle Shuangcheng Ltd.
Address: Friendship Road , Shuangcheng City , Heilongjiang Province, PRC
2. Nestle Carnation Calcium Plus Non Fat Milk Powder (1.6 kg)
三花高鈣脫脂奶粉 ( 淨重 : 1600 克 )
Manufacturer: Nestle Shuangcheng Ltd.
Address: Friendship Road , Shuangcheng City , Heilongjiang Province, PRC
3. Nespray
雀巢兒童奶粉
3 + 歲以上
( 淨重 : 900 克 )
Manufacturer: Nestle Shuangcheng Ltd
Address: Nestle Shuangcheng Ltd., PRC
4. Nestle Dairy Farm Pure Milk
雀巢牛奶公司純牛奶 ( 淨容量 : 1 升 )
Manufacturer: Nestle Qingdao Ltd.
Address: Weihai Xi Lu, Laixi City , Qingdao , P.R. China
5. Mengniu Pure Milk
蒙牛純牛奶
( 淨體積 : 250 毫升 )
製造商:中國內蒙古蒙牛乳業 ( 集團 ) 股份有限公司
地址 : 中國內蒙古呼和浩特市和林格爾盛樂經濟園區
6. Monmilk Breakfast Milk Walnut Milk Beverage
蒙牛早餐奶核桃奶類飲品
( 淨體積 : 250 毫升 )
製造商:中國內蒙古蒙牛乳業 ( 集團 ) 股份有限公司
地址 : 中國內蒙古呼和浩特市和林格爾盛樂經濟園區
7. Monmilk Suan Suan Ru Sour Milk Beverage (Mango Flavour)
蒙牛酸酸乳酸味奶類飲品 ( 芒果味 )
( 淨體積 : 250 毫升 )
製造商:中國內蒙古蒙牛乳業 ( 集團 ) 股份有限公司
地址 : 中國內蒙古呼和浩特市和林格爾盛樂經濟園區
8. Monmilk
Milk Deluxe Pure Milk
蒙牛特侖蘇純牛奶
( 淨體積 : 250 毫升 )
製造商:中國內蒙古蒙牛乳業 ( 集團 ) 股份有限公司
地址 : 中國內蒙古呼和浩特市和林格爾盛樂經濟園區
9. Yili High Calcium Low Fat Milk Beverage
伊利高鈣低脂奶類飲品
( 淨體積 : 250 毫升 )
製造商:內蒙古伊利實業集團股份有限公司
地址 : 中國內蒙古呼和浩特市金川開發區金三道 2 號
10. Dutch Lady Pure Milk
子母純牛奶
( 淨容量 : 1 公升 )
Manufacturer: Tianjian Dutch Lady Dairy Foods Co., Ltd.
Address: South of Dongting Road , Hexi District, Tianjin , PRC
11. Vita Fresh Milk
維他純鮮牛奶
( 淨容量 : 236 毫升 )
製造商:維他奶國際集團有限公司
地址 : 中國廣東省深圳市光明華僑畜牧場
12. Nestle Vanilla Flavour Ice Cream Cone
雀巢雲呢拿味雪糕甜筒 (8 支盒裝 )
Manufacturer: Nestle Tianjin Ltd.
Address: No.149 Nanhai Road , TEDA, Tianjin , PRC
13. Nestle Chocolate Flavour Ice Cream Cone
雀巢朱古力味雪糕甜筒 (8 支盒裝 )
Manufacturer: Nestle Tianjin Ltd.
Address: No.149 Nanhai Road , TEDA, Tianjin , PRC
14. Meiji Ujikintoki (red bean and green tea frozen confection)
明治紅豆綠茶雪條
(6 支盒裝 :6 x 75 克 )
Manufacturer: Guangdong M&F- Yan Tang Dairy Products Co., Ltd
Address: Datanggang Shahe, Guangzhou , China
15. Meiji Hokkaido Azuki (red bean ice cream)
明治北海道紅豆雪糕
(6 支盒裝 :6 x 70 克 )
Manufacturer: Guangdong M&F- Yan Tang Dairy Products Co., Ltd
Address: Datanggang Shahe, Guangzhou , China
16. Trappist Dairy Low Fat Yogurt Drink
十字牌鮮乳酪低脂飲品
( 淨容量 : 200 毫升 )
經銷商:神樂院牛奶廠有限公司
地址 : 香港元朗青山公路二十八咪半
17. Strawberry Sorbet
戀愛果實士多啤梨雪巴 ( 淨重 : 54 克 )
Manufacturer: Xincheng Greenearth Food Co., Ltd
Address: No.62 Xingjianzhai, Huazhou Road , Pudong, Shanghai , China
18. Natural Choice Milk Ice Bar
伊利牧場香濃布丁雪條
( 淨體積 : 85 毫升 )
Manufacturer: Shanghai Yili AB Foods Co., Ltd
Address: No. 269 Beidou Road, Minhang Zone, Shanghai P.R. of China
19. 牛奶木瓜口味飲料 (Papaya Milk Drink) (350ml) -- 尚効
製造商:春喬食品興業股份有限公司 ( 地址 : 台灣彰化縣員林鎮鎮興里山腳路 3 段 25 巷 72 號 )
20. 阿薩姆奶茶 (Assam Milk Tea) (350ml) -- 尚効
製造商:春喬食品興業股份有限公司 ( 地址 : 台灣彰化縣員林鎮鎮興里山腳路 3 段 25 巷 72 號 )
21. 藍山炭燒咖啡 (Carbonize Coffee) (280ml) -- 尚効
製造商:春喬食品興業股份有限公司 ( 地址 : 台灣彰化縣員林鎮鎮興里山腳路 3 段 25 巷 72 號 )
Subject: FW: items have been recalled due to China's milk scandal
For your information, the following items have been recalled due to China’s milk scandal:
1. M&M
2. Snickers
3. Mento’s Yoghurt Bottle
4. Dove Chocolate
5. Oreo Wafer Sticks
6. Dutchlady Sterilised Milk
7. Wall’s all natural mango
8. Mini Poppers Ice Cream
9. Magnum Ice Cream
10. Moo Sandwich Ice Cream
11. Mini Cornetto
12. Youcan Ice Cream
Stores have been asked by AVA Singapore to remove them. If u has any of these items at home, don’t eat them.
星期二, 9月 23, 2008
Digital Image Processing
- NASA's Landsat - Remote Sensing.
- DICOM image format - contain patient/physician information.
- 第一次作業公佈.
- (X, Y ) = ( Row Index , Column Index )
- Video :視訊
- Video Sequence : f(x, y, t )
- 3D Image: f(x, y, z)
ESL Course Information
- Modeling
- SystemC.
- SystemVerilog.
- 內容:
- SystemC
- Virtual Platform tool:CoWare
- System Design by Real Platform-ARM Emulation Board, EVB.
- ESL Tool.
- Carbon - Arm Soc Designer.
- Fortec - C Synthesizer
- Coware
TA:
701B 分機265-4722 彥翔
星期四, 9月 18, 2008
善用英雄,才能發揮正面效益
英雄程式人身兼團隊管理者,要不寫程式很難吧,尤其是看到濫Code就想改的天性,工時真的是很難去估計的一件事,往往一件小事,因為要練兵,把時間拉長,但有時卻不見得有效果出來,這就是為何越來越多公司不要新手,而只收老手,大家都不想練兵了,練一練烙跑,反而白練一場。
星期三, 9月 17, 2008
消防新知
- 滅火器 CHF3 一隻 2600, 防煙面具 2200.
- 火太大就跑吧.
- 燒超過15秒也跑吧.
星期五, 9月 12, 2008
重灌
重灌
- KM-player
- VLC
- FileZilla
- Firefox
- MSN-Shell
- Kdiff3
- Google-Doc
- Virtual-Recovery
- MSN
- Google-Desktop
- Yahoo mini-Pen
- Async
- Borland C++
- WOW
- Source Insight
- Doxygen
- Graphviz
- Ultra-Edit
- StartSuit 8
- flashget
星期四, 9月 04, 2008
呔
633支票跳票》學者:太誇張 恐傷誠信
看到這份報導就覺得好笑- 第一個笑點是學者:哪來的學者?若真的如【學者】所講,那總統選他不就好了,經濟一定好!不用那麼辛苦了,直接把馬先生換下來最快。
- 第二個笑點是虧錢哭么的人:輸錢怪四大基金政府不護盤,我打麻將輸錢怎不見政府來補貼我一點阿?
- 玩股票玩到傾家蕩產的人更該死,最好是套一個少一個,一點自制力都沒有,只想賭穩贏,自己玩掛無所謂,拖累一家人的最可惡,最好是多套一些,反正現在全世界糧食不足,少個人吃可減少壓力。
- 這些記者也是,經常性的添油加醋,一些比較沒大腦的人就經常性的被洗腦。
- 失業跟政府甚麼關係?我看一點關係也沒有,有能力的人是不可能失業,要不要做而已。
星期四, 8月 28, 2008
DDR2 BUS Impedance
Soc 內帶有 16k sram, 及xmodem Loader程序,在上電時,透過Uart 提示 “CCCC... ”等待PC端使用者以Xmodem通訊方式上傳Bootloader 檔案,然後將上傳後的Bootloader 放到 TCM 上執行,然後Bootloader做下列的動作。
DDR Ram Init
Uart Init
SOC register Init
Flash Init
Uart Init
啟動Bootloader內的Xmodem等待使用者載入檔案。
Xmodem 在booloader的Code內約350行,Object:670 byte。
二、讀寫Ram 錯誤( Ram 32M ):
寫一個測試Memory的Bootloader,對每個位置的記憶體寫入0xff00ff00再將其讀回比對,發現有些位置的資料是錯誤的,規則如下。
Memory Address 前 5M 幾乎都是好的。
-
後面 0xAAAA AAAAB ( A = 任意, B = 0 or 4 ),會隨機發生錯誤,並不是每個4結尾的Address 都會錯。
經修改了幾次bootloader、跟Hardware後,發現原因發生在 SOC 與 DDR 之間的阻抗匹配問題導致。
三、Questions:SOC 內 xmodem 如何實作,內嵌ROM or NOR Flash,由SOC啟動?亦或是Hardware可以達到?
- Q:原則上猜測應該是Nor。
SOC的某隻腳位是用來調整組抗匹配,這隻腳再我們寫 Pin Define同樣有使用?因為這看起來是調整阻抗,數位電路設計時也須考量這個問題?還是這是在Transistor Level 所考量的層次?
經詢問Hardware 人員,通常SOC內有Register可調整Pin Fanout,這問題同上,是不是在Gate Level 之上不需要考量這個問題,只在Transistor Level以後才兜那塊電路?
星期三, 8月 27, 2008
可以讓compiler 出來的exe 檔在沒有灌BCB的電腦裡run
*你必須把你的 project compiler 成 standalone
以下是設定的方法:
(1) 選擇 Project/Options 顯示 Project Options 的 dialog
(2) 選擇 Packages TAB 把 build with runtime packages 這個打勾取消
(3) 選擇 Linker TAB 把 Use dynamic RTL 這個打勾取消
按ok後重新 compiler 就可以了,但是~~如果有你自己寫的 dll 的話在 deploy 的時候,就必須一起複製到使用者的電腦裡
星期二, 8月 19, 2008
JPEG
- DHT
- 0xff 0xc4 (2 byte)
- 0x?? 0x?? ( 2byte length)
- 0x??( 1byte )
- bit 0-3 :
- must <>
- bit 4:
- 0 = DC
- 1 = AC
- other = unknow
- bit 5-7: must 0.
- (16 byte )
Reference:
星期二, 8月 12, 2008
Syslog
- 不用openlog 也行,syslog 會自動呼叫,但用了後再message 會比較清楚。
- openlog( "test", LOG_PID | LOG_CONS, LOG_USER );
- syslog( LOG_USER | LOG_INFO , "[%d] "format, level, ## args);
LOG_EMERG system is unusable
LOG_ALERT action must be taken immediately
LOG_CRIT critical conditions
*LOG_ERR error conditions
*LOG_WARNING warning conditions
LOG_NOTICE normal, but significant, condition
*LOG_INFO informational message
*LOG_DEBUG debug-level message
Reference:
星期三, 7月 23, 2008
抓unicode 字型的編碼
reference:
星期二, 7月 22, 2008
用Open Source工具開發軟體: 新軟體開發關念
- www.study-area.org 的資料 用Open Source工具開發軟體: 新軟體開發關念
星期五, 7月 11, 2008
星期四, 7月 03, 2008
星期六, 6月 28, 2008
Arm Integrater 進展
動機:
Soc Design and Implementation期末報告,為了解MYIP 動作原理,寫一組自己的功能並能正常的動作於FPGA之上。原Lab6為一個BMP to JPEG 、JPEG to BMP 的 Encoder/Decoder,除了DCT以外,其他的動作皆由 C 處理。DCT為 Verilog code,synthesize 後放入FPGA執行。
構想:
- 第一步 將Quantization步驟從SW加入HW,使其Performance 加速。
- 第二步 可以再將 Predict (減法) 及 ZigZag ( Table Index )納入。
- 第三步 Huffman Encode 納入。
- 第四步 將上述完成後的功能再分離拆解,再修改為PipeLine 。
- 因有號數除法器以第三版除法實做,佔用Clock數較長,修改原先 nop 機制,加入Done 機制,在Software 端以 Polling 方式判斷暫存器,以判斷硬體是否完成。
- 首先將原始BMP 修改為 64x64 pixel,加速硬體模擬速度。
- 改寫原始Software( C code ) ,將不必要使用的Function移除,並改寫主要Encode方式,使其能易於分離出 Y/U/V易於控制。
- 將Quantization Table 讀入 Register,(宣告 reg[31:0] QTable[7:0][7:0] ),並於Read/write address訂於 0xcc000100,加入MyIP。
- 撰寫一有號數除法,並於Modelsim 上以 TestBench 驗證之,並加入MyIP。
- 在MyIP DCT 部分,施作二維DCT時,在第二維DCT每一列完成時,直接運算Quantization。
- Quantization部分,優先測試 U/V,而Y 先以Software ChanDCT + Software Quantization,避免整個畫面因HW失敗而完全不知道哪裡有問題,至少可先保留Y(亮度)。
問題討論:
- 在第一步一開始就遇到許多的困難點,修改為Done 機制時就卡了一整天,不知為何一直無法存取該 Done Register,Code 看起來沒有問題,結果耕學學長在昨天發現,主機的S1 switch,S1 全部撥到OFF,正確的應該是要全部S1[1]On/ S1[2-4]Off,他也玩了一整天,而我們燒錄的brd檔,Flash 燒錄的Address為 0x20000000,這是一個嚴重的問題,也就是說全班同學在做Lab6時,所用的brd檔,所燒錄的程式並非自己燒的東西,而是版子上原有的Code( 0x00000000),修正Jump問題後,將版子調成燒錄到0x20000000,Done 機制完成了,可以動作了,真是慘痛的Switch,花了一整天。
- 讀出來的Image還是錯誤的,回頭再從頭檢查,從Quantization Table開始,讀進Register後,再從C 讀回來發現,還是有問題,讀出來的值有時會變動、有時都是0,暈~,想想會不會又是HW問題,耕學說可能是那塊Flash 被我玩壞掉,試圖再將Switch 調到 0x00000000,brd 跟著燒到該位置,經過測試後,寫入Reg 跟讀出正常,此一步驟確認完成,沒問題。
- 影像還是出不來,天呀~,懷疑是除法器,不過有人說在Modelsim上是沒問題的不代表在FPGA上沒問題,好那單獨把除法加到MYIP,為屏除人為操作及機器問題,同時也換一台機器,此一步驟由Stenly、耕學測試,Stenly及耕學測試除法器沒問題。
- 還是不會動,懷疑是DCT後接除法流程問題,於是:
- 在MyIP 加入一個 reg[31:0] div_ans[60]並Mapping 到0xcc000200,將除法器每一個Clock 的結果存入div_ans,並於Software讀回。
- 天呀,又是 全 0
- 2008/6/30 回頭想了一下耕學講的那個SWITCH,怪怪的,查了一下手冊DUI0098B_AP_UG.pdf裡,2-3 Setting the DIP switches
-
S1[1]
S1[2]
S1[3]
S1[4]
Function
On
x
x
x
Code Starts execution from boot ROM followin.
Off
x
x
x
Code starts execution from flash following rest.
- 跟Stenly討論的結果:
- 原則上...如果REMAP=0
當 S1[1]=ON 時....memory 0x0 = 使用AP Boot ROM
當 S1[1]=Off 時....memory 0x0 = 使用AP Flash - 這裡應該是全部調成Off 來跑才對,但奇怪的是為何給的brd檔都是寫到0x20000000。
- 而Progcards.pdf 文內提到
- Note that default address for the AP system flash programming is 0x24000000.
- 這三者的關係怪怪的( 0x0、0x20000000、0x24000000)。
- 夜深了,每次都是坐最後一班火車,快來不及了,搞了三個星期還卡在第一步。
- 除法器在Modelsim 上撰寫含測試,不到30分鐘,拿到FPGA上燒錄及驗證也不到30分鐘,將DCT 與 Quantization 整合在一起花了三個星期還在搞,這樣子搞一個IP真的好久,而且好難驗證,Arm Integrater上的ICE 拔來拔去,電源開開關關,我看我燒了不下百次,這樣沒多久就會被我玩壞掉。
- 這樣的Debug 模式真的是正確的嗎?我是不是漏了甚麼方式,或是應該用別種方式先做才是正確的?
- 現在遇到的問題好像已經不是寫Verilog 的問題,而是整合上的問題,不知道要從哪裡去區分了,該切的也切開來測了,邏輯上都對,但跑起來就是不對。
- 這東西只能在學校測,還好有耕學,陪著我們做了好幾個星期六,不然都不知去哪測了,也沒有小台一點的Arm Integrater可以玩,真難搞。
- 老師體諒我們學生,只要做個除法器,不過我把寫報告的時間都拿來做實驗了‧‧‧,上了一學期的課,只能做個除法器 -.-|||,太丟臉了,交不太出去。
讓Verilog 在Ultra Edit 有正常高亮度顯示
讓Verilog 在Ultra Edit 有正常高亮度顯示
- 先到UltraEdit 網站上抓這個檔 verilog2001.txt
- 將內容貼到 C:\Program Files\UltraEdit\WORDFILE.TXT (依安裝路徑)
- 重開UltraEdit 就可以了。
- Done! 簡單吧
星期四, 6月 26, 2008
機車的Arm Integrater
昨晚又花了將近5小時,Debug Arm Integrater,還是沒有結論,硬體上應該是沒問題,問題應該還是在Verilog Code,沒搞神麼大東西就搞好幾天@@。
測試一:
- HW code 沒動的狀況下,SW 多寫一行存取0xcc000084 Address ( done flag ),CPU 跑到這會發生Data error,怪事,下一行讀取0xcc000000 - 28 的都沒問題,為何單獨讀取 84會出怪招
- 再來 haddr[ 7: 0 ] 改為 [ 11: 0 ] ,因需要用更多addr,擴充了address的判讀,這更扯,CPU不知道跑去哪了,叫了就不回來了。
- 目前唯一能動的就是拿原來的bit 檔燒,而 採用 nop的方式去等,不要判讀 done flag,其餘SW code怎改都沒問題,研判原來的verilog 有問題。才會採用nop,他的done 看起來是寫好了,卻又不用,這就不知為何了,可能發生一樣的問題。
- JPEG修改的方式確定是正確的沒錯了,現在就剩HW的問題了。
星期三, 6月 25, 2008
Can't tftp to server ( Server error )
First check iptable -L , then search about selinux keyword in /etc
seems selinux make this questions
resolve:
- setenforce 0
- edit /etc/selinux/config
- SELINUX=disabled
星期二, 6月 24, 2008
CrossPlateform Architechture
至少開會有東西好講,不然一團人在那畫黑版也很累。
OpenOffice 還是不夠普級,連Google也不能完整Supports
星期一, 6月 23, 2008
Arm Integrated 的實驗
今天跟Stenly 兩個人到實驗室做 Arm Integrated 的實驗
- 架好Arm Integrated.
- 寫好 Software Code.
- 寫好 Verilog , synthese 後燒到 FPGA上.
- 首先確認 Multi-ICE.
- PC要裝好Multi-ICE driver.
- 確認 Print Cable 是好的,ICE是好的。
- Run multi-ice server, 可以抓到Core module及LM module.
- 要燒錄LM module 時,PIN要短路。
- Verilog 燒錄到FPGA上時,有幾個問題
- Arm Integrated在早上,跑起來是OK的,在未更新FPGA code的狀況下,同樣的SW code 到了下午竟然跑不出來,AXD Running stat 無法停止。
- 原先的構想( 修改原本的JPEG Lab,將 Quantization 作進DCT之後,有時間再改成Pipeline )
- 不過遇到不少問題,最後到晚上完成的版本,修改JPEG.c Quantization 只作U、V,Y暫時先不做,Y先用Software作,如果錯誤至少可以取得正確的影像輪廓。
- 兩台Arm Interated ,有一台不正常,在Multi-ICE下 抓到CM 是 unknow,而另一台是ARM920T
- 一張BMP 256x256 pixel 影像如果直接餵進MYIP,Reg 使用量太大,如果放入SRAM,又遷扯到兩件事
- MYIP <---> SRAM,存取BUS時,是否跟 CPU <---> DRAM 共用BUS,這點還沒澄清,如果ARM Integrated 共用BUS,這樣就不太有意義了。
- 若BUS獨立,MYIP 讀取SRAM需要有Arbiter,目前沒armbiter IP,還要再寫一個Arbiter。
- 寫的verilog 燒進FPGA,不能Debug,稍微寫大一點就頭痛了,回歸到問題點,還是要回到modelsim,而且MYIP 要從modelsim 打testbench極麻煩,相當於寫一個簡單的arm VIP,而單純的測DCT 又無法測到新增加的code,要加新的功能似乎驗證時間 > 加新功能。
- 整個程式流程牽涉到這些軟體:Xilinx ISE、AXD、Modelsim、armlink、Multi-ICE。
- AXD 要抓 Multi-ICE Server時要注意,防毒軟體的Firewall 要記得關,這個沒關會抓不到Multi-ICE Server的RPC.
- 今天的實驗搞到晚上11點還是沒結果,今天有一半的時間在搞硬體,不太穩定的感覺,要趕火車了,搞到一整天,Arm Integrated好像掛了,拿最一開始老師給的Code跑,Integrate 還是卡死在裡面,時間來不及查問題,又抱還給學長了。
星期六, 6月 14, 2008
星期二, 6月 10, 2008
Windows CIFS Server relogin command
net use * /del /y
net use \\192.168.1.1\share "password" /USER:domain\jack
星期一, 6月 09, 2008
Knowledge sharing and yahoo answers: Everyone knows something
- a user asks for information on how to read a file using the C programming language.
- Who is the better actress, Angelina Jolie or Jennifer Aniston?
- The author has also done some research in 4.4 Expertise depth, regarding the YA reply depth is not high.
- 5.1 Relationships between categories Fig 6 (a)、(b) Unexpectedly may pull in view of Similarities between categories with cosin relates, is really mysterious.
- Jokes、Polls get few length.
- In this Graph Programming, Chemistry, and Physics will tend to attract few replies
Seeks the suggestion, opinion, YA may provide the general response, but especially in the programming language and so on in the specialized question and answer, the depth which obtained arrives is insufficient, but regarding the general question which like
user and so on family is familiar with, actually may obtain many different responses, generally speaking YA is very good obtain suggests the way.
Questions:
- In 3. YAHOO ANSWERS AND DATA SET Part:we harvested one month of YA activity. The dataset includes 8,452,337 answers to 1,178,983 questions, with 433,402 unique repliers and 495,414 unique askers. How did he get this DataSet?
- First, Enter ACM from Here。
- Search Keywords: expertise finding, help seeking, knowledge sharing, online communities, question answering, social network analysis
星期三, 6月 04, 2008
V2Html
需要安裝 Perl Active State Perl 5.6.0. 免費
- v2html /path/to/your/verilog/files/*.v
星期二, 5月 27, 2008
SVN+SSH Usage
- export SVN_EDITOR=vim
- svn import vdm svn+ssh://billgaze@192.168.0.24/home/arm926
- --This line, and those below, will be ignored--
A vdm - :q
- continue
- billgaze@192.168.0.24's password: ********
CVS [check out]
- export CVSROOT=":pserver:billgaze@192.168.1.99:/usr/local/cvsroot".
- cvs login.
- cvs co [project_name].
星期一, 5月 26, 2008
Cpu Design Different
- Single cycle:Basicly one instruction one Cycle, and critical path more long.
- Multi cycle:one instruction many Cycle, buf critical path shorter then Single cycle.Using FSM to implement one instruction.
Break instruction execution into multiple cycles
One clock cycle for each major task
- Instruction Fetch
- Instruction Decode and Register Fetch
- Execution, memory address computation, or branch computation
- Memory access / R-type instruction completion
- Memory read completion
- Share hardware to simplify datapath。
- pipeline:Instruction to go through a several clock. A clock to complete an Instruction, but exception of some special exceptions Instruction.
Invitation
Invitation.
Sincere invite you to attend my wedding,just attend to do not bring any gifts Please!
- Date: 2008/05/31 12:00
- Address:No.58, Tongde 11th St., Taoyuan City, Taoyuan County 33071, Taiwan (R.O.C.)
- Address:No.58, Tungdeshryi St., Taoyuan City, Taoyuan County 33071, Taiwan (R.O.C)
- Address(chinese): 桃園縣桃園市同德十一街58號 福利川菜
- My Blog
- My Photo
- My MSN(Email): ticks0628@msn.com
- My Phone: 0966-681949
English Map HERE!!
星期三, 5月 21, 2008
中原大學工學院教師升等評審辦法
- 之研究(佔40%)、教學(佔40%)、服務(佔20%)三項之表現加以評審
這對於著重於教學的教師似乎是存在著一些不合理,不過這個我不懂,也不便評論甚麼,不過我看來,也是很有名牌的迷思。
謝票
今天跑去找朱老師詢問有關逕讀所需準備的方向及未來要走的路,老師也給了一些建議。
也問了兩個目前博班的學長,關於論文的寫作。
今年一年級結束後〈順利的話〉,剩一門核心課程【演算法】及一門選修課程,學分就夠了。
STEP:
- 核心課程【演算法】,這門課很重要,剛好目前博班正在準備資格考,打探之下,未來的博班資格考還要再考一次,而且不是像課堂上考那麼簡單,看來二下要多花一些功夫在這,一次搞定省得多花兩次工。
- 因為我可能是中原第一個碩專申請的,也不知道到時會怎麼排名,最好在年底前寫一篇論文去投,多少有點學術成績。這可能要動動腦了,能不能上可能要靠這個了。
- 記得我上學期平均好像89.5 ...機車勒少0.5分,被一門7x分的拉了下來。這學期要拉我看來不太急了,看來要動動嘴了。
- 下學期: 星期一(書報) 星期四(演算法) 再加一門朱老師的課,看來時間上應該是有機會準備這些東西,不過老闆也是要在10月份完成目前手上H264平台的案子,講是講Project Leader,不過只有自己一個人搞,hmm..看來也是很【緊蹦】的感覺。
- 本來預計招集幾個公司同事合資請美語老師來公司上課,省去大家通車上課時間,價錢都問好了,看來要延一延了,下學期看來時間比較多一些,這個延後好了,好加在還沒要求公司補助,嘿嘿明年再來要好了。
星期一, 5月 19, 2008
時間的巨輪 vs為什麼要讀研究所 之碎碎唸
時間的巨輪 vs為什麼要讀研究所
小時後有人問:你以後長大想做神麼? 通常不外乎會得到醫生、科學家、太空人....etc. 的答案。而長大了反而不知道自己要幹神麼???
而不知道神麼時候開始我對作實驗很感興趣,想像自己正在作DNA PCR時發現某種未發現的片段,不過這都是想像XD,被本科的看到應該會覺的想法天真。
自從我進了中原遇到了這個老師,這兩問題死纏著我不放,很不太容易去完全理解跟接受,因為我就一直被這些問題困擾著,應該說以前沒想過這個問題而問題一直存在著,祇是沒去想而已。
- Coding 是我的興趣,每當被某個Bug 困住解了好幾個晚上,某天突然解開了!! 那種快感真是不可言喻~~,不過當中的過程也是極為挑戰耐心,這個嘛~問問那幾晩我旁邊一直打哈欠的境峰同學就知了,雖然他也是不會Coding,一年級上學期時,陪我在Lab Debug到三更半夜甚至天亮,當結果出來時那種很爽快的感覺他應該也有感受到,不過當【巨輪】追殺來時,漸漸的會不支倒地。
- 其實我的【夢想】是研究出對於人類有幫助的細菌,能殺死癌症等重大疾病、或是防止老化的工具,不過以前不愛唸書加上當時沒有目標,唸到專科就停了,更不用談細菌了,能當當米蟲就偷笑了。
- 既然本業是寫程式,那盡量把工作跟興趣合為一體所以就找寫程式的工作,然而漸漸的離細菌又越來越遠了(雖然Coding也是興趣之一),雖然自己跑去買了一些書看,但覺得生物程度還是在高中階段,總覺得摸不著頭緒的感覺,連PCR的機器都只在書上的圖片看過,紙上談兵的學習就像看了訪間賣的一些【30天學會JAVA】書的感覺,出了社會不像學校,能有系統的學習,更別談器材的操作,才會在之前興起了報讀 生物科技學程的念頭。
- 自從回了學校,每天上學、放學都覺得很開心,就是有一種像是農夫收成的感覺(我小時後可是有插過秧的),所以我知道以目前階段,唸書、學習是一個非常正確的決定,因為我過的很快樂,雖然時間被卡的死死的。以前每天上學,跟現在唸書的感覺有著極大的不同,哪裡不同?我也不知道,不過我知道我現在去上課要問老師甚麼問題,應該要搞清楚神麼東西,哪些細節要從老師身上挖出來,但人總是要受這個【巨輪】的束縛,時間就只有那麼多,有那麼多事要搞,除了學習還有一缸子的雜事。
- 回到現實~~~又到了吃飯時間,一個男人要撐起一個家,不能只玩自己的興趣的東西、只顧唸書,還是得兼顧一家人的【溫飽】,這時又必須【撞士斷碗】,必須捨棄一些興趣去做養家的事,於是再三的考量只能把時間花在從最具 C/P 值事下手,擴展Coding範圍朝SOC Design,一來拿學歷,二來以第一專長的優勢加速培養第二專長的能力,然而要達到【專長】的效果,勢必也是需要花費大量的時間去學習(這應該更正為鑽研),不然也不用浪費時間了,來達到【更溫飽】。
這樣的結果跟原兩篇主題的理論有很大的不一樣,造成了我的困擾,是天資不足的問題嗎?聽說偉大的發明家或是理論的創作者,常常會同時專精兩個以上的領域,難道它們天生就咬金湯匙出生?還是都不用養家? 還是他們真的是天才!而我的天資專研一門就吃力了?還是其他原因?
星期三, 5月 14, 2008
97學年度電子系(資訊組) 逕讀公告
經詢問耕學,問題如下:
- 學費跟碩班一樣56000,不過期中會退4萬 ( 政府補助 )。更正, 這是學校補助
- 博班學分很少,不用像碩班一樣狂修再來寫論文,不過有四門資格考,跟碩班核心差不多,OS、計結、演算法及及一門老師自選。
- 要四篇論文的樣子,其中一篇比較重要 (還沒問到)。
- 基本上碩班論文是投,博班論文要上。
- 博班一年就能畢業,不過701b目前沒看過碩班2年畢業的,電子系有一個碩博班共念3年畢業的 [達人]。
- 根據學長調查目前Lab出去的學長,新手起跳70k,不過代價也是不小,跟一般Programmer一樣,要吸你的血的,拿命換~! 雖然未達目標,不過至少可以當作一個平原期跳轉另一個高原期的跳板,
- 再來就是程度及方向兩個問題,我想最少要補上Modeling、RTL coding 能力,至少在Coding方面沒問題,要開發出新架構比較不會綁手綁腳,同我們寫C,基本Function不熟,要寫個好用且Performance讚的API是有問題的。
- 現在應該只剩下要想出一個甚麼好東西,到時出了校門能端到公司出去,給人看到會: [哇~~這是你做的喔!! ].,而且這個東西要能當論文,這方面可能較偏向學術,必需開始會看Paper,跟看Paper能力有關,這方面目前非常的弱,由Web Services and Advanced Internet System 這門課的作業可以得知,對我來說異常的不簡單 @@,可能英文太破了,看不懂? 要如何找改進地方,首要的要先看懂。
- 統計了一下,要補足的還真不少,不過又回到老路"英文",不是最重要的,卻是必要的。
學校的公告:
電子系(資訊組) 逕 讀 公 告
本系逕讀博士班(資訊組)名額一名。
申請收件截止日為
申請表請至資訊工程系網頁/最新消息 下載。
繳交資料:
推薦函至少二封。(本系有專用表格,請至
資訊系網/最新消息 下載)
大學歷年成績單一份。
碩士班成績一份(大學逕讀者免繳)。
研究計畫書。
碩士論文
其他資料。(有利於評估申請者程度之相關資料)
申請資格:
大學部應屆畢業生(需於96學年度畢業,無法如期取得學位者,將取消入學資格)。
碩士班就讀一年以上(碩專班需兩年)之學生均可報名。
資訊系辦公室
星期二, 5月 13, 2008
Bug Report ( Mantis )
- 1.首先安裝 phpMyAdmin , 跟裝phpbb2 一樣的方式.
- 1.新增頁面找這個檔 config_defaults_inc.php,search g_main_menu_custom_options
Reference:
星期三, 5月 07, 2008
Memcpy vs MMAP
這篇對 .so 解釋很清楚。
出處 --->http://loda.zhupiter.com/LinuxDynamicLibrary.htm
//----以下 copy ------
memcpy(B, A, chunksize);
透過mmap來做的話,可以藉由以下的寫法
int self;
self = open("/proc/self/mem", O_RDONLY);
如下表
< 筆者電腦配備: PII 350,64MB RAM>
| memcpy | mmap |
512 | 0.14 | 0.23 |
1024 | 0.26 | 0.35 |
2048 | 0.51 | 0.59 |
4096 | 1.00 | 1.06 |
8192 | 2.56 | 2.10 |
16384 | 5.67 | 4.55 |
32768 | 11.71 | 8.96 |
65536 | 23.63 | 17.75 |
| | |
我們不難發現當記憶體區塊為512、1024、2048、4096時,memcpy都勝過mmap。不過當拷貝的記憶體區塊越來越大時,mmap明顯表現的相當有效率,像最後測試的記憶體區塊大小為65536 bytes,mmap相較於memcpy所花的時間少了約6秒鐘。
//---------------------------------