2014/05/27

鴻海下大聘 迎娶亞太電!每股20元砸116.57億元 吃下私募7成股權

鉅亨網記者胡薏文 台北  2014-05-26 21:12

亞太電信(3682-TW)「三雄搶親」今晚落幕!鴻海集團(2317-TW)旗下國碁電子,今晚與亞太電信簽訂合作意向書,由國碁以每股20元,共砸下116.57億元,吃下亞太電私募5.82億股,約此次私募的70.5%股權。鴻海集團此次認購亞太電私募價格為每股20元,與亞太電原本預定的每股17.44元相較,高出14.67%,也高於市場先前傳出的每股19元。印證鴻海集團董事長郭台銘對亞太電「志在必得」,果然砸下重金、下大聘!

鴻海集團與亞太電信今晚同步以重大訊息公告,由國碁電子擔任亞太電信103年度私募案應募人,雙方並於今天晚間簽定合作意向書。同時鴻海集團除吃下亞太電私募的7成股權外,鴻海集團旗下國碁電子也將同時與亞太電信協商合併相關事宜,在相關主管機關許可的前提下,以換股方式進行吸收合併,合併後國碁電子為消滅公司,亞太電信為存續公司,合併換股比例與合併條件將由雙方議定後報請股東會同意。

至於亞太電信私募的另外2.43億股普通股,鴻海集團旗下國碁電子並得於亞太電信103年股東常會通過私募案後一年內,引介經亞太電信認可之國際級策略投資人,以相同價格及相同私募條件認購。

根據鴻海集團與亞太電雙方簽定的合作意向書,雙方將在合作意向書有效期間103年6月20日前,完成認股契約及合併契約之協商及簽署。

亞太電信5月9日董事會決議,擬以私募方式辦理現金增資發行8.26億股普通股新股,訊息一出,引來包括鴻海、台灣之星、軟體銀行等「三雄搶親」,鴻海集團董事長郭台銘並曾公開表示,對亞太電信為「志在必得」,因此也引來外界對亞太電私募案各項揣測,期間並曾一度傳出,鴻海有意與軟銀聯手搶親,但遭到鴻海否認。

鴻海砸重金迎娶亞太電,業界認為,為鴻海繼搶標4G頻段後,加速4G開台,最快、最直接的方法,因此郭董也高喊「志在必得」,而對亞太電信來說,透過私募充實營運資金,建立策略合作關係,將有助於擴大經營規模,提升市場競爭力。

受惠MEMS帶動Sensor Hub出貨量可望翻倍

2014年4月30日 SEMICON

受惠於微機電(MEMS)需求增加帶動,2014年感測器集線器(Sensor Hub)出貨量也將增加。 2013年全球Sensor Hub出貨最大廠,則為Atmel。
  通常感測器執行時會相當耗電,例如手機與平板內建的動作傳感(Motion Sensor)、麥克風,與光顏色感應器(Light Sensor)都極耗電。
  分析師表示,由於市場要求感測器要能具備永不斷訊(always on)需求,讓可達到低功耗要求的Sensor Hub越來越重要。因為透過Sensor Hub將所有感測器集中執行,便可達到省電與延長電池壽命結果。
  從2013年Sensor Hub出貨量觀察,Atmel以32%居冠,其次則為29%高通(Qualcomm),第三則為恩智浦半導體(NXP),占24%。
  IHS Technology指出,2014年Sensor Hub出貨量將達到6.58億組,相較前1年成長1.54倍,且其成長已從2011年開始,2012年年成長率更高達20倍之多。估計到2017年,將出現13倍成長,出貨量也將攀升到13億組。
  目前Sensor Hub的集中運算主要是透過三種方式達成,第一種是透過專屬的微控制器(MCU),供應廠商包括Atmel、意法半導體(STMicroelectronics)、德州儀器(TI)與恩智浦半導體。
  最新採用該Sensor Hub技術的手機,包括蘋果(Apple)iPhone 5S、三星電子(Samsung Electronics)的Galaxy S5與摩托羅拉行動(Motorola Mobile)的Moto X。
  第二種方法則是透過低功耗核心,讓Sensor Hub成為應用處理器(AP)一部分,該產品供應商有高通、英特爾(Intel)與NVIDIA,未來還將包括三星電子Exynos、聯發科與海思半導體。
  該方法優點可減少額外晶片設計且無須其他元件,但功耗表現則不如專屬MCU。 IHS也預測在2016年之後,專屬MCU將被AP相關的整合技術取代,但蘋果仍可能在其高階手機採用專屬MCU。
  第三種則是透過結合以MCU為主的處理器與加速傳感儀(accelerometer)與陀螺儀(gyroscope)等其他感測器,其主要供應商包括應美盛(InvenSense)與意法半導體,而博世(Bosch)、飛思卡爾(Freescale Semiconductor)與Kionix也推出類似產品。
  另外還有其他兩種新方法也開始出現,包括以現場可程式化邏輯閘陣列(Field-Programmable Gate Array)為基礎的Sensor Hub,其特點包括具備低功耗及可重新設計,以及以GPS- chipset為基礎的Sensor Hub。
  據IHS分析師指出,專屬MCU由於可發揮最佳效能及最具彈性特點,未來幾代高階手機及平板都將採用該技術。至於結合AP方式則具便利性等特點,將成為中高階手機採用對象。第三種結合新感測器方式,由於具備低功耗,也會獲得中階以上手機廠商所青睞。
  事實上,具備低功耗特點的Sensor Hub,無疑將成為包括手機及穿戴式裝置等電子產品大量採用感測器後,最重要的關鍵角色。

