新聞中心

        EEPW首頁 > 光電顯示 > 設(shè)計應(yīng)用 > 一種便攜式電視機(jī)軟件的升級系統(tǒng)

        一種便攜式電視機(jī)軟件的升級系統(tǒng)

        作者:徐遙令 丁國民 創(chuàng)維集團(tuán)研究院 時間:2010-03-15 來源:電子產(chǎn)品世界 收藏

          3.產(chǎn)生INT0中斷時,則啟動I2C接口讀程序I2C_Read將I/O口緩沖寄存器中的數(shù)據(jù)寫入內(nèi)部RAM;如果產(chǎn)生串行中斷,則啟動串行接口讀程序UART_Read,將串行接口寄存器中的數(shù)據(jù)寫入內(nèi)部RAM內(nèi),并清除串口接收中斷標(biāo)志RI,以使下一個數(shù)據(jù)能準(zhǔn)確接收。

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

          4.電腦系統(tǒng)以256字節(jié)作為一個數(shù)據(jù)塊進(jìn)行發(fā)送,每發(fā)送完256字節(jié)后發(fā)送一個累加校驗和進(jìn)行校驗。校驗數(shù)據(jù)有效后,啟動FLASH寫程序SPI_Write,將RAM中的256字節(jié)數(shù)據(jù)寫入FLASH;寫完后向電腦系統(tǒng)發(fā)送響應(yīng)信號“RIGHT”,電腦系統(tǒng)繼續(xù)發(fā)送數(shù)據(jù)。W79E632判斷下一個字符是否是“結(jié)束”字符(即每一個數(shù)據(jù)塊的第一個字符),不是“結(jié)束”字符則繼續(xù)接收數(shù)據(jù);如果是“結(jié)束”字符則啟動SPI_Write程序?qū)?ldquo;結(jié)束”字符直接寫入FLASH,然后結(jié)束。W79E632校驗后數(shù)據(jù)無效,則立即向電腦系統(tǒng)發(fā)送響應(yīng)信號“ERROR”,然后結(jié)束。

          5.結(jié)束時,W79E632清除內(nèi)部RAM、I/O口緩沖寄存器和串行接口寄存器中的數(shù)據(jù),將定時器、UART接口或I2C接口恢復(fù)為初始狀態(tài),讀出堆棧中保存的數(shù)據(jù)并寫入相應(yīng)的寄存器以恢復(fù)中斷前狀態(tài);綠燈繼續(xù)閃動2s后開中斷,系統(tǒng)恢復(fù)正常運(yùn)行狀態(tài)。

          作為主機(jī)發(fā)送升級程序數(shù)據(jù)

          升級系統(tǒng)作為主機(jī)的流程如圖4所示。

          1.系統(tǒng)正常運(yùn)行,開串口中斷、外部中斷及定時器中斷,

        查詢I/O口P3的狀態(tài),等待中斷。

          2.從I2C接口發(fā)送存儲的升級程序數(shù)據(jù)時,按一下開關(guān)SW3產(chǎn)生外部中斷INT1。此時設(shè)置與產(chǎn)生INT0時相同。如果查詢到P3口有脈沖則屏蔽除串口中斷、定時器中斷外的所有中斷,其他設(shè)置與產(chǎn)生INT1中斷相同。

          3.W79E632啟動FLASH讀程序SPI_Read,讀取FLASH中存儲的升級程序數(shù)據(jù),每次連續(xù)讀完256字節(jié)存入W79E632的RAM中。W79E632每次存儲數(shù)據(jù)塊的第一個字符存儲前,判斷是否是“結(jié)束”字符。



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 沂南县| 隆尧县| 青浦区| 玛多县| 布尔津县| 吉木萨尔县| 临湘市| 宝清县| 通海县| 长子县| 望奎县| 丁青县| 延长县| 涡阳县| 旌德县| 公主岭市| 滕州市| 石渠县| 石门县| 盐源县| 西平县| 随州市| 肥城市| 德庆县| 临汾市| 佛学| 绥阳县| 松江区| 莎车县| 桑植县| 台中市| 淄博市| 诸暨市| 图片| 黄浦区| 临西县| 三明市| 林州市| 保山市| 玉龙| 罗田县|