2012/02/15

Device Driver, firmware, middleware, Software ArchitectureSoftware Framework,

Device Driver
對下控制硬體,對上提供介面,讓上層軟體可藉此和硬體溝通。
舉例:printer driver、display driver。

Firmware
指的是控制硬體的低階軟體。
比起Device Driver,定義其實比較不精確。舉例來說,控制電視的軟體叫Firmware,但其實裡面又可以分AP、Middleware、Driver、RTOS。
舉例:PC的BIOS、控制電視的軟體。

(Embedded) Middleware
存在於上層AP與底層OS之間的軟體或韌體,提供服務給AP使用。
舉例:Remote Procedure Call、Database Access Engine。

Software Architecture
定義系統中的軟體元件,以及元件之間彼此的關連性。

Software Framework
把常用的功能包裝起來,提供給AP使用,讓AP不需要處理其中繁瑣的問題。
舉例:各種Application Framework。

Multimedia Framework
提供多媒體功能的Software Framework。
舉例:Linux GStreamer、Microsoft Windows DirectShow、Java Media Framework。

參考
http://murphymind.blogspot.com/2009/05/firmwaremiddlewaremultimedia-framework.html

2012/02/14

這個wordpress論壇外掛- simple:press

1: 請先上simple:press的網站的下載網頁

http://simple-press.com/download/

 

 

2: 像我是wordpress 3.3.1版, 所以對應下載 simple:press 4.5.1


– 請依照 1. 2. 3. 4 (其中3可以先跳過)
– 1) 下載程式壓縮擋到plugin底下, 再unzip
– 2) 可以下載skin擋到 /wp-content/plugins/simple-press/styles/skins/
– 4) 可以找出繁中版 解壓縮到 /wp-content/plugins/simple-forum/languages/
 

 

2012/02/13

wordpress 好用的圖片切換 pic slider外掛

 

 

給大家關鍵字

1. Meteor Slides

這個介面還滿簡潔的

而且有後台有獨立的控制區域

但不支援外連, 必須使用自己上傳的特色圖片是一個缺點

 

 

 

2. Promotion Slider

我要外連圖片所以使用這款

還不錯, 可以直接設定外連圖的網址

還可以直接設定目標連結網址

 

2012/02/01

android的 low power: LP0 LP1 LP2

下面這個commit就是tegra的Low power概念整合到Linux kernel
後來應該被修改很多次,
其中的註解將lower power狀態說的很清楚

ARM: tegra: Add suspend support
http://nv-tegra.nvidia.com/gitweb/?p=linux-2.6.git;a=commit;h=d9c01b3ce93ce4ab3bff842f726a1924ffdef860

Tegra supports three low power modes that involve powering down the CPU.

LP2 powers down both CPU cores and the GICs, but leaves the core
peripherals, including the memory controller and the legacy
interrupt controller, enabled. The legacy interrupt controller
is used as the wakeup source, and any interrupt can wake the device.
LP2 can be used in idle.

LP1 is the same as LP2, but in addition turns off the memory
controller and puts the DDR memory in self-refresh. Any interrupt
can wake the device. LP1 could be used in idle if no peripherals
are doing DMA.

LP0 turns off everything in the SoC except the RTC and a power
management controller, both of which run off a 32 kHz clock.
The power management controller has 32 wake sources, all other
interrupts can not be used to wake from LP0.

These low power modes power-gate the main CPU complex, requiring a
full processor state save and restore from a reset vector.

Platform-specific data (power good times, PMU capabilities, etc.) must be
specified when registering the suspend operations to ensure that platform
power sequencing restrictions are maintained.

In both LP0 and LP1, SDRAM is placed into self-refresh. in order to safely
perform this transition, the final shutdown procedure responsible for

* turning off the MMU and L1 data cache
* putting memory into self-refresh
* setting the DDR pads to the lowest power state
* and turning off PLLs

is copied into IRAM (at the address TEGRA_IRAM_BASE + SZ_4K) at the
start of the suspend process.

In LP1 mode (like LP2), the CPU is reset and executes the code specified
at the EVP reset vector. Since SDRAM is in self-refresh, this code must
also be located in IRAM, and it must re-enable DRAM before restoring the
full context. In this implementation, it enables the CPU on PLLP, enables
PLLC and PLLM, restores the SCLK burst policy, and jumps to the LP2 reset
vector to restore the rest of the system (MMU, PLLX, coresite, etc.). The
LP2 reset vector is expected to be found in PMC_SCRATCH1, and is
initialized during system-bootup.

In LP0 mode, the core voltage domain is also shutoff. As a result, all
of the volatile state in the core voltage domain (e.g., pinmux registers,
clock registers, etc.) must be saved to memory so that it can be restored
after the system resumes. A limited set of wakeups are available from LP0,
and the correct levels for the wakeups must be programmed into the PMC
wakepad configuration register prior to system shutdown. On resume, the
system resets into the boot ROM,
and the boot ROM restores SDRAM and other
system state using values saved during kernel initialization in the PMC
scratch registers.

Resuming from LP0 requires the boot ROM to supply a signed recovery codeblob
to the kernel;
the kernel expects that the length and address of this blob
is supplied with the lp0_vec= command line argument; if not present, suspend-
to-LP0 will be disabled

For simplicity, the outer cache is shutdown for both LP0 and LP1; it
is possible to optimize the LP1 routine to bypass outer cache shutdown
and restart.

Includes fixes from:
Scott Williams
Aleksandr Frid
Vik Kasivajhula
Bharat Nihalani
James Wylder
Allen Martin