拿到git patch要怎麼用一般patch指令merge?

如果你的codebase工作環境沒有使用git作管理, 你要怎麼做從git產生的patch呢?
首先要先知道diff 與 patch 的關係, 傳統的linux裡面, .patch檔案是透過diff產生的

Diff 和 Patch 的簡易操作使用筆記

:
(參考: Tsung’s Blog)
diff -Naur file1 file2 > project.patch # Diff 產生 patch, 檔案, 資料夾都可以
# 或 diff -Naur dir1 dir2 > project.patch # Diff 產生 patch
patch -p0 < project.patch # 將 patch 寫入
patch -p0 < project.patch # 再做一次會詢問是否自動加上 -R 來移除之前 patch 寫入的(恢復回上一步的資料)
patch -R -p0 < project.patch # 移除回復修改 (同上一步驟, 此次就是確定要移除上次的 project.patch)

反正就是

造著傳統方式以 “patch -p0 <” 接patch 檔
然後會跳出 “File to patch:” 要求你輸入該檔的位置
你就複製貼上出現的檔案相對路徑與檔名, 直接輸入下去就好了

實際舉例如下 :

can’t find file to patch at input line 79
Perhaps you used the wrong -p or –strip option?
The text leading up to this was:
————————–
|diff –git a/user/hal/user/xxxxx.h b/user/hal/user/xxxxx.h
|index 0a3889f..9c92c36 100644
|— a/user/hal/user/xxxxx.h
|+++ b/user/hal/user/xxxxx.h
————————–
File to patch: user/hal/user/xxxxx.h <===複製上面貼到這裡
patching file user/hal/user/xxxxx.h

PS: 如果你有用git管理自己的codebase

請直接參考此篇 http://eeepage.info/git-patch-merge/

2014/05/25

[轉] InvenSense上市,意味著什麼?

2012-03-06
http://www.mems.me/Company_201203/172.html

InvenSense是少數成功的MEMS初創公司之一,僅在幾年內就實現了每年超過1億美元的營收。InvenSense的成功為股東創造了極大價值,也吸引了越來越多的戰略投資者乘熱打鐵。

什麼促使InvenSense IPO?

在Kionix被ROHM收購之後,類似的選擇對InvenSense也是有吸引力的,因為一個強大的母公司可以為未來全球增長提供幫助。不過,InvenSense仍然決定作為一個獨立公司,走IPO上市之路。啟動IPO是為了籌集更多現金,為後續產品研發做準備,這樣可以提高市場競爭力。陀螺儀市場上,ST是InvenSense的主要競爭對手,這兩家企業是當今世界上僅有的兩家大批量生產應用于智慧手機和平板電腦的3軸陀螺儀公司。他們的競爭始於2009年,當時ST發佈了單軸和雙軸陀螺儀。

在消費加速度計市場中,只有少數幾家公司做地很好,而大多數都在努力扭虧為盈。事實上,只有ST和Bosch是成功的;Freescale和Kionix正努力追趕;而大多數,如ADI,未能保持競爭力。同樣,在消費陀螺儀市場和消費運動感測業務上生存空間狹小,所以InvenSense需要繼續投資,也保持其在市場上的領先地位。

過去幾年中,陀螺儀已經成為競爭的溫床。據Yole分析,2010年InvenSense的消費陀螺儀的市場份額為23.6%,領先於Epson Toyocom和ST。Epson Toyocom增長歸功於遊戲和高端DSC市場,然而在蓬勃發展的手機市場上,其前景黯淡,因為Epson Toyocom依然依賴于單軸陀螺儀。InvenSense的市場很不穩定,因為其強烈依賴于一個客戶——任天堂,2010年InvenSense的85%營收來自任天堂。

此外,2010年InvenSense錯過了兩個關鍵合同:第一,ST與Apple簽訂了iPhone合同,這對於InvenSense來說,是個很壞的消息,因為這是MEMS感測器借助智慧手機蓬勃發展的標誌;第二,錯過簽約iPad,iPad 1含有加速度計和指南針,但是將來可能加入陀螺儀,事實上,在iPad 1裡的ST的加速度計旁邊有一個空槽,適合InvenSense陀螺儀的引腳數目。所以當時InvenSense的3軸陀螺儀很有可能被設計包含在iPad中,但是在最後階段,由於某種原因被Apple撤下了。注意到iPad 2確實集成了3軸陀螺儀,使得為iPhone 4開發的陀螺儀應用可被iPad用戶使用。但是該陀螺儀來自於ST。事實上,Apple在iPhone中使用ST的陀螺儀,兩家公司保持長期的合作關係。

由於InvenSense啟動3軸陀螺儀市場較慢,最終失去了市場排名第一的位置。而對於競爭對手ST,卻是不同的境遇。儘管任天堂的訂單減少,但是InvenSense與Android系列產品做參考設計,滲透新的市場和發展多樣化的客戶。InvenSense現在給Samsung、LG、HTC、RIM、Acer和其它大型OEM廠商的智慧手機和平板電腦供貨。InvenSense還成功推出了新產品(包括一個6自由度的加速度計+陀螺儀解決方案),開發了重要的軟體產品。目前InvenSense看上去實力很強大,未來幾年,其在蓬勃的運動感測器業務發展中將扮演重要角色。

