He Guofeng, Li Yueting, Liu Yuhong
(Sekolah Tinggi Teknik Data dan Informasi Besar, Universitas Guizhou, Guiyang 550025, Guizhou)
Perangkat yang dapat dikenakan harus terus ditingkatkan untuk mencapai pengalaman pengguna yang baik. Metode peningkatan dan keamanan produk adalah pengalaman pengguna yang paling intuitif. Untuk perangkat wearable dengan chip MSP430 sebagai inti, dengan mempelajari metode startup program di dalam chip, belajar dari metode sistem pemuatan booting BIOS di komputer, Flash dibagi ke dalam ruang yang berbeda, dan program BIOS dipadatkan dalam satu blok untuk mensimulasikan BIOS komputer. Kedua ruang tersebut mensimulasikan disk C dan CD-ROM, dan mewujudkan program peningkatan online.
Perangkat yang dapat dikenakan; peningkatan online; BIOS; tertanam; Flash
Nomor Klasifikasi Perpustakaan Cina: TN609; TP368.1
Kode identifikasi dokumen: SEBUAH
DOI: 10.16157 / j.issn.0258-7998.2017.03.015
Format kutipan berbahasa Mandarin: He Guofeng, Li Yueting, Liu Yuhong. Implementasi peningkatan firmware online perangkat yang dapat dikenakan berdasarkan simulasi BIOS. Penerapan Teknologi Elektronik, 2017, 43 (3): 63-65, 69.
Format kutipan bahasa Inggris: He Guofeng, Li Yueting, Liu Yuhong. Implementasi peningkatan firmware online untuk perangkat yang dapat dikenakan berdasarkan simulasi BIOS. Aplikasi Teknik Elektronik, 2017, 43 (3): 63-65, 69.
0 Kata Pengantar
Menurut statistik, pengiriman perangkat yang dapat dikenakan secara global melebihi 7 juta keping pada tahun 2013, dan mencapai 28,9 juta buah pada tahun 2014. Pasar domestik mencapai 2,2 miliar yuan, dengan tingkat pertumbuhan tahunan sebesar 144%. Pengiriman wearable device telah mencapai 76,1 juta pieces, meningkat 163,6% dibandingkan tahun 2014. Diharapkan pada akhir tahun 2016 pengiriman wearable device mencapai 110 juta. Jika sejumlah besar produk ingin mempertahankan pangsa pasar dan kinerja dalam waktu yang lama, maka perlu dilakukan optimasi dan upgrade produk secara berkala, agar produk dapat digunakan untuk mengoreksi BUG, mengoptimalkan dan menambah fungsi baru. Ada banyak cara untuk mengupgrade firmware produk, seperti JTAG, BSL, dll. Cara ini hanya cocok digunakan sebelum produk keluar dari pabrik. Untuk produk yang sudah dijual, pembaruan produk perlu dikontrol kapan saja melalui Internet, transmisi nirkabel, dll. Firmware untuk memainkan kinerja perangkat yang dapat dikenakan. Pembaruan firmware ini akan berdampak besar pada pengalaman pengguna. Artikel ini mengambil perangkat yang dapat dikenakan berdasarkan MSP430F1611 sebagai prosesor sebagai contoh, dan menyadari peningkatan firmware perangkat dengan mensimulasikan program BIOS dan mensegmentasi operasi Flash.
1 Upgrade arsitektur keseluruhan secara online
Saat perangkat yang dapat dikenakan melakukan peningkatan firmware online, perangkat tersebut harus terlebih dahulu menerima paket firmware terbaru yang didorong oleh server. Gambar 1 adalah diagram proses paket upgrade dari server ke perangkat.Untuk perangkat yang dapat terhubung ke Internet, Anda dapat langsung menanamkan antarmuka ke server untuk mendownload paket upgrade secara langsung, seperti yang ditunjukkan oleh garis putus-putus pada gambar; untuk banyak ukuran kecil yang tidak dapat terhubung ke jaringan Perangkat, seperti gelang pintar pada umumnya, dapat menerima paket peningkatan dari jaringan melalui ponsel seperti yang ditunjukkan oleh garis solid pada gambar, dan kemudian mengunduhnya ke perangkat melalui sarana nirkabel seperti Bluetooth.
2 Prinsip peningkatan firmware
2.1 Sistem boot dari Flash
Mikrokontroler MSP430F1611 adalah prosesor berdaya sangat rendah 16-bit dengan RAM on-chip 10 KB dan Flash on-chip 48 KB + 256 B yang diluncurkan oleh Texas Instruments. Mikrokontroler ini memiliki sumber daya periferal yang kaya dan sering digunakan pada perangkat smart wearable. Untuk mencapai tujuan konsumsi daya yang rendah.
Anda dapat menemukan tabel alamat ruang sumber daya internal dari manual data MSP430F1611. Diantaranya, 0x4000 0xFFFF adalah ruang alamat Flash, total 48 KB, di antaranya 0xFFE0 0xFFFF adalah alamat vektor interupsi, dan ruang lain dapat dioperasikan oleh pengguna. Saat memprogram program ke dalam chip, kode program dituliskan ke Flash, dan posisi awal penulisan adalah alamat entri program. Setelah sistem dihidupkan, penunjuk PC menunjuk ke vektor reset dari tabel vektor interupsi, membaca entri alamat awal program darinya, dan kemudian melompat ke entri ini untuk menjalankan program. Alamat ini secara otomatis dibuat selama proses kompilasi kode, dan pengguna dapat memodifikasinya untuk menentukan firmware yang akan diprogram ke alamat lain di Flash.
2.2 Prinsip pembaruan otomatis
Gambar 2 adalah diagram blok yang disederhanakan dari program BIOS di komputer untuk mem-boot sistem operasi. Ketika komputer dihidupkan, bagian dari program booting BIOS yang dipadatkan di ruang motherboard akan diaktifkan untuk memasuki fase POST. Pekerjaan utama fase ini adalah menginisialisasi dan mendeteksi sumber daya perangkat keras terkait. Kemudian masuk ke tahap boot sistem operasi, periksa dulu apakah ada sistem boot di drive CD-ROM atau disk U sesuai dengan pengaturan BIOS, jika ada tambahkan sistem boot ke memori 0000: 7C00H untuk mengeksekusi sistem boot; jika tidak, cari hard disk pertama Sektor, muat konten ke dalam memori 0000: 7C00H, dan jalankan sistem.
Berdasarkan ide ini, artikel ini mensimulasikan dan mendesain bagian dari program boot BIOS, yang membagi Flash menjadi beberapa area, satu setara dengan drive CD-ROM, alamat awal ditandai sebagai A, yang lainnya setara dengan drive C, dan alamat awal ditandai sebagai C. Saat sistem dihidupkan, periksa apakah ada versi baru firmware setelah alamat A di Flash. Jika ada, salin firmware ke ruang setelah alamat C di Flash untuk menyelesaikan penginstalan sistem dari drive optik ke drive C. Setelah penyalinan selesai, hapus konten ruang A, yang setara dengan tindakan pop-up drive CD-ROM dan mulai ulang sistem; jika tidak ada file di ruang dengan alamat awal A, instruksi perakitan digunakan untuk mengarahkan penunjuk PC ke alamat C, dan sistem akan mulai dari C Boot disk. Diagram alir arsitektur keseluruhan ditunjukkan pada Gambar 3. Bagian yang dikelilingi oleh garis putus-putus bukanlah bagian dari program booting BIOS, tetapi sistem operasi, yaitu program pengguna. Dengan cara ini, ada dua program dalam mikrokontroler: program BIOS dan program pengguna. Masuk ke BIOS saat boot, dan BIOS memutuskan apakah akan mengalihkan penunjuk entri program ke program pengguna. Untuk beralih ke program pengguna, gunakan instruksi perakitan untuk memindahkan penunjuk PC ke alamat yang ditunjukkan oleh alamat vektor reset 0xFFDE dari program pengguna, yaitu, alamat awal drive C:
asm ("mov 0xFFDE");
Karena tabel vektor interupsi dialokasikan ke program pengguna lagi di Flash, maka perlu menggunakan instruksi assembly untuk memetakan 15 tabel vektor interupsi. Sebagai contoh, kode untuk pemetaan vektor interupsi pertama adalah sebagai berikut:
#pragma vector = 0
__interrupt void intec_0 (void)
{
asm ("br 0xFFC0");
}
2.3 Pemulihan program boot BIOS
Setelah program boot BIOS ditulis, file xcl dalam proyek perlu dimodifikasi untuk memperkuat program boot BIOS ke lokasi yang ditentukan. Rentang alamat Flash utama chip adalah 0x4000 0xFFFF, di antaranya 0xFFE0 0xFFF adalah tabel vektor interupsi, dan sisanya adalah ruang pengguna. Ruang pengguna dibagi menjadi 4 bagian, seperti yang ditunjukkan pada Gambar 4, seluruh bagian abu-abu merupakan ruang pengguna asli. Diantaranya, 0x4000 0x5FFF adalah ruang program BIOS; 0x6000 0xAFFF adalah ruang program pengguna, mirip dengan drive C di komputer; 0xB000 0xFFBF adalah ruang penyimpanan, mirip dengan drive optik di komputer, digunakan untuk menyimpan firmware baru yang diterima; 0xFFC0 0xFFDF adalah Tabel vektor interupsi pengguna. Ubah file xcl, ubah rentang alamat segmen kode program BIOS dan konstanta menjadi 0x6000 0xAFFF, kompilasi proyek, dan bakar file BIOS yang dihasilkan ke mikrokontroler melalui pengunduh untuk menyelesaikan pemadatan program booting BIOS.
2.4 Realisasi program pengguna
Realisasi program pengguna perlu terhubung ke ponsel atau Aplikasi komputer melalui Bluetooth. Ketika versi baru dari paket firmware tersedia, Aplikasi akan mengirimkan paket firmware ke perangkat melalui Bluetooth. Ketika program pengguna menerima paket firmware, ia menyimpan paket firmware di ruang Flash dalam kisaran 0xB000 0xFFBF. Dalam desain ini, karena jumlah kode program pengguna kecil, setelah menyimpan program di alamat 0xB000, jika program pengguna terlalu besar, dapat dipertimbangkan Perpanjang solusi Flash off-chip. Flowchart program pengguna ditunjukkan seperti pada Gambar 5.
Program pengguna harus ditempatkan dalam kisaran 0x6000 0xAFFF, jadi juga perlu memodifikasi file xcl dalam file proyek, dan memodifikasi kisaran alamat segmen kode dan konstan ke 0x6000 0xAFFF. Selain itu, karena alamat vektor interupsi asli ditempati oleh program BIOS, alamat vektor interupsi dalam file xcl perlu dimodifikasi menjadi 0xFFC0 0xFFDF, dan alamat vektor restart adalah 0xFFDE. Untuk mendorong aplikasi ke terminal perangkat sebagai paket pembaruan firmware, Anda harus memilih untuk menghasilkan file hex Hex dalam format txt. Gambar 6 menunjukkan isi dari file txt yang dihasilkan oleh file sederhana Enkripsi dan verifikasi kesalahan dapat dipertimbangkan selama transmisi.
Pada Gambar 6, @ 6000 mewakili alamat awal program adalah 6000, kode ini akan ditempatkan di Flash dengan 0x6000 sebagai alamat awal; @FFDE berarti alamat vektor reset program adalah 0xFFDE, yang menyimpan alamat entri subrutin, yaitu 0x6000; q berarti akhir dari program.
3 Komunikasi Bluetooth
3.1 Pengantar teknologi Bluetooth
Untuk mencapai penerimaan nirkabel, artikel ini menggunakan teknologi Bluetooth di perangkat untuk transmisi data. Teknologi Bluetooth pertama kali diperkenalkan oleh raksasa telekomunikasi Ericsson pada tahun 1994 untuk menggantikan teknologi komunikasi nirkabel jarak pendek (10 m hingga 100 m) dari standar RS232. Komunikasi Bluetooth bekerja pada pita frekuensi ISM 2,4 GHz, yang dapat menghubungkan beberapa perangkat untuk memfasilitasi berbagi dan transmisi data. Komunikasi Bluetooth tidak memerlukan lisensi, sehingga banyak digunakan pada perangkat elektronik seperti industri, medis, ponsel, dan tablet.
3.2 Modul Bluetooth
Modul Bluetooth BLK-MD-HC-05 digunakan dalam desain. Modul ini menggunakan chip BlueCore4-Ext dari Perusahaan CSR Inggris, mengikuti spesifikasi Bluetooth V2.0 + EDR, mendukung UART, USB, SPI, PCM, SPDIF dan antarmuka kaya lainnya , Mendukung set perintah AT, menyederhanakan operasi. Gambar 7 adalah diagram koneksi antara arsitektur modul Bluetooth dan MCU melalui port UART.
3.3 AT perintah untuk mengkonfigurasi modul Bluetooth
Sebelum menggunakan modul Bluetooth, Anda perlu menginisialisasi modul Bluetooth melalui komunikasi serial. BLK-MD-HC-05 mendukung perintah AT. Kecepatan baud default modul Bluetooth adalah 9600. Oleh karena itu, port serial perlu disesuaikan ke 9600 sebelum data dapat dikomunikasikan dengan modul Bluetooth. Interaktif. Tabel 1 menunjukkan perintah AT yang diperlukan untuk menginisialisasi modul Bluetooth.
4. Kesimpulan
Artikel ini mengimplementasikan pembaruan firmware dengan mensimulasikan BIOS. Setelah uji push berulang kali pada paket firmware dengan ukuran berbeda, pembaruan online dapat berhasil diselesaikan. Proses upgrade aman dan dapat diandalkan serta memiliki kelayakan yang baik.Dalam aplikasinya, proses enkripsi dan dekripsi paket upgrade yang didorong akan lebih lengkap. Pada saat yang sama, artikel ini membagi Flash, dan sebagian digunakan sebagai ruang BIOS dan CD-ROM. Meskipun ruang Flash dikorbankan, ruang Flash biasanya akan tetap berlebih tanpa mempengaruhi keandalan.
referensi
Geng Yi, An Hui, Li Yang, dll. Analisis status pengembangan dan prospek perangkat yang dapat dikenakan. Sains dan Teknologi Elektronik, 2014 (2): 238-245.
Deng Junjie, Liu Hong. Status quo perangkat pintar yang dapat dikenakan dan prospek tren pengembangan di masa mendatang. Heilongjiang Sains dan Teknologi Informasi, 2015 (28): 135.
Instrumen Texas. Panduan pengguna keluarga MSP430x1xx. .http: //www.ti.com.cn/cn/lit/ug/slau049f/slau049f.pdf.
Qiao Haikun, Forum Kontrol Mikro Khusus, DC, Moderator Forum Kontrol Mikro. Prinsip realisasi dan proses self-upgrading program MSP430. http: www.microcontrol.cn.
Zhang Yuan, semuanya. Metode peningkatan program port serial MSP430 MCU. Komputer Mikro Chip Tunggal dan Aplikasi Sistem Tertanam, 2011 (10): 23-24.
Zhang Qun, Yang Xu. Desain dan realisasi komunikasi serial modul Bluetooth. Penelitian dan Eksplorasi Laboratorium, 2012, 319 (3): 79-82.
Lianjie, Nie Junfei. Sistem pendeteksi suhu Bluetooth multifungsi berbasis mikrokontroler MSP430. Teknologi Instrumen, 2015 (8): 36-38.