一種利用外掛flash實現(xiàn)mcu核代碼更新的方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及多單元服務(wù)器的控制單元代碼更新技術(shù)領(lǐng)域,特別涉及一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在先前的多單元服務(wù)器中,控制單元是利用成品的單片機(jī)和CPLD(CPLD,ComplexProgrammable Logic Device復(fù)雜可編程邏輯器件)來實現(xiàn)的。
[0003]成品的單片機(jī)以及CPLD和成品的功能實現(xiàn)芯片比如0SD(on_screen display屏幕菜單式調(diào)節(jié)方式)功能,在畫PCB(印制電路板)時需要占用較大的面積和利用較多的芯片。
[0004]為了減少設(shè)計的面積以及降低成品,提高系統(tǒng)的可靠性,提出了一種利用FPGA實現(xiàn)多單元服務(wù)器控制單元的功能方案,將MCU、0SD、USB、PS2等功能在FPGA內(nèi)部集成實現(xiàn)。
[0005]對于此產(chǎn)品中的MCU的代碼更新,如果只是利用ROM來做代碼更新的話,每次更新代碼都需要重新編譯RTL代碼,耗費時間長,效率低下,調(diào)試費事。
【發(fā)明內(nèi)容】
[0006]為了解決現(xiàn)有技術(shù)的問題,本發(fā)明提供了一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法及系統(tǒng),其更新速度快,效率高,且調(diào)試過程十分簡單。
[0007]本發(fā)明所采用的技術(shù)方案如下:
[0008]—種利用外掛FLASH實現(xiàn)Μ⑶核代碼更新的方法,包括以下步驟:
[0009]Α、多單元服務(wù)器上電開機(jī),進(jìn)入代碼更新狀態(tài)模式;
[0010]Β、將編譯生成的Μ⑶代碼發(fā)送到外掛的FLASH中;
[0011 ] C、待Μ⑶代碼發(fā)送完畢后,恢復(fù)正常工作模式;
[0012]D、在正常工作模式下,系統(tǒng)先從FLASH中將Μ⑶代碼加載至IjM⑶的程序存儲器的RAM中;
[0013]E、加載完成后,讓Μ⑶正常工作。
[0014]使用撥動開關(guān)實現(xiàn)所述系統(tǒng)的代碼更新狀態(tài)模式以及正常工作模式兩種模式之間的切換。
[0015]系統(tǒng)通過串行外設(shè)接口控制器將編譯生成的Μ⑶代碼發(fā)送的FLASH中。
[0016]一種利用外掛FLASH實現(xiàn)Μ⑶核代碼更新的系統(tǒng),包括FPGA芯片和外掛的FLASH,其特征在于,所述FPGA芯片內(nèi)設(shè)置MCU模塊,所述的MCU模塊連接有隨機(jī)存儲器和串行外設(shè)接口控制器,所述外掛的FLASH通過串行外設(shè)接口控制器將編譯生成的MCU代碼發(fā)送到所述的隨機(jī)存儲器內(nèi)。
[0017]本發(fā)明提供的技術(shù)方案帶來的有益效果是:
[0018]本發(fā)明的方法是利用FPGA的可編程性,在FPGA內(nèi)部搭建一個SPI(串行外設(shè)接口)控制器,從外掛FLASH中加載程序代碼。
[0019]需要編寫一個啟動代碼通過SPI控制器向FLASH中寫入數(shù)據(jù)后,通過一個撥動開關(guān)鍵切換到正常工作模式下,從FLASH中將更新的代碼加載至IjM⑶的程序存儲器中,這里利用了掉電丟失的RAM來實現(xiàn)。
[0020]本發(fā)明和現(xiàn)有技術(shù)相比,能夠提高M(jìn)CU的更新速度,提高工作效率,且調(diào)試過程十分簡單。
【附圖說明】
[0021]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0022]圖1為本發(fā)明的一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法及系統(tǒng)的系統(tǒng)結(jié)構(gòu)圖。
【具體實施方式】
[0023]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0024]實施例一
[0025]如附圖1所示,一種利用外掛FLASH實現(xiàn)MCU核代碼更新的系統(tǒng),包括FPGA芯片和外掛的FLASH,所述FPGA芯片內(nèi)設(shè)置MCU模塊,所述的MCU模塊連接有隨機(jī)存儲器和串行外設(shè)接口控制器,所述外掛的FLASH通過串行外設(shè)接口(SPI)控制器將編譯生成的Μ⑶代碼發(fā)送到所述的隨機(jī)存儲器RAM內(nèi)。
[0026]實施例二
[0027]—種利用外掛FLASH實現(xiàn)Μ⑶核代碼更新的方法,包括以下步驟:
[0028]Α、多單元服務(wù)器上電開機(jī),進(jìn)入代碼更新狀態(tài)模式;
[0029]Β、將編譯生成的Μ⑶代碼發(fā)送到外掛的FLASH中;
[0030]C、待Μ⑶代碼發(fā)送完畢后,恢復(fù)正常工作模式;
[0031]D、在正常工作模式下,系統(tǒng)先從FLASH中將Μ⑶代碼加載至IjM⑶的程序存儲器的RAM中;
[0032]E、加載完成后,讓Μ⑶正常工作。
[0033]使用撥動開關(guān)實現(xiàn)所述系統(tǒng)的代碼更新狀態(tài)模式以及正常工作模式兩種模式之間的切換。
[0034]系統(tǒng)通過串行外設(shè)接口控制器將編譯生成的Μ⑶代碼發(fā)送的FLASH中。
[0035]本實施例中,將多單元服務(wù)器上電開機(jī)后,撥動開關(guān)到代碼更新狀態(tài),通過PC機(jī)上的串口助手將編譯生成的MCU代碼發(fā)送的Flash中。待MCU代碼發(fā)送完畢后,撥動開關(guān)狀態(tài)到正常工作模式下。
[0036]正常工作模式下,系統(tǒng)將先從FLASH中將程序代碼加載到MCU的程序存儲器的RAM中,加載完后讓MCU正常工作。
[0037]利用已經(jīng)接入的USB鍵鼠設(shè)備調(diào)出0SD界面,對通道進(jìn)行切換。
[0038]如果能夠進(jìn)行通道切換以及鍵鼠正常使用,說明從FLASH中更新的程序代碼沒有問題。
[0039]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法,包括以下步驟: A、多單元服務(wù)器上電開機(jī),進(jìn)入代碼更新狀態(tài)模式; B、將編譯生成的MCU代碼發(fā)送到外掛的FLASH中; C、待MCU代碼發(fā)送完畢后,恢復(fù)正常工作模式; D、在正常工作模式下,系統(tǒng)先從FLASH中將MCU代碼加載到MCU的程序存儲器的RAM中; E、加載完成后,讓MCU正常工作。2.根據(jù)權(quán)利要求1所述的一種利用外掛FLASH實現(xiàn)Μ⑶核代碼更新的方法,其特征在于,使用撥動開關(guān)實現(xiàn)所述系統(tǒng)的代碼更新狀態(tài)模式以及正常工作模式兩種模式之間的切換。3.根據(jù)權(quán)利要求1所述的一種利用外掛FLASH實現(xiàn)Μ⑶核代碼更新的方法,其特征在于,系統(tǒng)通過串行外設(shè)接口控制器將編譯生成的MCU代碼發(fā)送的FLASH中。4.一種利用外掛FLASH實現(xiàn)mj核代碼更新的系統(tǒng),包括FPGA芯片和外掛的FLASH,其特征在于,所述FPGA芯片內(nèi)設(shè)置MCU模塊,所述的MCU模塊連接有隨機(jī)存儲器和串行外設(shè)接口控制器,所述外掛的FLASH通過串行外設(shè)接口控制器將編譯生成的MCU代碼發(fā)送到所述的隨機(jī)存儲器內(nèi)。
【專利摘要】本發(fā)明涉及多單元服務(wù)器的控制單元代碼更新技術(shù)領(lǐng)域,特別涉及一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法及系統(tǒng)。本發(fā)明的方法是利用FPGA的可編程性,在FPGA內(nèi)部搭建一個SPI控制器,從外掛FLASH中加載程序代碼。本發(fā)明的一種利用外掛FLASH實現(xiàn)MCU核代碼更新的方法及系統(tǒng),其更新速度快,效率高,且調(diào)試過程十分簡單。
【IPC分類】G06F9/445
【公開號】CN105487906
【申請?zhí)枴緾N201510897165
【發(fā)明人】張孝飛, 趙素梅, 劉強(qiáng)
【申請人】浪潮集團(tuán)有限公司
【公開日】2016年4月13日
【申請日】2015年12月7日