InvenSense與ST幾乎在每個方面都不同,InvenSense是無晶圓廠的,全部由代工廠完成感測器生產。由於生產成本的優化是成功的關鍵因素之一,所以InvenSense需要與台積電等代工夥伴合作解決,採用8英寸晶圓生產線,並保證高良率,這樣才能真正降低成本。反向研究InvenSense的3軸陀螺儀成本為1.10~0.81美元(依據產量不同)。ST的3軸陀螺儀量產成本也在相同的範圍內。

除了InvenSense和ST,許多其他公司也盯上了陀螺儀市場,競爭日趨激烈。加速度計大型供應商Kionix進入陀螺儀市場;松下最近也推出了自己的3軸陀螺儀,目前積極推動遊戲和智慧手機應用。伴隨Maxim收購SensorDynamics、Murata收購VTI、Fairchild欲收購Jyve,市場競爭進一步加劇。據Yole統計,全球超過50家公司參與運動感測器市場競爭。

運動感測器市場真的很熱嗎?

據Yole預測,未來幾年在消費和移動市場中MEMS陀螺儀是最有活力的。預計陀螺儀年均增長高達19.8%(從2011年的5.16億美元增長到2016年12.7億美元),高於MEMS加速度計的9.9%和磁感測器的10.9%。智慧手機、平板電腦和遊戲應用是陀螺儀的主要應用領域,佔據超過三分之二市場份額。

MEMS加速度計市場在未來幾年內也會有非常好的商機,將從2011年的6.22億美元成長到2016年的9.98億美元。因為越來越多的應用期望3軸加速度計和3軸陀螺儀能夠封裝在一起,所以該市場戰略比較特殊。Yole早期報告顯示,組合感測器市場規模將從2011年的500萬美元飛增至2016年的6.59億美元。所以加速度計公司和陀螺儀公司之間開始協同開發組合感測器,加速度計公司購買陀螺儀技術,或陀螺儀公司購買加速度計技術。

磁力計市場發展也很快,預計將從2011年的3.86億美元上升到2016年的6.46億美元。除了手機,磁力計還有其他方面應用,如2010年Sony發佈的數碼相機DSC-HX5V集成了電子羅盤。該產品集成了GPS和電子羅盤可以實現先進導航和地理標記,與專用軟體配合就可以在facebook上記錄你去過的地方。

誰會是下一個InvenSense?

InvenSense的成功故事顯然是獨特的,很多人現在想知道:“誰會是下一個InvenSense?”不過InvenSense已經提高了MEMS器件初創公司的門檻,並且由於市場競爭激烈,慣性感測器的價格會繼續降低,所以如何降低生產成本成為大家的目標,如西班牙初創公司Baoblab聚焦研發超低成本的器件來適應當前市場。

什麼會引發運動傳感的下一代技術革命?目前我們看到室內行人導航的解決方案有著強烈需求,這要求各種運動感測器資料及GPS/WI-FI資料進行融合。因此也許下一個擁有希望的創業專案不僅僅和器件相關,還需要對組合感測器提供一些融合演算法,如Qualtre、MiraMEMS、mCube和Jyve,這些公司組合不同類型運動感測器以實現運動傳感技術革新。此外,Movea通過專業的軟體和感測器融合方案來衝擊傳統的供應鏈模式。

MEMS市場是非常散的,運動感測器僅是其中一部分。我們發現MEMS並購活動不斷增加,如2011年高通收購了Pixtronix(MEMS displays)、索尼收購了Micronics(即時醫療診斷)。

事實上,Yole報告中還指出了其他潛在的熱門領域(公司):振盪器(Sand 9, IDT)、RF MEMS開關(Wispry, DelfMEMS)、微顯示技術(Qualcomm MEMS)、MEMS揚聲器(Audiopixels)。

2014/05/22

專案產品開發時程之專有名詞 (RFQ,Kick-off,EVT,DVT,PVT,MP)

簡介專案的專有名詞:

  • Kickoff – 專案正式開案,時間上不一定在那一個階段
  • 選料 – 零件的規格是H/W Engineer在畫線路圖的時候就決定了,料是採購決定
  • 備料 – 準備生產時要用的零件材料
  • 線路圖 – 標示各個IC和零件之間線路連結狀況的文件
  • Layout – 標示各個IC和零件在PCB上面相對位置和線路走線情況的文件
  • Co-Lay – 在PCB同一個位子上保留可以放置其他不同規格零件的狀況
  • Gerber out – PCB廠用來生產PCB時需要的檔案,通常可以由Layout軟體產生
  • PCB out – PCB裸版做好的時候,上面都沒有零件
  • 打件 – 把零件放到PCB上面的過程
  • SMP件 – IC或是其他元件的針腳是直接接觸PCB平面的,像是BGA封裝的IC
  • DIP件 – IC或是其他元件的針腳是穿過PCB的貫孔,像是鋁質電容
  • FAI – First Article Inspection 首件檢驗
  • Rework – 電路板成品之後需要透過人工的方式修改跳現或是更動元件位置
  • EVT – Engineering Validate Time專案流程 工程驗證期
  • DVT – Design Validation Test專案流程 開發驗證期
  • PreMP (Pre-Production) – 專案流程 小量試量產
  • MP (Mass Production) – 專案流程 正式量產產品

