專利名稱:雙塔放大器的控制方法及相應(yīng)的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種雙塔放大器的控制升級(jí)方法及相應(yīng)裝置。
背景技術(shù):
單片機(jī),又稱單片微型計(jì)算機(jī),是指隨著大規(guī)模集成電路的出現(xiàn)及其發(fā)展,將計(jì)算機(jī)的CPU、RAM、ROM、定時(shí)計(jì)數(shù)器和多種I/O接口集成在一片芯片上,形成芯片級(jí)的計(jì)算機(jī), 為不同的應(yīng)用場(chǎng)合做不同組合控制。雙塔放大器中的控制板是由一塊單片機(jī)通過(guò)串口用AISG協(xié)議與基站進(jìn)行通訊。 現(xiàn)有技術(shù)中,對(duì)雙塔放大器控制板的軟件升級(jí)方法,通常為雙塔放大器啟動(dòng)時(shí)從片內(nèi)閃存的boot區(qū)啟動(dòng),如果檢測(cè)不需要升級(jí),則跳到片內(nèi)閃存的運(yùn)行區(qū)執(zhí)行程序。如果需要升級(jí), 則通過(guò)升級(jí)過(guò)程標(biāo)志把片外閃存升級(jí)區(qū)的對(duì)應(yīng)代碼加載到片內(nèi)閃存的運(yùn)行區(qū)中執(zhí)行。其中片外閃存保存了各個(gè)供應(yīng)商提供的升級(jí)軟件,這樣必須選擇大容量的片外閃存,硬件成本較高;并且,片外閃存的擦除和寫入過(guò)程都需要占用時(shí)間,這樣也增加了升級(jí)過(guò)程的時(shí)間, 降低了升級(jí)效率。
發(fā)明內(nèi)容
本發(fā)明主要解決的技術(shù)問(wèn)題是提供一種雙塔放大器的控制方法,還提供相應(yīng)的裝置,能夠節(jié)約片外閃存的成本,并且能夠節(jié)省升級(jí)時(shí)間,提高升級(jí)效率。為解決上述技術(shù)問(wèn)題,本發(fā)明采用的技術(shù)方案是一種雙塔放大器的控制方法,其特征在于,所述雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),所述基站與遠(yuǎn)程主機(jī)通信連接,所述控制方法包括所述單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序;所述單片機(jī)判斷是否接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,若是則所述單片機(jī)從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將所述升級(jí)文件從片外閃存更新到所述單片機(jī)的片內(nèi)閃存;否則所述單片機(jī)運(yùn)行所述片內(nèi)閃存中的程序。一種雙塔放大器的控制裝置,其特征在于,所述雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),所述基站與遠(yuǎn)程主機(jī)通信連接,所述單片機(jī)包括引導(dǎo)模塊,用于所述單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序;處理器,用于接收到所述遠(yuǎn)程主機(jī)接收升級(jí)指令后從所述遠(yuǎn)程主機(jī)下載升級(jí)文件以及執(zhí)行片內(nèi)閃存中的程序;片外閃存,用于保存從所述遠(yuǎn)程主機(jī)下載的升級(jí)文件;片內(nèi)閃存,用于從所述片外閃存更新所述升級(jí)文件并保存。本發(fā)明的有益效果是區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明雙塔放大器中的單片機(jī)在執(zhí)行引導(dǎo)程序時(shí),先判斷是否需要升級(jí),如果需要升級(jí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后運(yùn)行更新后的程序;片外閃存只存儲(chǔ)需要升級(jí)時(shí)從遠(yuǎn)程主機(jī)下載的升級(jí)文件,而不需要保存所有供應(yīng)商提供的升級(jí)文件,這樣小容量的片外閃存就能夠滿足,節(jié)約了成本;并且,在升級(jí)過(guò)程中,沒(méi)有對(duì)其他供應(yīng)商的升級(jí)文件進(jìn)行片外閃存的擦除和寫入,也節(jié)省了升級(jí)時(shí)間, 提高了升級(jí)效率。
圖1是本發(fā)明雙塔放大器的控制方法的第一實(shí)施例的數(shù)據(jù)流程圖;圖2是本發(fā)明雙塔放大器的控制方法的第二實(shí)施例的數(shù)據(jù)流程圖;圖3是本發(fā)明雙塔放大器的控制方法的第二實(shí)施例中加載軟件結(jié)構(gòu)示意圖;圖4(a)是從圖3中加載軟件結(jié)構(gòu)中獲取所需要的供應(yīng)商的升級(jí)文件的數(shù)據(jù)流程圖;圖4(b)是接圖4(a)的數(shù)據(jù)流程圖;圖5是本發(fā)明雙塔放大器的控制裝置實(shí)施例的邏輯結(jié)構(gòu)示意圖。
具體實(shí)施例方式參閱圖1,本發(fā)明雙塔放大器的控制方法的第一實(shí)施例包括本實(shí)施例中的雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),并且基站與遠(yuǎn)程主機(jī)通信連接,本實(shí)施例中雙塔放大器的控制方法具體的步驟S101、單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序。步驟S102、單片機(jī)判斷是否接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,如果是,則執(zhí)行步驟 S103,如果否,則執(zhí)行步驟S104。步驟S103、單片機(jī)從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存。當(dāng)單片機(jī)接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,即需要進(jìn)行軟件升級(jí)時(shí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后再由本單片機(jī)運(yùn)行該片內(nèi)閃存中更新后的程序,其中,片內(nèi)閃存只保存該更新的程序。步驟S104、單片機(jī)運(yùn)行片內(nèi)閃存中的程序。當(dāng)單片機(jī)判斷出沒(méi)有接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,即不需要進(jìn)行軟件升級(jí)時(shí), 則直接運(yùn)行片內(nèi)閃存中的程序,其中,該片內(nèi)閃存中只保存單片機(jī)運(yùn)行的程序。在本實(shí)施例中,雙塔放大器中的單片機(jī)在執(zhí)行引導(dǎo)程序時(shí),先判斷是否需要升級(jí), 如果需要升級(jí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后運(yùn)行更新后的程序;片外閃存只存儲(chǔ)需要升級(jí)時(shí)從遠(yuǎn)程主機(jī)下載的升級(jí)文件,而不需要保存所有供應(yīng)商提供的升級(jí)文件,這樣小容量的片外閃存就能夠滿足,節(jié)約了成本;并且,在升級(jí)過(guò)程中,沒(méi)有對(duì)其他供應(yīng)商的升級(jí)文件進(jìn)行片外閃存的擦除和寫入,也節(jié)省了升級(jí)時(shí)間,提高了升級(jí)效率。參閱圖2、圖3、圖4(a)和圖4 (b),本發(fā)明雙塔放大器的控制方法的第二實(shí)施例包括本實(shí)施例中的雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),并且基站與遠(yuǎn)程主機(jī)通信連接,本實(shí)施例中雙塔放大器的控制方法具體的步驟S201、單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序。步驟S202、單片機(jī)判斷是否接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,如果是,則執(zhí)行步驟 S204,如果否,則執(zhí)行步驟S203。步驟S203、單片機(jī)運(yùn)行片內(nèi)閃存中的程序。當(dāng)單片機(jī)判斷出沒(méi)有接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,即不需要進(jìn)行軟件升級(jí)時(shí), 則直接運(yùn)行片內(nèi)閃存中的程序,其中,該片內(nèi)閃存中只保存單片機(jī)運(yùn)行的程序。步驟S204、從遠(yuǎn)程主機(jī)獲取供應(yīng)商升級(jí)文件包。單片機(jī)從遠(yuǎn)程主機(jī)獲取供應(yīng)商升級(jí)文件包,其中,供應(yīng)商升級(jí)文件包包括所有供應(yīng)商的升級(jí)文件。步驟S205、從供應(yīng)商升級(jí)文件包中獲取與本雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件。在本步驟中,雙塔放大器的供應(yīng)商有多個(gè),每個(gè)供應(yīng)商提供的雙塔放大器的程序有可能不相同,每個(gè)供應(yīng)商提供的雙塔放大器的升級(jí)文件也可能是不相同的;所以單片機(jī)從供應(yīng)商升級(jí)文件包中獲取與本雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件,具體的先從所有供應(yīng)商升級(jí)文件包中查找加載軟件文件頭并保存到第一數(shù)據(jù)結(jié)構(gòu)中,其中,加載軟件文件頭包括文件總長(zhǎng)度、文件識(shí)別碼、文件版本號(hào)、供應(yīng)商升級(jí)文件個(gè)數(shù)以及各個(gè)供應(yīng)商升級(jí)文件的偏移地址等等;然后根據(jù)各個(gè)供應(yīng)商升級(jí)文件的偏移地址查找各個(gè)供應(yīng)商升級(jí)文件并將供應(yīng)商升級(jí)文件的軟件文件頭保存到第二數(shù)據(jù)結(jié)構(gòu)中,其中,供應(yīng)商升級(jí)文件包括軟件文件頭和軟件數(shù)據(jù),軟件文件頭又包括升級(jí)文件長(zhǎng)度、文件類型、文件版本號(hào)等等;再根據(jù)各個(gè)供應(yīng)商升級(jí)文件的文件類型依次判斷對(duì)應(yīng)的供應(yīng)商升級(jí)文件的文件類型與本雙塔放大器供應(yīng)商的供應(yīng)商升級(jí)文件的預(yù)設(shè)文件類型是否一致,若供應(yīng)商升級(jí)文件的文件類型與本雙塔放大器供應(yīng)商的供應(yīng)商升級(jí)文件的預(yù)設(shè)文件類型一致,則將該供應(yīng)商升級(jí)文件寫入片外閃存,否則將該供應(yīng)商升級(jí)文件丟棄。步驟S206、將與本雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件寫入片外閃存。步驟S207、將與本雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件從片外閃存更新到片內(nèi)閃存,然后再由本單片機(jī)運(yùn)行該片內(nèi)閃存中更新后的程序,其中,片內(nèi)閃存只保存該更新的程序。步驟S208、判斷是否升級(jí)文件從片外閃存中更新到單片機(jī)的片內(nèi)閃存失敗,如果失敗,則執(zhí)行步驟S209,如果沒(méi)有失敗,則執(zhí)行步驟S210。步驟S209、從片外閃存的備份區(qū)中復(fù)制備份程序到片內(nèi)閃存中,并運(yùn)行該備份程序。片外閃存設(shè)置有備份區(qū),該備份區(qū)中固化了備份程序,當(dāng)程序升級(jí)失敗或者片內(nèi)閃存中的程序損壞時(shí),則單片機(jī)從該片外閃存的備份區(qū)中復(fù)制備份程序到片內(nèi)閃存中,進(jìn)行看門狗復(fù)位,然后運(yùn)行該備份程序。步驟S210、如果升級(jí)文件從片外閃存中更新到單片機(jī)的片內(nèi)閃存成功,則單片機(jī)運(yùn)行片內(nèi)閃存中更新后的程序。在本實(shí)施例中,雙塔放大器中的單片機(jī)在執(zhí)行引導(dǎo)程序時(shí),先判斷是否需要升級(jí), 如果需要升級(jí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后運(yùn)行更新后的程序;片外閃存只存儲(chǔ)需要升級(jí)時(shí)從遠(yuǎn)程主機(jī)下載的升級(jí)文件,而不需要保存所有供應(yīng)商提供的升級(jí)文件,這樣小容量的片外閃存就能夠滿足,節(jié)約了成本;并且,在升級(jí)過(guò)程中,沒(méi)有對(duì)其他供應(yīng)商的升級(jí)文件進(jìn)行片外閃存的擦除和寫入,也節(jié)省了升級(jí)時(shí)間,提高了升級(jí)效率;進(jìn)一步的,通過(guò)在片外閃存設(shè)置固化了的備份程序,當(dāng)程序升級(jí)失敗或者片內(nèi)閃存中的程序損壞時(shí),則單片機(jī)從該片外閃存的備份區(qū)中復(fù)制備份程序到片內(nèi)閃存中,然后運(yùn)行該備份程序,進(jìn)一步保證了單片機(jī)程序的正常運(yùn)行。加載軟件是將所有供應(yīng)商軟件打包在一起而形成的,圖3是加載軟件的一個(gè)具體實(shí)施例,在本加載軟件中,文件頭包括有文件的基本信息和各個(gè)子文件的偏移地址,例如文件CRC的長(zhǎng)度為4個(gè)字節(jié);接著是各個(gè)子文件的基本信息和子文件數(shù)據(jù),所有數(shù)據(jù)均以小端方式存放。根據(jù)AISG通訊協(xié)議,在通訊設(shè)備進(jìn)行升級(jí)時(shí),遠(yuǎn)程主機(jī)會(huì)把升級(jí)文件分成若干幀,然后每幀按固定長(zhǎng)度通過(guò)串口與通訊設(shè)備進(jìn)行通訊,通訊設(shè)備會(huì)有專門的子程序進(jìn)行處理。具體的篩選過(guò)程為首先,定義標(biāo)志當(dāng)前幀是否要片外閃存存儲(chǔ)的變量A,當(dāng)前已經(jīng)接收數(shù)據(jù)的總長(zhǎng)度變量T,加載軟件文件頭或者供應(yīng)商軟件文件頭數(shù)據(jù)結(jié)構(gòu)和當(dāng)前接收數(shù)據(jù)的偏移變量0,當(dāng)前處理的供應(yīng)商文件索引變量I,當(dāng)前接收數(shù)據(jù)幀的長(zhǎng)度變量L,當(dāng)前數(shù)據(jù)幀號(hào)標(biāo)志變量N, 加載軟件文件頭數(shù)據(jù)變量M,供應(yīng)商的子軟件文件頭數(shù)據(jù)變量C,加載軟件文件頭數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度變量M_L,加載軟件文件頭數(shù)據(jù)結(jié)構(gòu)中的供應(yīng)商子文件個(gè)數(shù)變量M_N,加載軟件文件頭數(shù)據(jù)結(jié)構(gòu)中的供應(yīng)商子文件偏移數(shù)組變量M_0[10],供應(yīng)商的子軟件文件頭數(shù)據(jù)結(jié)構(gòu)長(zhǎng)度變量C_L,供應(yīng)商的子軟件文件頭數(shù)據(jù)結(jié)構(gòu)中的文件識(shí)別碼變量C_S,數(shù)據(jù)處理的臨時(shí)變量 X;請(qǐng)參閱圖4(a)和圖4(b),下面對(duì)通訊設(shè)備子程序的流程進(jìn)行具體描述步驟S301、判斷N值是否等于第一幀,如果是第一幀,則執(zhí)行步驟S307,如果不是第一幀,則執(zhí)行步驟S302。步驟S302、判斷N值是否等于第二幀,如果是第二幀,則執(zhí)行步驟S303,如果不是第二幀,則執(zhí)行步驟S306。步驟S303、置N值為其他幀數(shù)據(jù)標(biāo)記,置T等于T加上L的和。步驟S304、判斷ο是否等于零,如果等于零,則執(zhí)行步驟S311,如果不等于零,則執(zhí)行步驟S305。步驟S305、復(fù)制當(dāng)前幀ο長(zhǎng)度的數(shù)據(jù)到M結(jié)構(gòu)體中的M_L減去ο位置處,置ο的值為零。步驟S306、置T的值為T加上L的和。步驟S307、置N為第二幀數(shù)據(jù)標(biāo)記,置T等于當(dāng)前接收數(shù)據(jù)幀的長(zhǎng)度L,置ο等于
零,置I為零。步驟S308、判斷M_L是否大于L,如果大于,則執(zhí)行步驟S309,如果不大于,則執(zhí)行步驟S310。步驟S309、置ο等于M_L減去L的值,復(fù)制當(dāng)前幀全部數(shù)據(jù)到M中。步驟S310、置ο等于零,復(fù)制當(dāng)前幀L長(zhǎng)度的數(shù)據(jù)到M中。步驟S311、判斷是否ο不等于零,且N不是第二幀數(shù)據(jù)標(biāo)記,如果是,則執(zhí)行步驟S312,如果否,則執(zhí)行步驟S316。步驟S312、復(fù)制當(dāng)前幀ο長(zhǎng)度的數(shù)據(jù)到C結(jié)構(gòu)體中的C_L減去ο的位置處,置ο的值為零。步驟S313、判斷C_S的值是否等于字符“DFSW”,如果是,則就認(rèn)為當(dāng)前供應(yīng)商子文件是需要的供應(yīng)商子文件,執(zhí)行步驟S315;如果否,則認(rèn)為是其它供應(yīng)商子文件執(zhí)行步驟 S314。步驟S314、置A的值為當(dāng)前幀數(shù)據(jù)不寫入片外閃存標(biāo)記。步驟S315、置A的值為當(dāng)前幀數(shù)據(jù)要寫入片外閃存標(biāo)記。步驟S316、判斷是否T減去L的值小于等于M_o[I]且M_o[I]小于T,N值不是第二幀數(shù)據(jù)標(biāo)記,M_N大于I,如果是,則執(zhí)行步驟317,如果不是,則執(zhí)行步驟S3M。步驟S317、置X的值為T減去M_o[I],I的值加1。步驟S318、判斷是否C_L的值大于X,如果是,則執(zhí)行步驟S319,如果否,則執(zhí)行步驟 S320。步驟S319、復(fù)制當(dāng)前楨L減去X處X長(zhǎng)度的數(shù)據(jù)到C結(jié)構(gòu)體中,置ο的值為C_L減去X,置A的值為當(dāng)前楨數(shù)據(jù)不寫入片外閃存標(biāo)記。步驟S320、復(fù)制當(dāng)前幀L減去X處C_L長(zhǎng)度的數(shù)據(jù)到C結(jié)構(gòu)體中,值ο的值為零。步驟S321、判斷C_S的值是否等于字符“DFSW”,如果是,則就認(rèn)為當(dāng)前供應(yīng)商子文件是需要的供應(yīng)商子文件,執(zhí)行步驟S322,否則認(rèn)為是其它供應(yīng)商子文件,執(zhí)行步驟S323。步驟S322、置A的值為當(dāng)前幀數(shù)據(jù)要寫入片外閃存標(biāo)記。步驟S323、置A的值為當(dāng)前幀數(shù)據(jù)不寫入片外閃存標(biāo)記。步驟S3M、判斷是否A的值為當(dāng)前幀數(shù)據(jù)要寫入片外閃存標(biāo)記,如果是,則執(zhí)行步驟S325,如果否,則子程序返回,流程結(jié)束。步驟S325、進(jìn)行寫片外閃存過(guò)程。參閱圖5,本發(fā)明雙塔放大器的控制裝置的實(shí)施例包括雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),并且基站與遠(yuǎn)程主機(jī)通信連接,其中, 單片機(jī)包括引導(dǎo)模塊501,用于當(dāng)單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序。處理器502,用于接收到遠(yuǎn)程主機(jī)接收升級(jí)指令后從該遠(yuǎn)程主機(jī)下載升級(jí)文件以及執(zhí)行片內(nèi)閃存中的程序。片外閃存503,用于保存從遠(yuǎn)程主機(jī)下載的升級(jí)文件。片內(nèi)閃存504,用于從片外閃存503更新升級(jí)文件并保存。進(jìn)一步的,處理器502包括第一獲取模塊,用于從遠(yuǎn)程主機(jī)獲取供應(yīng)商升級(jí)文件包,其中供應(yīng)商升級(jí)文件包括所有供應(yīng)商的升級(jí)文件;第二獲取模塊,用于從供應(yīng)商升級(jí)文件包中獲取與本雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件;寫入模塊,用于將與雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件寫入片外閃存。進(jìn)一步的,第二獲取模塊包括第一查找單元,用于從所有供應(yīng)商升級(jí)文件中查找加載軟件文件頭并保存到第一數(shù)據(jù)結(jié)構(gòu)中,其中,加載軟件文件頭包括各個(gè)供應(yīng)商升級(jí)文件的偏移地址;第二查找單元,用于根據(jù)各個(gè)供應(yīng)商升級(jí)文件的偏移地址查找各個(gè)供應(yīng)商升級(jí)文件并將各個(gè)供應(yīng)商升級(jí)文件的軟件文件頭保存到第二數(shù)據(jù)結(jié)構(gòu)中,其中,供應(yīng)商升級(jí)文件包括軟件文件頭和軟件數(shù)據(jù),軟件文件頭包括文件類型;執(zhí)行單元,用于當(dāng)有供應(yīng)商升級(jí)文件的文件類型與本雙塔放大器供應(yīng)商的供應(yīng)商升級(jí)文件的預(yù)設(shè)文件類型一致時(shí),則將該供應(yīng)商升級(jí)文件寫入片外閃存503,否則將該供應(yīng)商升級(jí)文件丟棄。進(jìn)一步的,片外閃存503還包括用于保存?zhèn)浞莩绦虻膫浞輩^(qū),若升級(jí)文件從外部閃存中更新到單片機(jī)的片內(nèi)閃存504失敗或者該片內(nèi)閃存504中的程序損壞,則本實(shí)施例中的單片機(jī)從該備份區(qū)中復(fù)制備份程序到片內(nèi)閃存504中,并運(yùn)行該備份程序。進(jìn)一步的,本實(shí)施例中的控制裝置還包括用于將升級(jí)文件從片外閃存更新到單片機(jī)的片內(nèi)閃存后,進(jìn)行復(fù)位的看門狗。在本實(shí)施例中,雙塔放大器中的單片機(jī)在執(zhí)行引導(dǎo)程序時(shí),先判斷是否需要升級(jí), 如果需要升級(jí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后運(yùn)行更新后的程序;片外閃存只存儲(chǔ)需要升級(jí)時(shí)從遠(yuǎn)程主機(jī)下載的升級(jí)文件,而不需要保存所有供應(yīng)商提供的升級(jí)文件,這樣小容量的片外閃存就能夠滿足,節(jié)約了成本;并且,在升級(jí)過(guò)程中,沒(méi)有對(duì)其他供應(yīng)商的升級(jí)文件進(jìn)行片外閃存的擦除和寫入,也節(jié)省了升級(jí)時(shí)間,提高了升級(jí)效率;進(jìn)一步的,通過(guò)在片外閃存設(shè)置固化了的備份程序,當(dāng)程序升級(jí)失敗或者片內(nèi)閃存中的程序損壞時(shí),則單片機(jī)從該片外閃存的備份區(qū)中復(fù)制備份程序到片內(nèi)閃存中,然后運(yùn)行該備份程序,進(jìn)一步保證了單片機(jī)程序的正常運(yùn)行。以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說(shuō)明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
9
權(quán)利要求
1.一種雙塔放大器的控制方法,其特征在于,所述雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),所述基站與遠(yuǎn)程主機(jī)通信連接,所述控制方法包括所述單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序;所述單片機(jī)判斷是否接到來(lái)自遠(yuǎn)程主機(jī)的升級(jí)指令,若是則所述單片機(jī)從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將所述升級(jí)文件從所述片外閃存更新到所述單片機(jī)的片內(nèi)閃存;否則所述單片機(jī)運(yùn)行所述片內(nèi)閃存中的程序。
2.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,所述單片機(jī)從遠(yuǎn)程主機(jī)下載升級(jí)文件包括從所述遠(yuǎn)程主機(jī)獲取供應(yīng)商升級(jí)文件包,所述供應(yīng)商升級(jí)文件包包括所有供應(yīng)商的升級(jí)文件;從所述供應(yīng)商升級(jí)文件包中獲取與所述雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件;將與所述雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件寫入所述片外閃存。
3.根據(jù)權(quán)利要求2所述的控制方法,其特征在于,從所述供應(yīng)商升級(jí)文件包中獲取與所述雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件具體為從所述供應(yīng)商升級(jí)文件包中查找加載軟件文件頭并保存到第一數(shù)據(jù)結(jié)構(gòu)中,所述加載軟件文件頭包括各個(gè)供應(yīng)商升級(jí)文件的偏移地址;根據(jù)所述各個(gè)供應(yīng)商升級(jí)文件的偏移地址查找各個(gè)供應(yīng)商升級(jí)文件并將所述供應(yīng)商升級(jí)文件的軟件文件頭保存到第二數(shù)據(jù)結(jié)構(gòu)中,所述供應(yīng)商升級(jí)文件包括軟件文件頭和軟件數(shù)據(jù),所述軟件文件頭包括文件類型;若所述供應(yīng)商升級(jí)文件的文件類型與所述雙塔放大器供應(yīng)商的供應(yīng)商升級(jí)文件的預(yù)設(shè)文件類型一致,則將所述供應(yīng)商升級(jí)文件寫入所述片外閃存,否則將所述供應(yīng)商升級(jí)文件丟棄。
4.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,若所述升級(jí)文件從外部閃存中更新到單片機(jī)的片內(nèi)閃存失敗或者所述片內(nèi)閃存中的程序損壞,則所述單片機(jī)從所述片外閃存的備份區(qū)中復(fù)制備份程序到所述片內(nèi)閃存中,并運(yùn)行所述備份程序。
5.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,將所述升級(jí)文件從片外閃存更新到單片機(jī)的片內(nèi)閃存后,進(jìn)行看門狗復(fù)位。
6.一種雙塔放大器的控制裝置,其特征在于,所述雙塔放大器包括與基站進(jìn)行通訊的單片機(jī),所述基站與遠(yuǎn)程主機(jī)通信連接,所述單片機(jī)包括弓丨導(dǎo)模塊,用于所述單片機(jī)上電或復(fù)位后,執(zhí)行引導(dǎo)程序;處理器,用于接收到所述遠(yuǎn)程主機(jī)接收升級(jí)指令后從所述遠(yuǎn)程主機(jī)下載升級(jí)文件以及執(zhí)行片內(nèi)閃存中的程序;片外閃存,用于保存從所述遠(yuǎn)程主機(jī)下載的升級(jí)文件;片內(nèi)閃存,用于從所述片外閃存更新所述升級(jí)文件并保存。
7.根據(jù)權(quán)利要求6所述的控制裝置,其特征在于,所述處理器包括第一獲取模塊,用于從所述遠(yuǎn)程主機(jī)獲取供應(yīng)商升級(jí)文件包,所述供應(yīng)商升級(jí)文件包括所有供應(yīng)商的升級(jí)文件;第二獲取模塊,用于從所述供應(yīng)商升級(jí)文件包中獲取與所述雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件;寫入模塊,用于將與所述雙塔放大器供應(yīng)商對(duì)應(yīng)的供應(yīng)商升級(jí)文件寫入片外閃存。
8.根據(jù)權(quán)利要求7所述的控制裝置,其特征在于,所述第二獲取模塊包括第一查找單元,用于從所述所有供應(yīng)商升級(jí)文件中查找加載軟件文件頭并保存到第一數(shù)據(jù)結(jié)構(gòu)中,所述加載軟件文件頭包括各個(gè)供應(yīng)商升級(jí)文件的偏移地址;第二查找單元,用于根據(jù)所述各個(gè)供應(yīng)商升級(jí)文件的偏移地址查找各個(gè)供應(yīng)商升級(jí)文件并將所述供應(yīng)商升級(jí)文件的軟件文件頭保存到第二數(shù)據(jù)結(jié)構(gòu)中,所述供應(yīng)商升級(jí)文件包括軟件文件頭和軟件數(shù)據(jù),所述軟件文件頭包括文件類型;執(zhí)行單元,用于當(dāng)所述供應(yīng)商升級(jí)文件的文件類型與所述雙塔放大器供應(yīng)商的供應(yīng)商升級(jí)文件的預(yù)設(shè)文件類型一致時(shí),則將所述供應(yīng)商升級(jí)文件寫入所述片外閃存,否則將所述供應(yīng)商升級(jí)文件丟棄。
9.根據(jù)權(quán)利要求6所述的控制裝置,其特征在于,所述片外閃存還包括用于保存?zhèn)浞莩绦虻膫浞輩^(qū),若所述升級(jí)文件從外部閃存中更新到單片機(jī)的片內(nèi)閃存失敗或者所述片內(nèi)閃存中的程序損壞,則所述單片機(jī)從所述備份區(qū)中復(fù)制備份程序到所述片內(nèi)閃存中,并運(yùn)行所述備份程序。
10.根據(jù)權(quán)利要求6所述的控制裝置,其特征在于,所述控制裝置還包括用于將所述升級(jí)文件從片外閃存更新到單片機(jī)的片內(nèi)閃存后,進(jìn)行復(fù)位的看門狗。
全文摘要
本發(fā)明實(shí)施例公開了一種雙塔放大器的控制方法,還提供了相應(yīng)的雙塔放大器的控制裝置;本發(fā)明雙塔放大器中的單片機(jī)在執(zhí)行引導(dǎo)程序時(shí),先判斷是否需要升級(jí),如果需要升級(jí),則從遠(yuǎn)程主機(jī)下載升級(jí)文件到單片機(jī)的片外閃存,下載完畢后將該升級(jí)文件從片外閃存更新到本單片機(jī)的片內(nèi)閃存,然后運(yùn)行更新后的程序;片外閃存只存儲(chǔ)需要升級(jí)時(shí)從遠(yuǎn)程主機(jī)下載的升級(jí)文件,而不需要保存所有供應(yīng)商提供的升級(jí)文件,這樣小容量的片外閃存就能夠滿足,節(jié)約了成本;并且,在升級(jí)過(guò)程中,沒(méi)有對(duì)其他供應(yīng)商的升級(jí)文件進(jìn)行片外閃存的擦除和寫入,也節(jié)省了升級(jí)時(shí)間,提高了升級(jí)效率。
文檔編號(hào)G06F9/445GK102567054SQ20111043578
公開日2012年7月11日 申請(qǐng)日期2011年12月22日 優(yōu)先權(quán)日2011年12月22日
發(fā)明者李廣濤 申請(qǐng)人:深圳市大富科技股份有限公司