

./configure --with-microwin=[Microwindows dir] --with-fltk=[FLTK dir] --host=[prefix]Microwindows dir 是microwindws 所在目錄
Specifying the System Typeconfig.sub 是...,看了後,好像要設arm-linux :
There may be some features configure can not figure out automatically, but needs to determine by the type of host the package will run on. Usually configure can figure that out, but if it prints a message saying it can not guess the host type, give it the `--host=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name with three fields:
CPU-COMPANY-SYSTEM
See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the host type.
If you are building compiler tools for cross-compiling, you can also use the `--target=TYPE' option to select the type of system they will produce code for and the `--build=TYPE' option to select the type of system on which you are compiling the package.
./configure --target=arm-linuxbuild 出來後,看看Makefile,好像沒又設對gcc。所以用:<>CC=arm-elf-gcc ./configure --target=arm-linux卻看到 cannot find host,所以host也要指定。因為不知道要指定那一種所以用./configure看看...host system type... i686-pc-linux-gnu。
CC=arm-elf-gcc ./configure --target=arm-linux --host=i686-pc-linux-gnu試試..但是output中checking for gcc 還是gcc,不是arm-elf-gcc,所以check cross-compiler 還是no.
$ echo ${CC-cc}這個是正確的。
arm-elf-gcc
$ makeError :
Making all in xmltok是share library的問題?
arm-elf-gcc -shared -Wl,-soname -Wl,libxmltok.so.0 -o .libs/libxmltok.so.0.1.0 xmlrole.lo xmltok.lo -lc
/home/charles/sigma/armutils_2.5.91.0/toolchain/lib/gcc-lib/arm-elf/2.95.3/libc.a(__uClibc_main.o): In function `__uClibc_start_main':
__uClibc_main.o(.text+0xf8): undefined reference to `main'
collect2: ld returned 1 exit status
./configure --host=i686-pc-linux-gnu --prefix=~/libwww --disable-shared 2>&1 | tee outputOK!! 所以應該是shared library的問題。
CC=arm-elf-gcc CXX=arm-elf-g++ ./configure --host=i686-pc-linux-gnu --target=arm-linux --prefix=/home/charles/magsi/libwww --disable-shared 2>&1 | tee output就會發生...
configure: error: can not run test program while cross compilingGoogle的結果,這一篇似乎有一個解決的方法...
ac_cv_sizeof_char=1找一下所有這個message出現的地方,修改對應參數到正確的值...
因為資質弩鈍,所以有些type不知道,像arm的long type size是....?分別印出
所以只好真的build一個test program在taget board 上跑來試試..
使用的command是arm-elf-gcc trysize.c -o trysize -Wl,-elf2flt="-s32768"
輸出的結果是:
#include <stdio.h>
#include <time.h>
#include <stddef.h>
int isbigendian(void)
{
union
{
long l;
char c[sizeof(long)];
} u;
u.l=1;
return u.c[sizeof(long) -1] == 1;
}
int charisunsigned(void)
{
volatile char c= 255;
return c <0;
}
main()
{
printf("char:%d\n",sizeof(char));
printf("char*:%d\n",sizeof(char*));
printf("int:%d\n",sizeof(int));
printf("long:%d\n",sizeof(long));
printf("time_t:%d\n",sizeof(time_t));
printf("size_t:%d\n",sizeof(size_t));
printf("bigendian:%d\n",isbigendian());
printf("charisunsigned:%d\n",charisunsigned());
printf("double:%d\n",sizeof(double));
printf("long double:%d\n",sizeof(long double));
}
char:1實際上還是不知道long_double這一個選項是要設成yes還是no...
char*:4
int:4
long:4
time_t:4
size_t:4
bigendian:0
charisunsigned:0
double:8
long double:8
$ CXX=arm-elf-g++OK。正確check出cross compile。
$ CC=arm-elf-gcc
$ ./configure --host=i686-pc-linux-gnu --preifx=/home/charles/libflnx
$ makeError !!!
=== making fluid ===這個....
make[1]: Entering directory `/home/charles/sigma/flnx/fluid'
.....
make[1]: *** No rule to make target `../lib/libfltk.a', needed by `fluid'. Stop.
make[1]: Leaving directory `/home/charles/sigma/flnx/fluid'
=== making test ===
make[1]: Entering directory `/home/charles/sigma/flnx/test'
make[1]: *** No rule to make target `../lib/libfltk.a', needed by `valuators'. Stop.
make[1]: Leaving directory `/home/charles/sigma/flnx/test'
make: *** [all] Error 2
但是還是一樣的錯。
./configure --host=i686-pc-linux-gnu --with-microwin=/home/charles/magsi/armutils_2.5.91.0/build_arm/src/microwin/src
-I/home/charles/magsi/armutils_2.5.91.0/build_arm/STLport-4.5.3/stlportOK。但是出現putenv( ) undeclare!!!。
-I/home/charles/sigma/armutils_2.5.91.0/build_arm/uClibc -0.9.26/include再build.. 還是有錯,說是filename_list.cxx中有一個cast不正確。到 source file中去看。是platform dependent code。在uclinux下應該要用linux 的code吧,需要define "linux",所以再到makeinclude中加入..
-DlinuxOK!! src folder build OK.
internal error--unrecognizable insn:Google 一下...
$ arm-elf-ar t libm列出libm中所有module,沒有s_rint.o <-這是rint()所在module。
-Wl,-elf2flt="-s32768".rebuild,注意exe file要chmod a+x 才能執行。
陶 瓷電容通常較受歡迎,因為它們的成本低,故障時會變成開路;鉭質電容成本較高,故障時則會變成短路。輸出電容的等效串聯阻抗會影響電路穩定性,陶瓷電容的 等效串聯阻抗較小,約為數十毫歐姆,鉭質電容的等效串聯阻抗則在數百毫歐姆左右。許多鉭質電容的等效串聯阻抗還會隨著溫度大幅改變,進而對穩壓器的工作效 能造成負面影響。陶瓷電容可用來取代鉭質電容,只要在電容和地線之間加上一顆溫度穩定性良好的適當電阻 (通常為200 mA。請與穩壓元件製造商聯絡,確保得到正確的電路設計。
電 解質電容通常是電容值比較大的電容,一般具有極性,通常用於電源穩壓或低頻率的電路(兩個電解電容背接成NP電容,則無極性)。電解質電容在高頻時的表現 不好,如果高頻電路要用到電容,最好是選陶瓷電容或鉭質電容。陶瓷電容一般電容值很少大於 0.1uF,高頻響應良好。
鉭質電容雖適用頻寬廣,漏電流小,但不耐負壓,若接反正負極會造成電容爆炸,但因含有毒性,已逐漸退出市場。
為 電解電容的一種,屬於被動元件,是陽極使用鉭的電解型電容器,又可再分為固體型及液體型兩種,其中固體型是以二氧化錳當電解液,液體型則是以硫酸當電解 液。鉭質電解電容的特性是耐溫性較廣,無電感性,較優的洩漏電流特性,但卻有突破電壓、逆電壓等無持久性,不不耐機械衝擊的缺點。
鉭質電容跟鋁質電容都是電解電容的一種
特色是電容量最穩定
漏電損失最少
及效率比較不會受到溫度的影響
但價錢較貴
而且鉭是公害管製品
適用範圍很廣,但集中在需要穩定度較高的產品
市場需求量大概是鋁質電容的40%
國內上市公司好像只有華容生產一點點
好像佔營收不到5%
microwin : $(UCLIBC_TARGET) $(MICROWIN_TARGET_BINARY)
UCLIBC_TARGET = $(uclibc_arch_libs) $(uclibc_arch_xip_libs) <--應該不重要
MICROWIN_TARGET_BINARY := $(TAGET_DIR)/usr/bin/nano-X
$(MICROWIN_TARGET_BINARY) : .target_dir_made $(MICROWIN_BINARY)
MICROWIN_BINARY := $(MICROWIN_DIR)/src/bin/nano-X
$(MICROWIN_BINARY) : $(MICROWIN_DIR) ./configured
$(MAKE) ..... -C $(MICROWIN_DIR)/src ....
MICROWIN_DIR := %(BUILD_DIR)/microwin
也就是說,到microwin/src 作make
microwin/src/Makefile :
all : default
-$(MAKE) -C $(MW_DIR_SRC)/demos
WM_DIR_SRC := $(CUR_DIR)
就是到demos 下作make
include microwin/src/Makefile.rules.
這個好像就是決定make哪些target 的file。
發現make的過程不會output command log...
在 Makefile.rules中有:
$ifeq ($(VERBOSE), N)
.SILENT
$endif
而在config中有
VERBOSE = N
這就是原因。
所以修改config,將VERBOSE改為 Y
但是用的config 檔不是src/config,而是armutil/config/config.microwin 要修改這裡的config才有效。
char rc=0;結果:
for(i=0;i<8;i++){
rc = rc >> 1;
if(key)
rc = rc | 0x80;
}
0000
1000 - 按鍵1
1100 - shift right 後應該是0100, 但是因為最高bit是正負號,所以compiler會保存正負號,所以又把1000加回去,變成1100。
arm-elf-ar -t libsamples.a列出libsamples所有包含的module。
arm-elf-ar -r libsamples.a parse_disp_cmd.o再把所有link到libsamples.a的application都重新build一次。
以下就是sdk 相關的...
Install Debian : 什麼都不選,base system就可以。
aptitude install gcc
aptitude install sudo
export VISUAL="vi"
visudo - ref http://checko.blogspot.com/2005/10/build-kernel-for-arm.html
aptitude install tftpd
vi /etc/inetd.conf ---> /boot 改為/tftpboot
mkdir /tftpboot
chmod 777 /tftpboot
aptitude install nfs-kernel-server
vi /etc/exports
aptitude install samba
smbpasswd -a charles
aptitude install libncurses-dev
aptitude install bzip2
這麼一台國產的3G、WiFi、BT 、VGA、有閃光燈的相機、有鍵盤的貝殼機、用的是Windows Mobile 5.0,所有最新、最強的軟硬體都齊聚一堂,可以上網,收MAIL,看影片,偷拍的超級機器怎麼會賣不掉?你想想拿著這麼一個磚頭打電話,3G上網只有兩 小時電力(兩小時好像是3G的極限?),內建的瀏覽器又慢的要命的東西,誰會願意花一台NB的價錢去買啊?
C:\Document And Settings\cd c:\Tc201\Disk1執行INSTALL:
C:\Tc201\Disk1\ install.exe會出現Turbo C的安裝畫面,
定價和准許
微軟正在提供准許它的FAT文件系統規格和聯系的知識產權。與這個License,其它公司有這個機會將FAT文件系統實施在他們的產品和改進文件系統兼容性,橫跨PC和電子器設備。當前, 微軟提供以下二具體類型License:
- 可移動固體媒介manufacturers..制造商可能已格式化媒介為微軟FAT格式,譬如與CF卡,然後預先儲存輸了數據。這個License Fee是US$0.25。或是整體 $250,000 。
- 電子產品商devices..Pricing 是每個產品$0.25。對象是使用可移動固體媒介存放數據的以下類型設備:
o 便攜式數字式寂靜照相機
o 便攜式數字式攝象機
o 便攜式數字式still/video 照相機
o 便攜式數字式播放機
o 便攜式數字式錄影機
o 便攜式數字式音像和錄影 player
o 多功能打印機
o 電子相片框架
o 電子 樂器
o 標准電視
#define TIXML_USE_STL
& &
< <
> >
" "
' '
TiXmlElement* root = document.FirstChildElement( "Document" );但是TinyXml 可以用
if ( root )
{
TiXmlElement* element = root->FirstChildElement( "Element" );
if ( element )
{
TiXmlElement* child = element->FirstChildElement( "Child" );
if ( child )
{
TiXmlElement* child2 = child->NextSiblingElement( "Child" );
if ( child2 )
{
// Finally do something useful.
TiXmlHandle docHandle( &document );來作
TiXmlElement* child2 = docHandle.FirstChild( "Document" ).FirstChild( "Element" ).Child( "Child", 1 ).Element();
if ( child2 )
{
// do something useful
活動串連標籤貼紙:
坐火車常誤點嗎?為什麼一個歷史這麼悠久的台灣鐵路公司,三不五時就來個小誤點、大誤點,而且態度就是反正只有我一家,你能怎麼樣呢?真的令人有些ORZ,所以你也來加入串連的活動吧,讓台鐵知道大家的不滿吧!
*因為愛湊熱鬧,所以也加入串連的一員囉,不過活動昨天才開始,大家一起來響應。
活動網址:Nancy Chu's Blog
各位朋友可以用以下的方式支持這個活動:
1. 將活動標籤貼紙貼在您的部落格或網站上
2. 在連結文章的迴響留下您曾經遇過的誤點經驗或是任何對台鐵的不滿,Nancy會集結起來寄給台鐵
3. 告訴更多朋友,讓他們知道這個活動,或是願意用您的MSN暱稱來加入我們
嘿,這個網站也說得不錯:
[逆鐵]Anti台鐵誤點運動傢働中
一、楔子
這個禮拜台鐵又誤點了= =
「各位旅客,七點十分從基隆往高雄的自強號將晚7分鐘到站」
「各位旅客,八點整由中壢開往蘇澳的電車將晚20分鐘到站」
「本列車在此臨時停車」由 於我平常都是坐電車回去內壢找牛仔包,幾乎每次坐車,總是會慢十分鐘到半小時,似乎已經是家常便飯了,看著告示牌上的LED數字從慢5分鐘跳到慢 25分,月台響起令人懷念的誤點通告,結果六點半的火車,從板橋坐到內壢,整整花了一個半小時才到內壢(平常是40-50分鐘),牛仔包馬上就做了反誤點 的標籤,我們覺得是該用blog發出我們的不滿了,人家說逆天,吾阿醜要「逆鐵」啊~~~~~!!!
二、生命應該是浪費在美好的事物上,但是我們的生命卻是浪費在誤點上
我每次都會想著,如果以統計學來說,台鐵一次十分鐘的誤點,以月台上大約有60個在等待誤點火車的旅客來說,平均一個人等了10分鐘,總合是600分鐘,從內壢到板橋大約有五個站,也就是火車慢了十分鐘,卻讓所有的人一共浪費了2天又2小時的時間。三、屢年不改,就是不讓你知道誤點原因及情況
根 據台鐵在今年(94年)八月推出的「94年台鐵旅客意向調查」裡,「列車誤點及事故處理」及「列車運轉及時刻安排」之不滿意度分別為各項服務中之首位及 第二位,與上年相同;其不滿意者之首因分別為「車上未適時告知誤點原因及情況」(占五成八)及「假日或尖峰時段車次或車廂數不足」(占六成五)。四、不要只賣鐵路便當、麻煩請敢作敢當
公務人員的確有既定的科層體制在,你可以從台鐵的網站或是新聞中看到那一個班列車因為出軌而嚴重誤點,或是台鐵又發現有人在鐵軌上放置異物等而造成超級誤點,但我幾乎沒有看過有任何一個政府高層人員因為台鐵的誤點而提出道歉的聲明(不是叫你辭職)五、電車永遠是誤點最久的,卻是戴客量最多的悲情火車
再 從台鐵的客運人數統計的資料來看,就車種別分析,93年客運人數以復興號(含電車)每日平均29.3萬人最多,占總運量六成四,其中絕大部分為電車旅 客,為臺鐵之運輸主力;其次是自強號9.2萬人,占二成;莒光號5.5萬人,占一成二;普通車2.0萬人,僅占4.4%。看著自強號和復興號呼嘯而過,輪 子磨擦的聲音像是在嘲笑我們這些坐電車的人是次等鐵路民似的。各位朋友可以用以下的方式支持這個活動:
1.將活動標籤貼紙貼在您的部落格或網站上
2.在本篇文章的迴響留下您曾經遇過的誤點經驗或是任何對台鐵的不滿,我會集結起來寄給台鐵
3.告訴更多朋友,讓他們知道這個活動,或是願意用您的MSN暱稱來加入我們參考連結:
台灣鐵路局資料統計網頁:不斷在自打嘴巴,卻是台鐵唯一誠實的聖地
記者劉怡汝/台北報導
臺鐵誤點情形竟然天天發生,臺鐵復興號有三班列車,三十多年以來竟然沒有一天準時到站,平日平均誤點二十幾分鐘,假日甚至誤點長達五十分鐘,臺鐵則表示因為復興號設計不良只有一個車門,影響乘客上車的時間才會導致誤點情形發生。
臺鐵最近實在發生許多問題,日前媒體指出臺鐵復興號高雄往基隆有三個列次,分別是一一六、一二零、一二二,三十年以來天天都誤點,平日平均誤點二十分鐘是家常便飯,遇到假日平均誤點時間高達五十分鐘,對此臺鐵昨日召開記者會澄清。
臺鐵運務處組長鄧慶福表示,復興號當初設計的時候只有一個手動車門,因此旅客多的時後根本不夠使用,而且許多乘客喜歡站在車門口,因此影響到其他上下車的 旅客,造成列車出發時間有所延遲,平均每一個站延遲三十秒鐘,高雄往基隆一共有二十個停靠站,因此從高雄開往臺北時間就要增加二十分鐘。
鄧慶福表示,雖然復興號有誤點,不過誤點的時間並沒有五十分鐘那麼久,也不是天天都誤點,不過鄧慶福承認復興號一一六、一二零、一二二,三個列次準點率只有四成。雖然臺鐵雖然承認復興號誤點情形,不過誤點時間沒有超過八十分鐘,因此民眾沒有辦法辦理全額退費。
臺鐵表示,假日時候比較有誤點情況發生,因此未來會推出周末及假日版的火車時刻表,方便民眾減少等候時間。
...台鐵員工升等考試今明兩天舉行,一共5600多名員工報考,少了大半員工輪班,台鐵緊急停駛60多班電車,不少旅客擔心臨時撘不到車,都提早買票因應,雖然週末假期影響不至於太大,但還是有民眾抱怨連連。我的天哪,這些搭車的通勤族真可憐,改天台鐵員工公司旅遊,全台鐵路停駛一天?
#ifconfig -a如果沒有,確認wlan dongle有插上去,不然,就下command試試:
# /etc/init.d/wlan stop來停止o,起來後,就可以設定wlan authtype跟SSID了:
start 開啟
#wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable這樣wlan應該可以正確連上ap,但是ip address還是、要自己設定:
#wlanctl-ng wlan0 lnxreq_autojoin ssid="10.3.3.205 - 3F" authtype=opensystem
# ifconfig wlan9 10.3.5.100 netmask 255.255.252.0 broadcast 10.3.1.15OK!
ubuntu@ubuntu:/etc$ lspci這下知道pci id 了,到Google搜尋一下: pci id 5833,到這個網站http://www.idhw.com/textual/chip/ati/pciid.html看到,原來是
0000:00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5833 (rev 02)
0000:00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 5838
0000:00:13.0 USB Controller: ATI Technologies Inc: Unknown device 4347 (rev 01)
0000:00:13.1 USB Controller: ATI Technologies Inc: Unknown device 4348 (rev 01)
0000:00:13.2 USB Controller: ATI Technologies Inc: Unknown device 4345 (rev 01)
0000:00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 18)
0000:00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4349
0000:00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c
0000:00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342
0000:00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150 AC'97 Audio Controller
0000:00:14.6 Modem: ATI Technologies Inc: Unknown device 434d (rev 01)
0000:01:05.0 VGA compatible controller: ATI Technologies Inc RV250 5c61 [Radeon Mobility 9200 M9+] (rev 01)
0000:02:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
0000:02:04.0 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
0000:02:04.1 CardBus bridge: Texas Instruments PCI1520 PC card Cardbus Controller (rev 01)
0000:02:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
ubuntu@ubuntu:/etc$
5833 | IGP 9100 | RS300 Host Bridge |
5838 | IGP 9100 | RS300 CPU to AGP Bridge |
0x4347 | OHCI USB Controller #1 | 0x1002 | ATI Technologies Inc. |
0x4345 | EHCI USB Controller | 0x1002 | ATI Technologies Inc. |
0x4349 | ATA Controller | 0x1002 | ATI Technologies Inc. |
0x434C | LPC Controller | 0x1002 | ATI Technologies Inc. |
VGA compatible controller: ATI Technologies Inc RV250 5c61 [Radeon Mobility 9200 M9+] (rev 01)這樣,就可以到ATI去downdload driver啦。
國內,想使用這項更新服務的朋友
以 tnc7.3.tar.gz 為例:
#ncftp ftp.tnc.edu.tw
#cd pub/fedoralegacy-tools
#get tnc7.3.tar.gz
#tar xvzf tnc7.3.tar.gz
#cd tnc7.3
下 ./install 即可安裝設定完成,
然後請執行 yum update
產生GPG-KEY:
先安裝apt:
# rpm -ivh http://download.fedora.us/fedora/redhat/9/i386/RPMS.stable/apt-0.5.5cnc6-0.fdr.8.rh90.i386.rpm
把 rpm http://download.fedoralegacy.org/apt redhat/9/i386 os updates legacy-utils 加到 /etc/apt/sources.list 中
OK!然後就跟Debian一樣了:
#rpm --import http://www.fedoralegacy.org/FEDORA-LEGACY-GPG-KEY
# apt-get update
# apt-get upgrade
問題:
在家的 Redhat 9 以及在學店的 Fedora Core 2,一直沿用位於 Linux@DUKE 的 repositories ,配合 yum 進行更新。但近數月以來,兩個版本的 repositories 都再沒有動靜,似乎已經停止了更新。
解決方案:
透過偉大的 Google Groups,找到一處名為 The Fedora Legacy Project 的網站,內有提供 Redhat 9 及 Fedora 各版本的 repositories,可用來取代舊有位於 Linux@DUKE 的 repositories。
在網站的 Download 頁裡,說明了利用 apt 及 yum 更新 Linux 的方法。不過網站建議我們安裝由其提供的 yum 套件,以提高安全性。詳情可參考 Documents 的指示。以下就用 Redhat 9 為例,概述整個過程:
rpm -Uvh http://download.fedoralegacy.org/redhat/9/updates/i386/gnupg-1.2.1-9.i386.rpm
如果 rpm 傳回 “package gnupg-1.2.1-9 is already installed
“,不必理會,可以到下一步。
rpm -e yum
rpm -ivh http://download.fedoralegacy.org/redhat/9/legacy-utils/i386/yum-2.0.5-0.9.2.legacy.noarch.rpm
/etc/yum.conf
檔,並確保其設定如下:[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=redhat-release
tolerant=1
exactarch=1
exclude=kernel*[base]
name=Red Hat Linux $releasever - $basearch - Base
baseurl=http://download.fedoralegacy.org/redhat/$releasever/os/$basearch
gpgcheck=1[updates]
name=Red Hat Linux $releasever - $basearch - updates
baseurl=http://download.fedoralegacy.org/redhat/$releasever/updates/$basearch
gpgcheck=1
rpm –import http://www.fedoralegacy.org/FEDORA-LEGACY-GPG-KEY
rpm –import http://www.redhat.com/security/db42a60e.txt
完成上述步驟後,便可如往常一樣用 “yum check-update” 或 “yum update” 檢查及進行更新了。Fedora 的做法大同小異,主要是網址不同,請自行參照 Documents 裡的有關指示。