專案初始時專有名詞

  • RFQ(Request for quotation):
    (來源:DIGITIMES中文網)
    可被翻譯為詢價或報價單,而RFQ文件內容一般含括貨品描述、數量、交貨日期、交貨處、聯絡人、單價等詳細資訊。
    此外,RFQ也被解讀為1種交易模式,其主要由買方所發動,亦即先由買方詢價,然後再交由賣方報價。以筆記型電腦產業為例,NB品牌廠通常在7~8月間會開始作RFQ詢(報)價動作,確立隔年由哪些代工合作廠接下訂單。
    待詢價期限截止後,相關管理系統便會按Call Number,將詢價的供應商、報價等資訊,通通予以羅列,採購人員即可據此進行比價作業,做出適當的採購決定,接著將RFQ轉化成為採購單(Purchase Order;PO),向最終出線的供應商發出正式訂單。
  • Kick-off Meeting:
    顧名思義就是「啟動會議」,通常會發生在專案開始前,型式上的一個會議,以宣告專案的開始,需要在會議前,協調好所有需要的資源,包括相關的人與事、該做的事項、預達目標、重要里程碑等,都一一列好,所有與專案相關的人員都到要到齊,以表示對專案的一種承諾。通常Kick off會議,除了專案成員外,也都會請高階老闆參加,代表著上對下,下對上的彼此承諾,不得馬虎。

 

開發驗證階段專有名詞

工程師出馬了,以上是專案的PM與Sales為主的部份
以下是SW,HW,ME,QA為主角的開發階段

  • EVT: Engineering Validation Test 工程驗證階段
    (來源: kelly7788)
    EVT PR (EVT試產) 為 RD主導,工廠組裝
    使用的 ME housing ,流程上要求為 T1 housing,
    但實際上若 schedule 不允許,也會使用 Mockup Housing.

    • * ME = 機構
    • * T1 = 塑膠第一次射出的外殼或是第一次的鐵件
    • * Mockup 有些公司稱為 prototype
    • * Housing = 機構的外殼
    • * Mockup Housing = 用快速成型方式做出來外殼,非開模品

組裝之後,這些 sample 會送到各部門做驗證
如 EMI/Safety/Design Qualification Dept….etc 端看各系統的需求
若有通過 EVT exit 的條件才可進入下一個階段

 

  • DVT: Design Validation Test 設計驗證階段
    DVT PR (DVT試產) 為 RD 主導,工廠組裝 (但有交接給工廠的意味)
    使用的 Housing 必然為開模品
    Sample 也將送往以上提到的各部門再做驗證
    重頭戲應該是在 Reliability 部門, MTBF 的驗證,以及軟體的測試

    • * MTBF = Mean Time between Failure
      看各公司以及系統要求,通常以高溫方式加速老化測試產品壽命
      也有可能不做 MTBF,因為,很~貴~

      • Mean time before failure是 MTTF~
        http://www.relex.com/resources/mtbf-mttf.asp“Mean time before failure” is a reliability calculation, often referred to as
        Mean Time To Failure , or MTTF.

        “Mean time between critical failure” is often simply called Mean Time Between
        Failures, or MTBF.

         

      • MTTF Versus MTBF
        MTBF (mean time between failures) is the expected time between two successive
        failures of a system. Therefore, MTBF is a key reliability metric for systems
        that can be repaired or restored. MTTF (mean time to failure) is the expected
        time to failure of a system. Non-repairable systems can fail only once.
        Therefore, for a non-repairable system, MTTF is equivalent to the mean of its
        failure time distribution. Repairable systems can fail several times. In
        general, it takes more time for the first failure to occur than it does for
        subsequent failures to occur. Therefore, MTTF for a repairable system can
        represent one of two things: (1) the mean time to first failure (MTTFF) or
        (2) the mean uptime (MUT) within a failure-repair cycle in a long run.

 

若有通過 DVT exit 的條件才可進入下一階段
(通常是不可以留下任何 B級以上 Bug)
各部門零件承認完畢,軟體承認完畢,硬體承認完畢
客戶承認完畢

  • PVT: Production Validation Test 生產驗證階段
    PVT PR (PVT試產,也可稱為小量產)
    工廠主導,RD協助
    這個階段的產品應為非常成熟,直逼量產品
    重頭戲在工廠 tune 生產流程以迎接接下來的 MP 大戲
    PVT Sample 仍會留在工廠做 Quality 測試以及 MTBF測試
    通常會邀請客戶在場承認 Golden Sample

* Golden Sample: 客戶承認邊簽名,最後留在工廠當神像供著做為未來客驗的依據
* MTBF: 此階段的 MTBF 通常是為了驗證採買的材料品質以及再驗證產品壽命
* MTBF驗證後的產品通常不可出貨 (因為壽命減短),但各公司以及客戶要求不同
* 也有可能不做 MTBF,因為這個驗證是很~貴~的。

  • MP: Mass Production 大量生產
    工廠大量生產
  • EOL: End Of Life 停產
    有開始就有結束~
    EOL的三個月前開始發 EOL Notice,
    通知客戶 EOL 的日期,Last Buy日期,Last Shipment日期,停產日期

EOL Meeting:
1. 停產時刻表
2. 品質 Review以及未來設計改善計畫
3. 庫存品管理
4. 備品購買計畫
5. 後續 Warranty Plan

2014/05/20

台廠2014接單 電視代工出貨量預估

【吳秀樺╱台北報導】全球液晶電視走向高原期,成長趨緩,中國市場仍有相當的成長力道,讓中國液晶電視品牌在競爭嚴峻的市場中殺出一條血路,除6大品牌之外,最近異軍突起的小米與樂視,在日系品牌走弱後,晉升為支撐台灣系統代工廠的主力之一,緯創(3231)再拿下上周推出的小米電視代工訂單。

