Wednesday, December 31, 2008

Eclipse adds embedded device projects

http://www.linuxdevices.com/news/NS3129544707.html

Apr. 14, 2008


The open-source Eclipse Foundation announced four initiatives that address embedded and mobile device development. The new Device Software Development Project (DSDP) initiatives include a framework for communications among debugging and monitoring devices, and a Texas Instruments (TI)-sponsored project devoted to creating and configuring C/C++ tools for "highly constrained" devices.

In brief, the four new initiatives include:
  • Real-time System Components (RTSC) -- This TI-led project will create a programming model and Eclipse tools for developing and configuring C and C++ applications for highly constrained devices such as digital signal processors (DSPs) and microcontrollers (more info below).

  • Target Communications Framework (TCF) -- The TCF is a lightweight extensible communications protocol for communications between devices and development tools, including debugging, monitoring, analysis, and test tools (more below).

  • Device Debugging (DD) -- Release 1.0 will be made available as part of the Ganymede release in June, says the Eclipse Foundation. The project defines an extensible Debugger Services Framework (DSF) for enabling commercial tool vendors to build debugger integrations in Eclipse. The 1.0 release adds a reference implementation that supports the GDB debug engine.

    Wind River's Doug Gaff, who leads the DSDP's project management committee, observed, "We needed a customized debugger implementation to deal with multicore, hardware-software agent connections, and so on. Wind River has adopted it commercially already, and it's starting to get community pickup as well."

  • Target Management (TM) with support for Windows Embedded (formerly Windows CE) -- The ETM project will add support for Windows Embedded (formerly Windows CE, enabling developers to remotely edit, update, and delete files directly on remote devices or development targets. Gaff explained that the project came about because, "We had a contributor who has to use Windows CE in a remote system, and needed the capability to manipulate it."

    TM for CE aims to let developers mount, browse, edit, and sync remote filesystems as if they were local. It uses Windows's filesystem interface, and so is filesystem agnostic.

    Gaff proudly notes, "Microsoft's tools only allow read-only access [to remote filesystems], so you have to manually re-upload during edit, compile, debug. We have something that's better, and that's kind of exciting."

    Gaff noted that TM does not yet support remotely debugging CE systems, however. For that, developers still have to use Cygwin or the WinCW emulator. However, Microsoft has published its debug services API, he adds, so there's no technical obstacle to adding remote debug support. "You can download the APIs from Microsoft. Someone just needs to do the work."

    Asked whether Microsoft might be interested in contributing that work, Gaff replied, "Actually, my preference would be for Microsoft to show up to the Eclipse Project."

    He quickly added, "That's a bit tongue-in-cheek. But Microsoft is taking steps in the right direction. Sam Ramji, who directs the Open Source Lab at Microsoft, spoke at EclipseCon. And they are involved in SWT (standard widget set). So, they are engaging directly with Eclipse now on a couple of areas where there's clear opportunity with open source."
DSDP background

The four highlighted projects are all part of the Eclipse Device Software Development Platform (DSDP) Project. Founded in 2005, the DSDP was spearheaded by Wind River, and now boasts seven sub-projects, with an eighth EDA-related project also proposed. Three projects are led by Wind River employees. One, the Eclipse C/C++ Development Tooling (CDT) Project, has been downloaded over a million times in the last year, the Foundation claims.

The sub-projects are aimed at creating plugins for the modular, open-source, Eclipse IDE (integrated development environment). The IDE has been widely adopted by embedded tools vendors, in part because it runs on Linux, Windows, Solaris, and Macintosh development hosts, saving vendors the trouble of maintaining their tools on multiple platforms.

The next milestone for the Eclipse Foundation is the yearly coordinated code release in June. Based on version 3.4 of the Eclipse Framework, and code-named "Ganymede," the coordinated release is a kind of snapshot that allows tool and application vendors to evaluate available project software as a single, more or less pre-integrated collection, albeit one mixing mature and pre-1.0 code.

The previous major release of DSDP project software took place last June, with the 21-project Europa release, which comprised 17 million lines of code. Previous to that, the DSDP was represented by a more modest release in November 2006, when 1.0 versions of the Target Management and Embedded Rich Client Platform plugins launched, alongside a release of the Mobile Tools for Java plugin.

The new projects: RTSC and TCF

The RTSC project is intended to generate a new Eclipse development model and tools for C/C++ embedded real-time software components for DSPs and 16-bit microcontrollers. The project is led by Dave Russo, TI's CTO of target software infrastructure.

Russo explains, "In 25 words or less, we're defining a C-based component model, and providing a set of supporting tools for developing, delivering, and deploying real-time software for a diverse set of platforms, from 16-bit MCUs like the MSP430 and Intel 8051 to traditional DSPs."

Russo adds, "On these resource constrained processors, most people still write in C. But we'd like to have the benefits of 'component-ization' that the Java community enjoys. Write-once-deploy in many places, for example, where one group defines an interface, another implements it, and another uses it. It's aimed at allowing C to scale the way Java has been able to scale -- like with the Eclipse project, for example."

In addition to contributing RTSC to the Eclipse project, TI has actually adopted the Eclipse framework for the newest version 4 releases of Code Composer Studio, Russo notes. He adds that RTSC is based on extremely mature technology that has been used by TI internally for many years. "We started developing it in 2000, and have fielded a number of embedded products that use it. For example, DSP BIOS, that's an RTSC component."

TI hopes RTSC will see adoption by other tools vendors, and component makers such as codec suppliers, so as to start a "feedback cycle." And, he adds, "Now that it's open in Eclipse, we've had some discussion with Freescale. We're also hoping for adoption by tools vendors and components vendors."

RTSC will require little or no pre-deployed infrastructure, as would a Java runtime, says the group. Aside from a component's C/C++ runtime, all that is needed for each component is JavaScript code that runs in both the component's development environment during application assembly, as well as in rich client platforms for execution monitoring.

Eclipse-based tools will specify components using an ANTLR-based IDL, then implement the components using both C/C++ and JavaScript. The JavaScript is part of a component that runs on top of Rhino, enabling the component to actively participate in all stages of its lifecycle, from assembly to real-time monitoring.

RTSC components can leverage "traditional" Java-based component environments as well as "satisfying the resource constraints of its embedded C/C++ element running within the embedded device," says the group. This "dual existence," spanning assembly and rich-client implementations, should enable integration with the following projects:
  • CDT
  • TPTP (Test Performance and Tools Platform Project)
  • SODA (Service Oriented Device Architecture), for the Device Kit portion of the project
  • COSMOS (Community-driven Systems Management in Open Source) monitoring and data collection components
  • EMF (Eclipse Modeling Framework), enabling UML tools to specify components that generate resource-efficient RTSC components
In a statement, Russo said, "By open-sourcing RTSC technology under the Eclipse Public License, we are moving to standardize the way embedded C content is specified, packaged and integrated so that producers and consumers of this content can more easily supply, assemble, and reuse components to create integrated application solutions.�

Target Communications Framework (TCF)

The lofty goal of the TCF project, which is led by Wind River, Freescale, and Power.org, is to be the "Eclipse 'Explorer of the Network Neighborhood,'" offering "pluggable information providers under a single, consistent UI," says the group. The idea is to enable developers to use the lightweight protocol to interactively discover, drill down, and analyze remote systems.

The protocol is designed to work with a variety of debugging, monitoring, analysis, and test tools, including target agents, JTAG probes, and target simulators. The intent is to streamline testing and development of heterogeneous, multiple-vendor device configurations such as are commonly found with multicore and system-on-a chip (SoC) processors.

The TCF toolkit includes a core Remote System Explorer (RSE) framework that is said to integrate heterogeneous remote resources via pluggable subsystems. The toolkit also includes a "Remote Files" subsystem that enables transparent operation on remote computers, as well as a shell and a processes subsystem. The toolkit also provides a lightweight terminal and a "Network Discovery" framework.

Stated Steve Furr, Freescale Semiconductor, "As the embedded industry moves to ever more complex SoC's, including the extensive use of multiple symmetric cores, getting all of the various tools required to do effective development connected to the appropriate data collection mechanisms is the next big issue that needs to be addressed. TCF is a great way for the community to work together to solve this problem."

All four projects will be demonstrated by the Foundation at the Embedded Systems Conference in San Jose this week.

Monday, December 29, 2008

Linux 驅動程式的中斷處理

Linux 驅動程式的中斷處理: 1 request_irq 基本觀念
http://www.jollen.org/blog/2008/03/interrupt_handling_1.html

Linux 驅動程式的中斷處理, #2: 深入淺出中斷模式
http://www.jollen.org/blog/2008/03/interrupt_handling_semaphore.html

Linux 驅動程式的中斷處理, #3: Bottom Half 的觀念
http://www.jollen.org/blog/2008/03/interrupt_handling_bottom_half.html

Tuesday, December 23, 2008

When 'V' meets 'W' ...

When 'V' meets 'W' ...
http://zangyp.blogspot.com/

By 'V' and 'W', I am not talking about "Volkswagen" ;-P , but I mean "vehicles" and "wireless", or to say when the automotive insustry meets the wireless industry...

Monday, December 08, 2008

冬戀大雪山林

看起來view不錯的樣子
列入景點

冬戀大雪山林 站上環繞365度視覺空間
更新日期:2008/12/07 01:26 羅惠文

【大台灣旅遊網TTNews記者羅惠文】

台中縣大雪山林是許多喜愛山林人士的登山旅遊勝地,登上大雪山林,一年四季萬化的美景盡收眼底,讓人難忘。

  擁有居高臨下地理優勢的彩雲居,位於海拔約一公尺高的至高點,坐擁山間、優美絕佳的視覺,365度的感受台灣雲瀑、雲海的壯闊之美,這令人感動山河與壯闊,離不開視覺的景緻,還有從晨曦到日出、午後、夕陽餘暉到夜晚,一幕又一幕的唯美畫作。

  彩雲居除了擁有絕佳位置之外,登高望遠的當下,還可以遠望大甲溪、大安溪,台中港、大度山脈、往北的苗栗卓蘭,享受這山林悠悠之美,入住這飽覽自然景緻的住宿環境裡。(圖/彩雲居觀景民宿提供)

大雪山民宿‧彩雲居觀景民宿:http://0425971275.travel-web.com.tw/

東勢石岡之旅:http://423.travel-web.com.tw/

Saturday, December 06, 2008

神說,當你笑了,全世界都會跟著笑

上帝說,當你笑了,全世界都會跟著笑,原來快樂跟病毒一樣也有傳染力!美國研究發現,如果身邊的人常保著快樂的情緒,那麼身邊的人也就會快樂起來,認識快樂的人越多,自己跟著快樂的機率也就越高,想要快樂其實很簡單。

美國哈佛大學與 加州大學聖地牙哥分校,以20年的時間持續追蹤5千多位成年人,結果發現只要身邊的人快樂,自己也會跟著感到快樂。研究結果顯示,如果另一半快樂,自己有 8%的機率也會跟著快樂,而如果朋友快樂,自己則有9%的機會也會變快樂,至於想要在最短時間內獲得快樂,那找個快樂的鄰居威力最強,快樂上身的機率高達 34%。

既然快樂會傳染,那不開心的情緒當然也會影響到身邊的人,經濟不景氣,想要擺脫憂鬱,簡單的嘴角上揚,自己快樂還能造福他人,作一個健康的「快樂帶原者」。(新聞來源:東森新聞記者羅紜辰)

Wednesday, December 03, 2008

2008.11.29嘉義-布袋



生態走廊石碑正被這觀光魚筏看版綁的喘不過氣來。

(過於頻繁的經濟活動,壓縮了自然生態的空間。)


這對母女,正捕捉著被夕陽染紅的大海,而我的快門正記錄著這暖暖的幸福


暈開了醉人的昏黃 一如妳初妝
PS詩嘛~總是會加些擬人的用法...so寫者無意,而讀者也勿多心


紅色 在霞雲深處被隱去


紫色的初夜,映落在大海洶湧的胸口


天際的霞,微映在徐動的水痕上,卻留住了佇足

Tuesday, December 02, 2008

The mac80211 subsystem for kernel developers

mac80211 is the Linux stack for 802.11 hardware that implements only partial functionality in hard- or firmware. This document defines the interface between mac80211 and low-level hardware drivers.

http://linuxwireless.org/mac80211book/

The Linux Cross Reference

the Linux Cross Reference
http://lxr.linux.no/

Thursday, November 27, 2008

信主帶來新幸福

感謝主,把我們從黑暗權柄中分別出來
才能享受主這豐富並包羅萬有的生命水流
我們是主的恢復 主也是我們的恢復
感謝讚美主
是這樣何等的一位

然而在這達到榮耀的路上總是有許多打岔
就有如主囑咐召會先到海上;但海上常常有逆風和暴浪攪擾一樣。
主也告訴彼得不要做那小信的人,只需單純的信靠主的話,就連大海會敬拜在主的腳下
我讀過馬太福音的這一段時
我有一個想法: 我要讓自己做一個完全信靠主的人
然而這樣卻變的很痛苦,並常常活在絆跌中,
因為只犯了一個錯誤:想要憑自己的力量改變自己成大信的人
感謝主,恩賜給我這樣的看見
現在,我什麼都不做,我只禱告主呼求他的赦免與加多,
主啊~求你將我的信靠不斷的加多,主啊~你更是那末後的亞當賜生命的靈,
求你把屬天生命的水流將我全人浸透,並將我完全的浸入到基督的身體裡
主啊~請取去我的掙扎與抵抗,請在我裡面大大的建造,直到滿了基督滿了你的同在

因主的復活的大能與憐憫,所以生命的亮光一直伴隨在我的心裡
感謝主,恩賜給我這樣的看見
主的光是因我們的信靠而在我們生命裡放彩
當我們否認己,並把自己轉入到靈中,與神靈調和在一起時
那麼主在我們心中的光便如太陽,
如果我們不信靠主時...那麼我們的生命就像那飄忽的燭光,只要一絲微風便要熄滅

主是那世界的光,是那生命的糧
主啊~請賜我永遠的饑渴,接受你那全備的供應,好讓主能豐豐富富的住在我們裡面

====
so...
信主幸福

馬太福音生命讀經 第四十四篇

馬太福音生命讀經

第四十四篇 達到榮耀的路(三)

http://www.life-study1984.org/webdata/read/read.php?no=40-44

這一篇非常的豐富
非常的有享受
主啊~我們都要單純的來信靠你
我們也要接受你生命的醫治~

Friday, October 31, 2008

申命記 第 三十 章19

我今日呼喚天地向你們作證;我將生命與死亡,祝福與咒詛,陳明在你面前,所以你要揀選生命,使你和你的後裔都得存活;

Tuesday, October 28, 2008

巴比倫城的毀滅

巴比倫指那宗教與物質

待續...

The Linux Documentation Project (LDP)

The Linux Documentation Project (LDP)

The Linux Kernel Module Programming Guide
http://tldp.org/LDP/lkmpg/2.6/html/index.html

The Linux Kernel
http://tldp.org/LDP/tlk/tlk.html
Interrupt, PCI, NET

Linux Kernel 2.4 Internals
http://tldp.org/LDP/lki/index.html

打開嵌入式系統操作大門的開放教材

打開嵌入式系統操作大門的開放教材
http://opencsl.openfoundry.org/

Interrupt(中斷)處理機制

Interrupt(中斷)處理機制

□ Interrupt(中斷)處理機制
為了快速處理常見的中斷,OS 給予一個表格,儲存中斷服務函式的進入點,
如果有中斷發生,可以快速查表,找到要服務的函式,此表格稱之為中斷處
理(Interrupt Handler),通常都置於記憶體開始的地方。每個中斷事件會提供
一小段程式去服務此中斷,稱之為中斷服務常式(Interrupt Service Routine;
ISR)。而中斷向量(Interrupt vector)是一個由00H 到FFH 的數字,用來判
斷中斷的種類。
● Interrupt 的種類
I. External Interrupt(外部中斷): CPU 外的週邊元件所引起的。
(I/O Complete Interrupt, I/O Device error)
II. Internal Interrupt(內部中斷):不合法的用法所引起的。
(Debug、Divide-by-zero、overflow)
III. Software Interrupt(軟體中斷):使用者程式在執行時,若需要OS 提供服
務時,會藉由System Call 來呼叫OS 執行對應的service routine,完成服務請求
後,再將結果傳回給使用者程式。

● Interrupt 的處理流程
Setps
1. 暫停目前process 之執行。
2. 保存此process 當時執行狀況。
3. OS 會根據Interrupt ID 查尋Interrupt vector。
4. 取得ISR(Interrupt Service Routine)的起始位址。
5. ISR 執行。
6. ISR 執行完成,回到原先中斷前的執行。

□ I/O 結構
● Synchronous I/O(同步式I/O)
當I/O 啟動時,直到I/O 完成,控制權才交回給使用者程式。
優點:一個時間內最多只有一個I/O 要求,如此當中斷發生時,OS 就
知道是那個Device 引發的中斷。
● Asynchronous I/O(非同步式I/O)
當I/O 啟動後,之即將控制權交回給使用者程式,而不必等待I/O
Complete,如此,在同一段時間內,可以有許多I/O 請求同時發生。
優點:允許並行的I/O 處理。

□ I/O 運作處理方式
● Polling I/O(詢問式I/O)
又稱為Busy-waiting I/O、Program I/O。
其運作處理方式如下

Steps
1. 發出I/O 要求給CPU(OS)
2. CPU 設定I/O commands 給I/O Device controller。
3. I/O Device 運作執行。
4. PA 等待 I/O 完成。
5. PB 取得CPU 執行,但CPU 實際上沒有專屬於PB 執行。
6. CPU 仍不斷地去詢問I/O Device 其交付的I/O 工作完成與否。

缺點
CPU 表面是Busy,但實際上是在等待I/O 完成,花費大量時間在I/O
運作的監督,真正用於process 的執行時間(execution time)不多。

● Interrupt I/O(中斷式I/O)
其運作處理方式如下

Steps
1. 發出I/O 要求給CPU(OS)。
2. CPU 設定I/O commands 給I/O Device controller。
3. I/O Device 運作執行。
4. PA 等待 I/O 完成。
5. PB 取得CPU 執行。
6. 當I/O 運作完成,則I/O 會發出一個「I/O Complete Interrupt」(I/O完成中斷)
通知OS。
7. OS 暫停目前process 的執行。
8. OS根據Interrupt ID 去查詢Interrupt vector,取出對應的ISR(Interrupt
Service Routine)的起始位址。
9. CPU 執行ISR。
10.ISR 執行完畢,OS 通知PA 其I/O 要求完成,將PA 的狀態改成Ready。
11.由CPU 排班挑選process 執行。

Wednesday, October 22, 2008