新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 程序移植中的常見問題總結

        程序移植中的常見問題總結

        作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏
        現(xiàn)象:

        芯片驅動正常,功能應用單獨實現(xiàn)也沒有任何問題。但是將其移植到主程序中出現(xiàn)了時鐘顯示停止、觸屏失效、參數(shù)顯示出現(xiàn)問題的現(xiàn)象。

        原因:
        在芯片驅動程序的開發(fā)中,忽略了一個問題。那就是該芯片引腳占用的IO資源在初始化的時候不應該改變其他引腳的正常功能工作。初始化芯片時人為的改變了其余功能引腳的作用。將其功能復用功能人為了改成了輸出引腳。只關注了該芯片正常工作時的IO引腳,忽略了其余各IO口的復用狀態(tài)。后逐條分析查看原主程序中 IO的初始化操作,逐口比對發(fā)現(xiàn)了該問題。

        解決方案:
        重新對接口進行初始化,保留其余引腳的功能復用作用。

        總結:
        工作要細致,不要犯想當然的毛病。出現(xiàn)問題后要冷靜,咬人是不對的,呵呵。。。

        本文引用地址:http://www.104case.com/article/201612/324469.htm

        一、關于延時

        芯片時序要求非常嚴格,最基本的時間單位一定要非常精確,精確到微秒級。這是進行后續(xù)工作的基礎。因為C語言來編程,不是很好控制延時的長短。故采用測試的方法進行,為了最大可能的減小誤差,采用延長測試時間的方式進行。其基本思想是延時一定時間后,將其時間在屏幕上打印出來,并分析各兩次時間的間隔和具體延時參數(shù)之間的關系。例如:當延時參數(shù)為60000000時,各兩次時間間隔是否小于1分鐘。【備注:60000000us=1min】

        二、對芯片的讀寫操作驗證

        進行芯片自我驗證,向芯片暫存器的固定字節(jié)寫入數(shù)據(jù),然后一個字節(jié)一個字節(jié)讀出來,比對寫入和讀出的數(shù)據(jù)是否一樣。

        三、非易失操作的必要性

        RAM數(shù)據(jù)暫存器用于內(nèi)部計算和數(shù)據(jù)的存取,數(shù)據(jù)在掉電后丟失。為長期保存需要保存的數(shù)據(jù)信息,需要將相關數(shù)據(jù)信息由暫存器拷貝到EEPROM中。
        上電復位后,芯片自動將EEPROM中相關字節(jié)拷貝到RAM中。

        四、非必需操作的必要性

        芯片讀取操作,首先讀取數(shù)據(jù)的低8位,再讀取數(shù)據(jù)的高8位。無論是低8位還是高8位,都是從最低位一位一位的讀。即使低位是不需要的字節(jié)也要讀出來,這叫規(guī)則。



        關鍵詞: 程序移植芯片驅

        評論


        技術專區(qū)

        關閉
        主站蜘蛛池模板: 确山县| 榆社县| 德江县| 靖安县| 清水县| 南开区| 民乐县| 青铜峡市| 扎囊县| 新闻| 青铜峡市| 女性| 鹤山市| 栾城县| 沅江市| 丰县| 桓台县| 连云港市| 鹤岗市| 甘南县| 汶川县| 青冈县| 南华县| 巨野县| 杭州市| 云龙县| 凤翔县| 任丘市| 巴南区| 襄汾县| 泽州县| 乐都县| 冷水江市| 博白县| 嘉义市| 梧州市| 廊坊市| 阳东县| 绥芬河市| 都匀市| 石台县|