星期二, 7月 27, 2010

NAND and NOR ROM

NOR: Faster to read, slower to write, XIP(execute in place)
NAND: Slower to read, faster to write.
原文參考:
http://blogs.msdn.com/b/windowsmobile/archive/2005/08/19/453784.aspx

WM6 != CE6

Windows Mobile 6的CE kernel版本是5.02
WM5則是CE5.01

CE5以前的OS版本,
最多支援32個processes,
同時最大的runtime memory為32mb.
CE6則最多有32k個processes,
2gb的vm空間.

原文參考:
http://blogs.msdn.com/b/ce_base/archive/2007/02/14/windows-mobile-6-and-the-ce-os.aspx
http://blogs.msdn.com/b/mikehall/archive/2007/01/17/windows-mobile-and-windows-embedded-ce-what-s-the-difference.aspx

VS2005 debugging在 Windows Mobile release版程式行數對不準的原因.

之前用VS2005 run debug mode要deug某支release版AP時,
會發生單步執行時,單行code的內容跟所執行的不太一致,
比如code執行到return或是function結尾,
程式卻繼續往下跑.

隨興看到這篇,
問題發生的原因可能是Optimization,
摘要重點如下,

Optimization can affect:
    *Local variables, which can be removed by the optimizer or moved to locations the debugger does not understand.
    *Positions inside a function, which are changed when the optimizer merges blocks of code.
    *Function names for frames on the call stack, which may be wrong if the optimizer merges two functions.

參考資料:
http://msdn.microsoft.com/en-us/library/606cbtzs%28v=VS.80%29.aspx

Windows Mobile的變數動態初始化(Dynamic Initialization of variables)

閒來無事讀了篇文章,
講有關變數初初始化,
內容還不錯..

#include

int alpha(void)
{
    return 20;
}

int i = alpha(); //dynamic intialization

int main()
{
    printf("i = %d",i);
    return i;
}


i是一個glocal變數,其初始值是由一個function提供的,
經過測試得到結果為0,
而非預期的20.
原因是系統直接由main(entry point) call進來,
並未真正有機會去呼叫其他初始化的function,
必須改由CRT系列的entry point,
main對應的就是mainCRTStartup,
詳細table可參閱原文.

原文參考:
http://blogs.msdn.com/b/ce_base/archive/2008/06/02/dynamic-initialization-of-variables.aspx

星期五, 6月 11, 2010

如何移除新倉頡、新注音

網路找來的方法,試過是有用的,有相同困擾的人不妨試試...
(以下資料轉載而來,若有冒犯,請通知我移除)

------------------------------------------------------------

如果你有新倉頡、新注音無法移除掉的困擾,
也就是在【文字服務和輸入語言】內已經把新倉頡、新注音給移除了,
但是當按 Ctrl + Shift 去切換輸入法時新倉頡、新注音卻還是會跑出來,
你可以試試以下方法應該可以解決你的問題

先將以下內容貼至筆記本然後改名為 remove.reg
-----------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"CJIMETIPSYNC"=-
------------------------------------------------------------

然後依如下步驟來解決新倉頡、新注音無法移除掉的困擾

  • 至【文字服務和輸入語言】新增新倉頡或新注音 輸入法
  • 點選剛才建立的 remove.reg 機碼檔案匯入
  • 至【文字服務和輸入 語言】移除新倉頡或新注音輸入法
  • 完成後重開機再按 Ctrl + Shift 去切換輸入法時應該就不會看到新倉頡或新注音輸入法了

參考連結:
http://autoit.tw/bbs/redirect.php?tid=6044&goto=lastpost

星期五, 6月 04, 2010

Device Emulator Manager unable to cradle

[問題描述]
在device emulator manager用connect將某個emulator開起來後,
對他做cradle完成,
ActiveSync沒有反應,無法連線.

[解決方法]
在對工作列上的ActiveSync選 Connection Settings,
勾選Allow connections to one of the following:
選擇DMA,按ok完成.

重試cradle即可.

解決 Windows Live Communications Platform 發生問題

登入後不久就出現"Windows Live Communications Platform 發生問題"
然後被強制登出,重覆登入仍舊一樣.

解法:
1. Close MSN
2. Delete C:\ Program Files \ Windows Live \ Contacts \ wldlog.dll
3. 再重新啟動 MSN

參考資料
http://www.wretch.cc/blog/minoracter/24426060