據了解,去年小米電視異軍突起主要運用「左拉台廠,右勾韓廠」的策略奏效,市場預估小米電視今年全年出貨量約為150~200萬台;至於樂視的樂TV,則是由鴻海(2317)與冠捷(TPV)代工,其中鴻海負責60~70吋,面板主要是使用大阪10代廠的面板,冠捷則是負則40~50吋產品;至於樂視的樂TV,由於和小米一樣採用飢餓行銷,全年液晶電視真正出貨量多少,外人無法窺視。

市調單位WitsView協理劉陳宏指出,由台灣系統廠緯創代工,南韓面板廠樂金顯示器(LG Display)供應面板,與國際品牌相同的等級,使用樂金顯示器的面板;至於今年小米電視全年出貨量上看150~200萬台。

緯創獲60萬台訂單
近期小米發表首台4K電視小米2,尺寸由先前的47吋放大到49吋,面板除了原見的樂金顯示器之外,還加入華星光電,至於系統代工廠則是由緯創代工,拿下數量約60萬台的訂單,另外,和碩(4938)也拿下約60萬台的量,背光模組則是由瑞儀(6176)拿下。
事實上,緯創去年就拿下小米的液晶電視代工訂單,取代先前SONY(索尼)流失掉的訂單,今年除了VIZIO的訂單外,也因為小米電視的加持,讓緯創今年液晶電視代工量跟著向上攀,讓緯創液晶電視代工訂單,從谷底的300萬台,一口氣反彈大舉反彈,上看550萬台。

台灣液晶電視代工 今年出貨量預估
海爾釋單冠捷鴻海
另外,海爾今年全年出貨量約為500~550萬台,今年第1季出貨量約為100萬台,代工廠除了中國的代工廠兆馳與歌爾聲學外,今年釋單給台灣代工廠包括緯創與冠捷及鴻海;由於鴻海由於買下SONY的生產線,順利取得SONY的訂單,佔今年全年代工量約28.6%,VIZIO佔12.3%次之,而海爾僅佔9%,另外還有樂視的樂TV,預估鴻海今年全年的代工量為1100萬台,次於冠捷的1700萬台。
劉陳宏說,由於日系品牌廠出貨量不斷萎縮,而台灣代工業者為了彌補流失的訂單,而不斷開發出海口,積極爭取新的訂單,預估2014年台灣液晶電視代工廠訂單量約為3700~3800萬台,較去年成長約4~6%。

2014/05/16

Android 編譯方式 - Compile & Build

1.在編譯之前,當然要先把環境設置好

2.獲取原始碼是必須的

3.開始進入主題-編譯Android

  • Android系統是以Linux系統與硬體溝通, 所以許多原理就與傳統的linux嵌入式系統非常相似, 只是有再改寫
  • 3.1 根據Android建議的build步驟:

    $ source build/envsetup.sh
    *Initialize the environment with the envsetup.sh script.
    初始化環境必須使用 envsetup.sh 腳本, 之後才能使用envsetup.sh裡面有定義的指令函數名稱,與加入處理器廠商的平台資訊

    *而且必須使用source方式執行腳本才行(這樣執行的話, 此腳本是在父程序中執行的,因此各項動作都會在原本的 bash 內生效!)

    *雖然envsetup.sh裡面定義很多function長得不太像一般的shell script, 但它真的就是shell script, 還是一樣是從最上面開始循序執行下來, 只是在此檔後面會去使用檔案內較前面定義的function指令

    $ lunch aosp_arm-eng
    *看官方說明為android emulator且有debug功能
    (DEVICE Build Name + BuildType)
    此處的DEVICE Build Name 為 aosp_arm
    此處的BuildType 為 eng

    *搜尋關於 aosp_arm 的makefile:
    build/target/product/AndroidProducts.mk:50:
    $(LOCAL_DIR)/aosp_arm.mk \
    build/target/product/aosp_arm.mk:18:
    PRODUCT_NAME := aosp_arm

    *若是其他處理器廠商
    如MTK,Nvidia,Qualcomm,Marvell
    應該是另外定義Makefile在device目錄底下

    $ make -j4
    開始編譯!
    但是系統怎麼找到要編譯的廠商檔案呢?
    默认情况下编译系统认为TARGET_PRODUCT 是generic 的, 那如何编译特定产品的Android呢?

  • 3.2 在Android 輸入 make 之後
  • 就像上面所說的, 設定好環境也選擇了編譯廠商的某產品
    Android 怎麼去編譯? make -j4

    Makefile
    -> build/core/main.mk
    -> build/core/config.mk
    -> build/core/envsetup.mk
    -> build/core/product_config.mk

持續撰寫中…

參考:
1. Android Makefile中是 如何识别 TARGET_PRODUCT 的
2. 理解 Android Build 系统

2014鴻海營收連9霸 台積電11年蟬聯獲利龍頭, 整理1994年至2014年間台灣歷年股 王

天下2000大台灣企業
天下雜誌今日公布台灣「2000大調查」,鴻海連續第9年位居企業營收之冠,台積電則是連11年蟬連獲利龍頭。但《天下雜誌》發現,隨著台灣產業面臨典範轉移的洪流,「拚規模大小」的時代已經過去,惟有「關注獨到」的專精企業,重質不重量,才能成功從全球及中國的「霸」漩渦中全身而退,成為未來新典範。

鴻海營收連9霸 台積電11年蟬聯獲利龍頭

