2009年3月27日 星期五

Embedded Project & Library & Utility

在Embedded 業界生存 最好備有一套常用且千錘百鍊的程式庫、工具組
或者常用的功能 Project

0. Make toolchain
以下列出目標
(要能在 Windows XP, WINCE, Linux 及各種CPU X86 ARM MIPS 跑及各種 Compiler GCC, MSC 上編譯)

Application Application Application !!! Keep in mind.

1. I2C, NAND, Serial Port Library
2. USB Project
3. Image Codec 如 TIFF, JPEG, PNG, BMP Library
4. Video Codec MPEG2, H.264, WMV
5. Audio Codec MP3 AAC
6. 網路 NDIS RNDIS
7. Keyboard Mouse ( Keyboard Language Setting)
8. Touch Panel
9. Language (I18n) Issue
10. Stream Media
11. TV encoder
12. 圖形界面 UI Qt, MFC, .NET CF, Gtk+, Cairo, Android(Skia)
13. Python
14. CMake, gnu make, ...
15. Visual Studio Addin
16. Fasten Development time, CrossPlatform Debugging, Download image
17. Bug report, source control (Bugzila, SVN, CVS, SourceSafe, Git)
18. Memory leak detection ( Problem solving )
19. UI using FLASH Silverlight
20. Boot Loader U-boot EBoot Autoboot Yamon
21. Write to NAND by JTAG







需要Fast Prototype 的能力

Full Project
1. DVB STB
2. Monitor System
3. WebCam
4. DVR Digital Video Recorder


Business
1. Application -- 從製造開發板開始
Digital Video Recorder


2. + SDK (Env + Software )



Project to do list!

WINCE Flash (or Gnash WINCE ver)

2009年3月26日 星期四

FMD FAL FSD

Writing to NAND 最好 use fmd (FLASH Media Driver)
FMD 可以和 FAL Link 成一個 Block driver
You can link the FMD with the flash abstraction layer (FAL) to create a block driver that a file system such as FAT can use.


FMD Interface ( FMD_Init, FMD_Read ... )
+
FAL ( FLASH Abstraction Layer, DSK_Init, DSK_Read ... )
+
FSD ( File System Driver, FSD_MountDisk, FSD_UnmountDisk, FSD_HookVolume, FSD_UnhookVolume )

FAL 的Source Code 在 WINCE 6.0中才有
\PRIVATE\WINCEOS\DRIVERS\MSFLASH\SRC

FAL 的下層好像是 FSD, FAL是做一些 Wear Leveling 的處理
讓FMD和FSD接軌

安裝 IE8 會導致 Visual Studio 2005 2008 無法Create Smart Device Project

Fuxx, 裝完 IE8 會讓Visual Studio 2005 2008 無法 New Smart Device Project

(更新)
Microsoft 有ps 解決方法了
http://blogs.msdn.com/vcblog/archive/2009/03/28/some-vs2005-and-vs2008-wizards-pop-up-script-error.aspx


要修改registry, 摘要如下

Please follow the following steps:

- Open regedit (on a 64-bit OS, open the 32-bit regedit)

- Under “HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
Settings\Zones”, create a new key called 1000 (if it isn't already there)

- Under 1000, create a DWORD entry with:

o Name = 1207

o Type = REG_DWORD

o Data = 0x000000

For the workaround to work on VS2005 however, the VS2005 SP1 (and VS2005 SP1 Update for Windows Vista) has to be installed.

2009年3月25日 星期三

WOW Rogue Thinking

1. Max DPS = Max General attack + Max Skill attack
2. Skill Damage = DPE * Energy Generated


Multitate
I. 避免3星毒化 (4 或 5星才毒化)
II. 100% 割裂 coverage
III. 毒化持續時間內用掉最多截肢

2009年3月18日 星期三

PAL NTSC 詳解和 Focus的設定












PAL 864x625x50Hz = 27,000,000
NTSC 858x525x59.94 ~= 27,000,000


PAL-M (a broadcast standard) however should not be confused with "PAL-60" (a video playback system )

跟PAL-M不一樣, PAL-60 是一種 Video Playback System 而不是一廣播標準
由上圖可知 PAL 的 chrominance subcarrier 為4.43MHz
( 正確值是 4.43361875 MHz ) (NTSC是3.579545 MHz)
在focus 453的 PAL register 設定
CHR_FREQ default 0xCB8A092A
27MHz x 0xCB8A092A / 2^32 = 4.4336187487933
得證


HNDP1 是在 Sync Pulse 的後面 ( Back porch )
HNDP2 是在 Active Area的後面 (H-pulse delay, Front Porch)

而VNDP剛好相反
VNDP1 在 Vertical Sync Pulse 前面, Active Area 的後面
VNDP2 在 Vertical Sync Pulse 後面

Back porch refers to the portion in each scan line of a video signal between the end (rising edge) of the horizontal sync pulse and the start of active video. It is used to restore the black level reference in analog video.

In television broadcasting, the front porch is a brief (about 1.5 microsecond) period inserted between the end of each transmitted line of picture and the leading edge of the next line sync pulse. Its purpose was to allow voltage levels to stabilise in older televisions, preventing interference between picture lines.


在 Focus 453, High Resolution 時 MISC register 的 UIM_DEC bit要設成1, 會先把horizontal line
prescale 一半。

要使用Downscaler 時, 注意 Bypass register CAC_Bypass 和 HDS_Bypass 要設定0

2009年3月11日 星期三

To do list

1. Compile GNASH (0.8.5) in Windows & Evaluate performance
2. Compile GNASH WINCE MIPS version.

2009年3月5日 星期四

查找 nk.bin 裡的檔案

viewbin -o nk.bin | findstr /i "elo".