好久沒來寫工作日誌了啊~~~ 因為太忙忙到沒時間寫 ^___^;;

目前手上同時進行著三個案子, 然而幾乎都要在七月之前交差(雖然時間規劃一定會改, 但是我們要有一定能做完的夢想咩~~~). 前一個禮拜一直和一個已經困擾我快一年的bug作戰, 好不容易終於在前天解決. 一解決寫那寫顆DSP程式的隱憂, 現在身心輕鬆更敢大寫特寫了~~  好吧, 雖然真的很GEEK, 但是我描述一下以提醒後來的我不要再犯好了...

就是寫DSP或uC的時候, 有個東西叫DP(Data Page Pointer), 顧名思義是用來當做當下Data Page的指位器. 一般來說, CPU內部的RAM會切割成許多page, 如此在程式進行時, 當需要Direct Acess某一位址的資料, 抓取位址就不需要整個位址抓進去, 而這可以簡化CPU處理核心的設計. 常見的page切割約是256 byte一個page, 也就是說只要DP有控制好, 程式執行時CPU要用來fetch資料的位址只要有8 bit的線路即可.  然而對F2811這顆DSP來說, 他的page size只有64 word, 所以當如果程式要讀寫不同page的資料時, DP一定要重新指定. 平常用C寫程式的時候可以不用注意DP, 因為你的編譯器會去辨認是否需要重新指定DP. 但是當撰寫assembly code的時候, 編譯器並不會對你的程式碼做任何的改變以及程序邏輯上的偵錯, 於是你只要忘了重新指定DP, 就會發生你明明要叫X=0, 結果卻是八竿子打不著的Y變成了0. 我承認我用assembly寫的module都忘了DP這回事了, 因為那本700頁的CPU&Instruction manual, 看過就忘的比例實在不低哪... 解決了這個問題後, 我釋出了該案子在進入fine-tune前的最終版本, 接下來就是等硬體敲定, 我就會有幾天沒日沒夜調參數的日子了.. ^__^;;

另一個案子正在寫code的階段. 一部分和外部晶片的driver寫好了, 雖然完全沒硬體我只能看示波器做著一次try out就會動的美夢. 除了driver, application的code也正在進行, 不過完成度並不高, 這也是我最近最頭大的部分. 然後剛剛看老闆更改了案子的時間規劃, Product release雖然很合理的延後到七月底, 但是Prototype Ready居然還是5/28是怎樣... 版子連洗都還沒洗出來, 軟體放上去也得花快一個月的時間改, 阿現在我是怎麼ready啦!?~~~ ready to 撞牆還差不多... @_@"

第三個案子還在草案階段, 雖然原本預定的Product release也是在七月, 不過看team leader最近退燒的情形, 估計還會再延吧~~ 哈哈...希望對我來說是好事... 

以上報告!

arrow
arrow
    全站熱搜

    強尼 發表在 痞客邦 留言(0) 人氣()