在企業營收規模排名上,2013年製造業龍頭寶座,仍由鴻海以合併營收3.95兆,蟬聯台灣第一大企業,守住鴻海的「霸時代」;這也是鴻海自2006年(9,117.73億)開始,連續9年登上寶座,規模更是翻漲4倍。第2名到第5名,都是營業額突破8,000億台幣的「大廠」,包括力守第2名的台灣中油(11,877.01億)、3年內挺進4名的和碩聯合科技(9,497.52億)、連續3年穩坐殿軍的台塑石化(9,313.34億)、及從2011年亞軍下跌至第5名的廣達電腦(8,804.02億)。

在製造業的獲利上,績優生台積電,以堅實的核心技術,強化客戶的黏著度,成功在競爭激烈的國際舞台引領風向,以稅後純益1,881.47億元,11度蟬聯最賺錢企業榜首,更為2003年(472.59億)首次摘下獲利王時的3.98倍;第2名則為製造業龍頭鴻海,搭上「中國」與「蘋果」兩個產業關鍵趨勢,在科技產業光環消退、「毛三到四」的狀況下,仍維持1,066.97億元獲利;第三名為成功以白牌手機奪回話語權的聯發科,以275.15億元獲利重新擠進獲利王前3強。

「拚規模」熱潮消退 「專精獨到」成為新王道

除此之外,《天下雜誌》整理20年「千大企業調查」資料,從海量數據中,標記歷年台灣股王,孹析台灣產業典範變遷。

整體而言,1994年至2014年間,台灣歷年股王,分別為見證傳產及金融盛世的國壽、華銀;記錄台灣科技產業從電腦、消費型產品、智慧型手機變遷的科技大廠華碩、廣達、威盛、聯發科、及宏達電;一度成為顯學的能源產業茂迪;與近來股價突破2,050元大關、改寫台股紀錄的大立光。

若以奪冠次數觀之,僅聯發科(5年)、宏達電(5年)、及大立光(4年),擔任股王次數超過3年。進一步分析原因,除產品開發腳步緊跟趨勢、與時俱進,專注研發、深耕專業領域,才是關鍵。以生產蘋果iPhone 5相機鏡頭的藍寶石水晶玻璃材料的大立光為例,不僅專注精耕,同時掌握技術及設備開發的核心能力。

天下雜誌歷年股王

重質不重量 企業規模縮水 但獲利增加

《天下雜誌》發現,無論是大製造業公司或者服務業,今年得整體營收皆較去年下滑,但獲利能力(純益)卻都成長超過五成以上,呼應現在企業規模大小不是最重要的條件,專精與獨到才是真正的獲利方程式。

檢視「1350大製造業」,可以發現雖然科技產業2013年整體營收下滑0.35%至26.75兆台幣,但總純益暴增83.54%達1.08兆台幣;與2012年平均獲利率2.19%的低點相較,上升1.85%,大幅增長84.47%。

至於「650大服務業」的總體營收,2013年也較去年減少615.7億台幣,小幅衰退0.69%至8.81兆台幣,部分原因,則是受到新制國際財務報導準則(IFRS)邊際效應;但與製造業相同,總純益提升52.88%,來到3,670億台幣,平均獲利率4.17%。

產業中,僅「100大金融業」,受益於政策鬆綁的大利多,不僅規模大幅成長497.17億台幣,總資產累積4.76兆元、營收成長1.05%,總純益也從前年的3,001.49億,成長到3,463.11億元,平均獲利率持續攀升到7.27%,而整體獲利更創歷史新高,包括富邦金(326.59億)、國泰金(290.20億)、兆豐金(224.95億)、中信金(215.10億)、台新金(205.74億)、第一金(108.77億)、永豐金(107.97億)、及華南金(100.51億)等9家金控,紛紛登上「百億獲利俱樂部」。

《天下雜誌》認為,綜觀2013年台灣企業的表現,雖然經濟溫和復甦,台灣民間消費卻出乎意料的表現疲弱,受到出口在歐美市場回溫遲滯、中國市場又逐漸降溫、經濟成長率勉強維持在2.11%的夾擊下,導致製造業及服務業營收規模雙雙下滑。

本次調查的對象,從企業經營績效的角度,篩選出台灣「1350大製造業」、「650大服務業」、與「100大金融業」,共2100家績優企業,完整反應企業體檢成果。

2014/05/12

wordpress外掛- "Exec-PHP" 更換為 "PHP Code for posts"

更換可以執行PHP程式碼的wordpress外掛
“Exec-PHP” 這個似乎有時候怪怪無法使用
所幸另外找到一個外掛 “PHP Code for posts”
正在使用中~

PHP Code for posts
vwesion: 1.2.0
作者:The Missing Code.
PHP Code for posts allows you to add your own PHP code to posts, pages, custom post types (posts) and even sidebars without the need for custom templates
The plugin enables a shortcode and options page so you can add your code to the admin options page and then output it in your post using shortcodes
Multiple code snippets can be used on a post, and multiple posts can use the same code snippet, …

2014/05/06

linux將SWAP分區關閉

還在懷疑android compile時間太久, 想要加快build speed
同事建議關閉swap會比較快, 但我覺得還好而已
但還是記錄一下吧!

上網看到這篇, 好像速度有加快喔
他是用4G, 而我換成8G的記憶體應該夠用

—開始———————
可先同步一下

# sync

接著

#echo 1 > /proc/sys/vm/drop_caches
(來源)當 /proc/sys/vm/drop_caches 的值被設定為 1 時,表示要求核心捨棄沒在使用的 cache (一般的),而被設定為 2 時則要求將 dentry, inode 所用的 cache memory 一併釋放,而設定為 3 時,就是 (1) + (2) 的效果,也就是幾乎把非作用的 cache 都釋放了。

