10.30.2006

worklog of last week

  • 想要rebuild device.exe,卻不行,開始trace nk.exe,找load device.exe的地方。
  • 在nk.exe中加入debug message,rebuild。
  • document說只有debug version 可以rebuild private folder codes。try building debug version。
  • debug version ROM太大,要enable > 64M image。
  • debug version boot speed too slow,而且不會output debug message。
  • 換回release version,nk.exe build ok (跟document 不合),會output debug message。
  • try tiny-kernel ,成功run tktest.exe...
  • 修改tktest 再build後就fail了,tktest.exe prefetch abort。
  • 開始try 各種configuration (item),設法找到fail 的原因。
  • 上QFE。build on another machine。
  • from a minimum configuration, add necessary item - TKTEST prefetch abort.
  • 以為是item沒有選對,所以一個一個try。結果不是item的原因,是...一定要先加一些奇怪的item,build fail後再移除才可以。但是再sysgen一次(沒有修改任何configuration)就fail。
  • enable KERNEL_MONITOR Thread,發現雖然tktest.exe abort,但是kernel依然是ok (kernel monitor thread ok)。所以決定用kernel monitor thread來作on/off process。
  • Trace power off process - power button trigger (timer) call to kernel - oal - off,找到power off 的kernel function。
  • kernel monitor thread 用sleep( )來auto off 是OK的。加入powerbutton oal,修改掉compile error (unresolved external)後,也可以用power button ON。
  • 在monitor thread加入polling power button .. access peripherial register - mapping ok, read 就會exception。
  • Virtual/Physical Translation在UserMode和KernelMode不一樣,Kernel Mode要用VALPAtoPA。
  • 開機後馬上進入PowerOff - 加入putton release check。
  • 發現 NB的building speed竟然是PC的4倍。
花這麼多時間,都是在find building process,source code (not disclosed),image上。跟真正的trace code沒有關係。
<-- 都是花在none-open source 上的effort。

沒有留言: