MSP430單片機(jī)串口的程序升級(jí)方法
摘要:介紹了一種MSP430單片機(jī)通過串口升級(jí)程序的方法,并在MSP430F5438上得以實(shí)現(xiàn)。通過實(shí)驗(yàn),證明此方法穩(wěn)定、可靠,避免了利用仿真器更新程序的繁瑣,提高了效率。
關(guān)鍵詞:MSP430F5438;串口;程序更新
隨著性能的不斷提高以及成本的降低,單片機(jī)在各個(gè)領(lǐng)域都得到了廣泛的應(yīng)用。尤其在信號(hào)的控制和處理方面,單片機(jī)以其超低的功耗、簡(jiǎn)單的操作成為設(shè)計(jì)者的首選。TI公司推出的MSP430x5xx系列單片機(jī)具有低電壓、低功耗、高速處理能力以及配置靈活的接口等特點(diǎn),是當(dāng)今主流單片機(jī)之一。
同其他處理器一樣,單片機(jī)正常工作除了需要硬件電路以外,還需要相應(yīng)的用戶應(yīng)用程序。但應(yīng)用程序在調(diào)試階段以及實(shí)際使用時(shí)往往都需要更新,常規(guī)的方法需要打開機(jī)箱,將仿真器與單片機(jī)連接好,再更新程序。這種步驟比較繁瑣,如果操作不當(dāng)還會(huì)損壞設(shè)備。因此,如果能通過單片機(jī)已有的簡(jiǎn)單接口(如串口)更新應(yīng)用程序,那么將給單片機(jī)的使用帶來更大的方便。
1 總體思想
首先通過仿真器向單片機(jī)中寫入一段小程序,稱之為Bootloader程序。這個(gè)程序不是用戶的應(yīng)用程序,它的作用有兩個(gè):第一是在上電的一小段時(shí)間里實(shí)時(shí)檢測(cè)串口,如果有上位機(jī)發(fā)出的更新程序命令,就發(fā)送握手信號(hào),通知上位機(jī)發(fā)送更新代碼,并將收到的更新代碼寫入單片機(jī)相應(yīng)的Flash中;第二個(gè)作用是當(dāng)檢測(cè)到有應(yīng)用程序存在時(shí),跳轉(zhuǎn)到應(yīng)用程序的入口地址,執(zhí)行應(yīng)用程序。其流程如圖1所示。
上位機(jī)程序(VC++語(yǔ)言編寫)的功能是,當(dāng)用戶發(fā)出更新程序的指令后,在一段時(shí)間內(nèi)連續(xù)發(fā)送更新程序命令。如果收到單片機(jī)的應(yīng)答信號(hào),表示單片機(jī)準(zhǔn)備開始接收更新代碼。此時(shí)上位機(jī)讀取已選擇的代碼文件,分段發(fā)給單片機(jī)。其流程如圖2所示。
評(píng)論