查看記憶體占用情况

# free -m
total used free shared buffers cached
Mem: 12010 9433 2577 0 4 24
-/+ buffers/cache: 9404 2606
Swap: 8094 2838 5256

swap是使用中

# swapoff -a (關閉SWAP,程序需要執行一段時間,把佔用的記憶清掉)
# swapon -a (啟動SWAP)

终于free -m 看到swap为空了。

編譯android時,卡在tool-chain檢查的JDK

android編譯一開始就出現錯誤, 系統告知JDK不支援目前的編譯環境
怪了!之前還可以的耶…(因為我之前是裝sun jdk), 應該是後來有裝OpenJDK套件導致這個錯誤吧

Checking build tools versions…
************************************************************
You are attempting to build with an unsupported JDK.

You use OpenJDK but only Sun/Oracle JDK is supported.

************************************************************

由於我還保有原本安裝的sun JDK
所以只要在ubuntu的電腦上透過指令切換版本即可

In Ubuntu you don't have to uninstall one JDK to use another. You can have multiple Java versions installed and switch between them as you like. What matters is witch one is set as default.Chose another Java loader:sudo update-alternatives --config javaChose another compiler (this is what you need):sudo update-alternatives --config javacChose Java Web Start:sudo update-alternatives --config javaws 

備註:

之前在ubuntu10.x版本時, 要編譯Android的環境設置
只要透過 apt-get install sun-java6-jdk 即可安裝, 現在再輸入指令已經找不到了
Ubuntu11.x之後版本, 要透過手動安裝Sun JDK…

建議安裝sun的jdk
教學文: 中文, 原文

1.去Oracle下載頁面2.選"Java SE 6", 再選"Java SE Development Kit 6u45" (可能需註冊)3.下載後的安裝指令://Make the downloaded binaries executable.chmod u+x jdk-6u45-linux-x64.bin//Extract it./jdk-6u45-linux-x64.bin//The usr/lib/jvm is the default installation directory of the Java JDK and the Java JREsudo mkdir -p /usr/lib/jvmsudo mv jdk1.6.0_45 /usr/lib/jvm///Inform Ubuntu where your Java installation is located.sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_45/bin/java" 1sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_45/bin/javac" 1sudo update-alternatives --install "/usr/bin/javah" "javah" "/usr/lib/jvm/jdk1.6.0_45/bin/javah" 1sudo update-alternatives --install "/usr/bin/javap" "javap" "/usr/lib/jvm/jdk1.6.0_45/bin/javap" 1sudo update-alternatives --install "/usr/bin/javadoc" "javadoc" "/usr/lib/jvm/jdk1.6.0_45/bin/javadoc" 1sudo update-alternatives --install "/usr/bin/jar" "jar" "/usr/lib/jvm/jdk1.6.0_45/bin/jar" 1//Select your default Java installation & Inform Ubuntusudo update-alternatives --config javasudo update-alternatives --config javacsudo update-alternatives --config javahsudo update-alternatives --config javapsudo update-alternatives --config javadocsudo update-alternatives --config jar

2014/05/05

用rsync同步, 將A取代B

指令介紹:
想要將A的更新部分,取代B裡舊有的檔案
略過目錄為.git (exclude)

rsync -rilcogp --exclude=".git" forder_A forder_B

首先看一下Linux裡面的說明:

root@ubuntu:~/# rsync --helprsync  version 3.0.9  protocol version 30Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.Web site: http://rsync.samba.org/Capabilities:    64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,    append, ACLs, xattrs, iconv, symtimesrsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and youare welcome to redistribute it under certain conditions.  See the GNUGeneral Public Licence for details.rsync is a file transfer program capable of efficient remote updatevia a fast differencing algorithm.Usage: rsync [OPTION]... SRC [SRC]... DEST  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST  or   rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST  or   rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST  or   rsync [OPTION]... [USER@]HOST:SRC [DEST]  or   rsync [OPTION]... [USER@]HOST::SRC [DEST]  or   rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]The ':' usages connect via remote shell, while '::' & 'rsync://' usages connectto an rsync daemon, and require SRC or DEST to start with a module name.Options -v, --verbose               increase verbosity -q, --quiet                 suppress non-error messages     --no-motd               suppress daemon-mode MOTD (see manpage caveat) -c, --checksum              skip based on checksum, not mod-time & size -a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)     --no-OPTION             turn off an implied OPTION (e.g. --no-D) -r, --recursive             recurse into directories -R, --relative              use relative path names     --no-implied-dirs       don't send implied dirs with --relative -b, --backup                make backups (see --suffix & --backup-dir)     --backup-dir=DIR        make backups into hierarchy based in DIR     --suffix=SUFFIX         set backup suffix (default ~ w/o --backup-dir) -u, --update                skip files that are newer on the receiver     --inplace               update destination files in-place (SEE MAN PAGE)     --append                append data onto shorter files     --append-verify         like --append, but with old data in file checksum -d, --dirs                  transfer directories without recursing -l, --links                 copy symlinks as symlinks -L, --copy-links            transform symlink into referent file/dir     --copy-unsafe-links     only "unsafe" symlinks are transformed     --safe-links            ignore symlinks that point outside the source tree -k, --copy-dirlinks         transform symlink to a dir into referent dir -K, --keep-dirlinks         treat symlinked dir on receiver as dir -H, --hard-links            preserve hard links -p, --perms                 preserve permissions -E, --executability         preserve the file's executability     --chmod=CHMOD           affect file and/or directory permissions -A, --acls                  preserve ACLs (implies --perms) -X, --xattrs                preserve extended attributes -o, --owner                 preserve owner (super-user only) -g, --group                 preserve group     --devices               preserve device files (super-user only)     --specials              preserve special files -D                          same as --devices --specials -t, --times                 preserve modification times -O, --omit-dir-times        omit directories from --times     --super                 receiver attempts super-user activities     --fake-super            store/recover privileged attrs using xattrs -S, --sparse                handle sparse files efficiently -n, --dry-run               perform a trial run with no changes made -W, --whole-file            copy files whole (without delta-xfer algorithm) -x, --one-file-system       don't cross filesystem boundaries -B, --block-size=SIZE       force a fixed checksum block-size -e, --rsh=COMMAND           specify the remote shell to use     --rsync-path=PROGRAM    specify the rsync to run on the remote machine     --existing              skip creating new files on receiver     --ignore-existing       skip updating files that already exist on receiver     --remove-source-files   sender removes synchronized files (non-dirs)     --del                   an alias for --delete-during     --delete                delete extraneous files from destination dirs     --delete-before         receiver deletes before transfer, not during     --delete-during         receiver deletes during the transfer     --delete-delay          find deletions during, delete after     --delete-after          receiver deletes after transfer, not during     --delete-excluded       also delete excluded files from destination dirs     --ignore-errors         delete even if there are I/O errors     --force                 force deletion of directories even if not empty     --max-delete=NUM        don't delete more than NUM files     --max-size=SIZE         don't transfer any file larger than SIZE     --min-size=SIZE         don't transfer any file smaller than SIZE     --partial               keep partially transferred files     --partial-dir=DIR       put a partially transferred file into DIR     --delay-updates         put all updated files into place at transfer's end -m, --prune-empty-dirs      prune empty directory chains from the file-list     --numeric-ids           don't map uid/gid values by user/group name     --timeout=SECONDS       set I/O timeout in seconds     --contimeout=SECONDS    set daemon connection timeout in seconds -I, --ignore-times          don't skip files that match in size and mod-time     --size-only             skip files that match in size     --modify-window=NUM     compare mod-times with reduced accuracy -T, --temp-dir=DIR          create temporary files in directory DIR -y, --fuzzy                 find similar file for basis if no dest file     --compare-dest=DIR      also compare destination files relative to DIR     --copy-dest=DIR         ... and include copies of unchanged files     --link-dest=DIR         hardlink to files in DIR when unchanged -z, --compress              compress file data during the transfer     --compress-level=NUM    explicitly set compression level     --skip-compress=LIST    skip compressing files with a suffix in LIST -C, --cvs-exclude           auto-ignore files the same way CVS does -f, --filter=RULE           add a file-filtering RULE -F                          same as --filter='dir-merge /.rsync-filter'                             repeated: --filter='- .rsync-filter'     --exclude=PATTERN       exclude files matching PATTERN     --exclude-from=FILE     read exclude patterns from FILE     --include=PATTERN       don't exclude files matching PATTERN     --include-from=FILE     read include patterns from FILE     --files-from=FILE       read list of source-file names from FILE -0, --from0                 all *-from/filter files are delimited by 0s -s, --protect-args          no space-splitting; only wildcard special-chars     --address=ADDRESS       bind address for outgoing socket to daemon     --port=PORT             specify double-colon alternate port number     --sockopts=OPTIONS      specify custom TCP options     --blocking-io           use blocking I/O for the remote shell     --stats                 give some file-transfer stats -8, --8-bit-output          leave high-bit chars unescaped in output -h, --human-readable        output numbers in a human-readable format     --progress              show progress during transfer -P                          same as --partial --progress -i, --itemize-changes       output a change-summary for all updates     --out-format=FORMAT     output updates using the specified FORMAT     --log-file=FILE         log what we're doing to the specified FILE     --log-file-format=FMT   log updates using the specified FMT     --password-file=FILE    read daemon-access password from FILE     --list-only             list the files instead of copying them     --bwlimit=KBPS          limit I/O bandwidth; KBytes per second     --write-batch=FILE      write a batched update to FILE     --only-write-batch=FILE like --write-batch but w/o updating destination     --read-batch=FILE       read a batched update from FILE     --protocol=NUM          force an older protocol version to be used     --iconv=CONVERT_SPEC    request charset conversion of filenames -4, --ipv4                  prefer IPv4 -6, --ipv6                  prefer IPv6     --version               print version number(-h) --help                  show this help (-h is --help only if used alone)

2014/05/04

Wordpress: 如何在首頁顯示某一分類的文章, 又不影響原本近期文章, 且文章排 序也可以依照修改更新時間排!

參考了WordPress函数:query_posts(查询文章),
以及WordPress函数query_posts用法汇总, 他們說得很清楚

    // 新增程式碼開始      //這地方618為文章分類ID, 這個要自己查 (後臺編輯分類時,看網址ID)      //showposts為要顯示幾個, category__in為分類ID, modified表示依照修改更新時間排序       < ?php query_posts('category__in=618&showposts=2&orderby=modified'); ? >       //這部分就根據index.php裡面怎麼寫, 就自己複製一份來改      < ?php if ( have_posts() ) : ? >			< ?php while ( have_posts() ) : the_post(); ? >			xxxxxxxxxxx		< ?php endwhile; ? >      < ?php endif; ?>      // 重置查询      < ?php wp_reset_query();  ? >   //  新增程式結束

順道一提, 文章排序也可以依照修改更新時間排! 請看這篇文章