Alternatif STM32F103CBT6: Panduan MCU Flash 128 KB

STM32F103CBT6 Alternatives: 128 KB Flash MCU Guide

Alternatif STM32F103CBT6: Panduan MCU Flash 128 KB

Die yang sama, footprint 48-pin yang sama, dua kali ganda flash — dan kerja firmware yang kebanyakan orang lupa sebelum menukarnya.

Panduan perolehan· MCU ·Inventori MCU / MPU / SoC · Rujukan silang 64 KB

TL;DR

  • STM32F103CBT6ialah saudara 128 KB kepada C8T6: Cortex-M3 yang sama, LQFP 48-pin yang sama, toolchain yang sama.
  • Ia ialah cara paling rendah risiko untuk menambah ruang lebihan — tiada perubahan papan, tiada pemacu baharu, hanya semakan peta memori.
  • Kerja itu terletak pada skrip linker, jadual partition OTA dan jadual vektor — bukan pada periferal.
  • Sumber kedua dengan 128 KB wujud, tetapi ia membawa kaveat "pin sama, silikon berbeza" yang sama seperti keluarga 64 KB.
  • Jika imej masih berkembang, rancang untuk kelas 256 KB daripada melalui kelayakan dua kali.

1. Mengapa CBT6 wujud

Keluarga F103 dibina berdasarkan satu die yang boleh dikonfigurasikan dengan ketumpatan flash yang berbeza. Itulah sebabnya C6T6, C8T6 dan CBT6 berkongsi pakej, susunan pin dan set persisian: perbezaannya ialah memori, bukan seni bina.

Bagi pereka, itu adalah satu kelebihan. Papan yang dilayakkan untuk C8T6 menerima CBT6 tanpa perubahan susun atur, dan firmware dikompil tanpa perubahan pemacu. Satu-satunya persoalan ialah sama ada peta memori masih terpakai.

Bagi pembeli, ia adalah keputusan harga dan ketersediaan: komponen 128 KB berharga sedikit lebih tinggi, tetapi ia menghapuskan risiko reka bentuk semula storan kali kedua pada masa hadapan.

2. Tiga varian memori

Komponen Flash RAM Dalam stok
STM32F103C6T6 32 KB 10 KB Yes
STM32F103C8T6 64 KB 20 KB Yes
STM32F103CBT6 128 KB 20 KB Yes

Perhatikan perkara yang tidak berubah: RAM kekal pada 20 KB merentas C8T6 dan CBT6. Menggandakan flash tidak memberi aplikasi lebih banyak stack, heap atau penimbal. Jika hadnya ialah RAM, penyelesaiannya ialah keluarga lain, bukan bahagian flash yang lebih besar.

C6T6 32 KB ialah pertukaran yang bertentangan: paling murah, tetapi hanya berdaya maju untuk imej tetap yang kecil. Beralih daripada 32 KB kepada 128 KB ialah peningkatan empat kali ganda dan biasanya menyelesaikan kekangan itu secara kekal.

Apa yang kekal sama

Pinout, pakej, set persisian, clock tree dan antara muka debug tidak berubah merentas C6T6, C8T6 dan CBT6. Papan yang sama, kristal yang sama, header SWD yang sama dan litar USB yang sama berfungsi dengan ketiga-tiganya.

Itulah sebabnya peningkatan ini sering digambarkan sebagai "percuma". Usaha kejuruteraan memang nyata tetapi terhad: kemas kini skrip linker, semak semula jadual partition, jalankan semula ujian penerimaan. Tiada perubahan skematik, tiada susun atur semula, tiada pemacu baharu.

Satu-satunya perbezaan persisian yang perlu diperiksa ialah geometri halaman pengawal flash, kerana saiz halaman menentukan cara EEPROM yang diemulasikan dan bootloader memadam.

Dalam amalan, C8T6 dan CBT6 selalunya boleh ditukar ganti pada peringkat pengedar, dan pilihan bergantung kepada yang mana tersedia pada masa pembinaan. Fleksibiliti itu sendiri merupakan hujah untuk mereka bentuk jadual partition sekitar 128 KB, supaya sama ada komponen boleh digunakan tanpa perubahan firmware.

3. Apabila 64 KB tidak lagi mencukupi

Perisian tegar berkembang dalam langkah yang boleh dijangka. Sesuatu projek yang muat dengan selesa pada 40 KB boleh melepasi 64 KB apabila salah satu daripada lima perkara berlaku.

Satu timbunan rangkaian ditambah.Malah timbunan TCP/IP yang padat dengan TLS menggunakan puluhan kilobait.

Paparan dan set fon ditambah.Beberapa set glif Cina atau Jepun boleh melebihi keseluruhan belanjawan aplikasi.

Staging OTA ditambah.Kemas kini dua bank memerlukan ruang untuk imej kedua, atau sekurang-kurangnya satu yang dimampatkan.

Storan log atau konfigurasi berpindah ke flash.Halaman EEPROM yang diemulasikan mengurangkan ruang aplikasi yang boleh digunakan.

Simbol nyahpepijat atau bootloader bertambah besar.Bootloader menduduki bahagian bawah flash sama ada diukur atau tidak.

Apa yang sebenarnya menggunakan 64 KB tambahan

Adalah membantu untuk melihat ke mana ruang itu pergi sebelum membuat keputusan. Aplikasi bersambung tipikal pada kelas MCU ini terbahagi secara kasar seperti ini: bootloader 16 KB, kod aplikasi 30–50 KB, tindanan TCP/IP padat 12–20 KB, TLS 15–25 KB, sistem fail dan konfigurasi 4–8 KB, dan kawasan pementasan OTA yang sama dengan saiz imej.

Tambahkan nombor-nombor itu dan had siling tiba dengan cepat. Aplikasi 45 KB dengan TLS dan pementasan dua bank memerlukan lebih daripada 128 KB sebelum sebarang data log atau fon. Itulah sebabnya komponen 64 KB terasa mencukupi di bangku ujian dan kemudiannya kehabisan semasa integrasi.

Aritmetik yang sama menjelaskan mengapa "hanya dayakan TLS" ialah keputusan storan sama seperti keputusan keselamatan. Suite sifer dan stor sijil bukanlah percuma.

4. Kerja migrasi

Item Apa yang berubah
Linker script FLASH length from 64K to 128K
Partition table Application, staging and data sizes
Vector table offset Only if the bootloader or app base moves
OTA bank size A larger image needs a larger staging area
EEPROM emulation Page count changes if the layout moves
Production programming Image size and checksum

Kesilapan paling biasa ialah menukar skrip linker dan terlupa jadual partition. Papan kemudian diprogramkan dengan betul tetapi kemas kini OTA menulis melepasi kawasan staging, atau bootloader menolak imej yang dianggapnya terlalu besar.

Ketahanan dan EEPROM teremulasi

Flash bukan EEPROM. Flash F103 dinilai untuk bilangan kitaran padam yang terhad, biasanya dalam julat sepuluh ribu setiap halaman. Blok konfigurasi yang ditulis pada setiap mati kuasa akan menghabiskan sesuatu halaman jauh sebelum hayat perkhidmatan produk berakhir.

EEPROM teremulasi menyelesaikan masalah ini dengan dua teknik. Pertama, ia menulis ke lokasi baharu dan bukannya menimpa, jadi haus tersebar merentas halaman atau blok. Kedua, ia menyimpan indeks kecil dalam RAM dan menulis semula indeks itu hanya apabila halaman penuh.

Kedua-dua teknik menggunakan flash yang berkadar dengan bilangan pemboleh ubah dan kedalaman perataan haus. Pada bahagian 64 KB, ini boleh menjadi pecahan yang bermakna daripada belanjawan; pada CBT6, ruang tambahan menjadikan skema perataan haus yang lebih mendalam lebih berpatutan.

Jika produk merekod data secara berterusan, pertimbangkan FRAM luaran atau flash SPI kecil daripada menghauskan flash dalaman MCU. Kosnya sederhana dan peningkatan kebolehpercayaan adalah besar.

Jam, wait state dan prestasi yang dirasakan

Flash yang lebih besar tidak menjadikan MCU lebih pantas, tetapi ia boleh mengubah bilangan wait state flash yang digunakan semasa kod berjalan. Pada 72 MHz, F103 memerlukan wait state pada kedua-dua ketumpatan; perbezaan muncul apabila kod diletakkan pada alamat yang berbeza atau apabila buffer prefetch berkelakuan berbeza.

Bagi kebanyakan aplikasi, ini tidak kelihatan. Bagi gelung yang dikira kitaran, antara muka bit-banged dan gelung kawalan ketat, ia boleh memberi kesan, dan ujian penerimaan harus merangkumi laluan sensitif masa dan bukan hanya pemeriksaan fungsi.

Jika reka bentuk berjalan di bawah 48 MHz, wait state biasanya sifar dan perbezaan itu hilang sepenuhnya. Itu salah satu sebab banyak reka bentuk industri sengaja berjalan lebih perlahan daripada maksimum.

5. Saiz flash semasa masa jalan

F103 melaporkan saiz flashnya dalam daftar yang boleh dibaca oleh firmware. Itu berguna untuk platform yang dihantar dengan sama ada bahagian 64 KB atau 128 KB, dan ia juga merupakan perangkap: kod yang mengekodkan secara keras bilangan halaman atau alamat sektor akan berkelakuan salah pada ketumpatan yang berbeza.

Jika produk mungkin dihantar dengan kedua-dua varian, baca saiz semasa boot dan konfigurasikan lapisan storan daripadanya. Jika ia dihantar dengan hanya satu sahaja, sahkan saiz yang dijangka dalam ujian pembuatan supaya reel yang salah dikesan sebelum pemasangan.

Pilihan reka bentuk OTA

Empat corak lazim, dan kos flash masing-masing berbeza dengan ketara.

Bank dwi.Dua slot imej penuh serta bootloader. Selamat dan mudah, tetapi memerlukan dua kali saiz imej. Pada 128 KB, imej 40 KB dengan staging bank dwi menggunakan 80 KB sebelum data.

Staging termampat.Imej yang dimuat turun disimpan dalam keadaan termampat dan dinyahmampat di tempat semasa but. Menjimatkan ruang, menambah langkah penyahmampatan dan satu mod kegagalan jika penyahmampat terganggu.

Penyimpanan sementara luaran.Imej disimpan dalam flash SPI luaran, dan MCU menyalinnya secara dalaman. Menambah satu komponen tetapi menghapuskan kekangan ruang dalaman sepenuhnya.

Tiada penyimpanan sementara.Peranti memuat turun dan menulis secara terus, biasanya dengan bootloader pemulihan. Paling murah dari segi flash, paling berisiko di lapangan.

Walau apa pun corak yang dipilih, jadual partition mesti ditetapkan sebelum firmware ditulis. Mengubahnya kemudian membatalkan kesahihan setiap peranti di lapangan.

Semakan keserasian perisian tegar

Empat semakan mengesan kebanyakan masalah migrasi sebelum ia sampai ke lapangan.

ID peranti.Kod permulaan perisian tegar mungkin bercabang berdasarkan ID; tambah nilai baharu secara eksplisit.

Daftar saiz flash.Tegaskan nilai jangkaan dalam ujian pembuatan, supaya gulungan dengan kepadatan salah ditolak semasa pengaturcaraan.

Offset jadual vektor.Jika bootloader memindahkan aplikasi, pastikan offset sepadan dengan jadual partition baharu.

Bilangan halaman emulasi EEPROM.Bilangan halaman yang diperuntukkan untuk konfigurasi mesti sepadan dengan susun atur baharu, jika tidak halaman terakhir akan bertindih dengan aplikasi.

6. Sumber kedua pada 128 KB

Keluarga Flash Nota
GD32F103CBT6 128 KB Pin compatible; different flash timing and higher clock capability

Peraturan yang sama daripada artikel 64 KB terpakai: keserasian pin adalah mekanikal, dan firmware mesti disahkan. Dengan flash yang lebih besar, satu perkara tambahan muncul — algoritma pengaturcaraan flash dan granulariti pemadaman boleh berbeza, yang menjejaskan kedua-dua masa pengeluaran dan reka bentuk OTA.

Juga sahkan laluan pemulihan. Jika bootloader menyokong DFU melalui USB atau UART, uji pemulihan daripada imej aplikasi yang rosak pada ketumpatan baharu, kerana deskriptor DFU selalunya mengekod saiz imej maksimum.

Akses nyahpepijat tidak berubah, tetapi bait pilihan wajar diperiksa: perlindungan baca-keluar, tingkah laku watchdog dan konfigurasi pin boot disimpan dalam flash dan boleh berbeza dalam keadaan lalai antara lot. Sahkan pada fixture dan bukan di bangku ujian.

Pengaturcaraan pengeluaran dan kebolehjejakan

Menukar ketumpatan mengubah imej pengaturcaraan dan, selalunya, fixture. Tiga perkara perlu disahkan di barisan pengeluaran.

Saiz imej dan checksum.Pengaturcara mesti menerima imej yang lebih besar, dan checksum yang disimpan dalam kawasan bootloader mesti sepadan.

Pengesahan baca balik.Pengesahan penuh selepas pengaturcaraan mengesan gelendong berketumpatan salah dengan segera, bukan semasa boot pertama.

Pencatatan ID unik.ID unik 96-bit mengaitkan peranti dengan rekod pengeluaran. Merekodkannya menjadikan pemulangan lapangan boleh dijejaki dan membantu mengenal pasti lot yang rosak.

Pelan ujian

Langkah Ujian Kriteria lulus
1 Read flash size and device ID Matches the expected density
2 Program the full image Verifies with zero errors
3 Boot and run the acceptance test No timing regressions
4 OTA update with power cut Recovers via the bootloader
5 EEPROM emulation wear test No page exhaustion after 100k writes

Apabila 128 KB masih tidak mencukupi

Jika imej yang dijangka melebihi kira-kira 100 KB, langkah seterusnya bukanlah varian F103 yang lain — ia adalah keluarga yang berbeza. Cortex-M3 F103 pada 72 MHz dan RAM 20 KB menjadi kekangan sebelum flash.

Pilihan termasuk kelas 256 KB dalam keluarga yang sama, komponen Cortex-M4 dengan RAM lebih banyak dan unit titik terapung, atau flash QSPI luaran dengan sokongan laksana-di-tempat. Setiap satu ialah keputusan platform dengan kos pensijilan dan firmware tersendiri.

Peraturan praktikal: pilih ketumpatan yang merangkumi ciri untuk dua tahun akan datang, bukan saiz imej semasa. Mengulang kelayakan papan yang sama dua kali lebih mahal daripada membeli komponen yang sedikit lebih besar dari awal.

Kisah produk lima tahun

Pertimbangkan pengawal yang direka pada 2021 dengan imej 40 KB pada C8T6. Menjelang 2023, imej itu mencapai 58 KB selepas menambah antara muka web. Menjelang 2024, TLS mendorongnya melebihi 64 KB, dan pasukan memampatkan fon supaya muat.

Pada 2025, kawasan pementasan OTA tidak lagi muat. Pembetulan pada ketika itu ialah semakan papan, susun atur partition baharu dan migrasi di lapangan — semuanya boleh dielakkan jika reka bentuk bermula pada CBT6 dengan kos beberapa sen lebih.

Itulah hujah untuk ruang lega: bukan kerana flash tambahan akan digunakan serta-merta, tetapi kerana kos kehabisan ruang diukur dalam re-spin dan bukan dalam sen.

8. Kos dan perancangan

Perbezaan harga antara C8T6 dan CBT6 adalah kecil. Keputusan bukan tentang kos seunit; ia tentang sama ada tambahan 64 KB menghapuskan reka bentuk semula pada masa hadapan.

Tiga isyarat menyokong CBT6: imej semasa melebihi 45 KB, peta jalan merangkumi tindanan rangkaian atau paparan, atau produk mempunyai hayat berbilang tahun. Dua isyarat menyokong kekal pada 64 KB: imej stabil dan kecil, serta volum cukup tinggi sehingga sen memberi kesan.

Jika imej sudah hampir 100 KB, teruskan ke kelas 256 KB. Memilih komponen 128 KB yang memenuhi syarat dan kemudian bertukar lagi dalam tempoh setahun ialah laluan paling mahal.

Peraturan keputusan untuk reka bentuk baharu

Catatkan tiga nombor sebelum memilih: saiz imej semasa, saiz dijangka dalam dua tahun, dan sama ada OTA diperlukan. Jika jawapan OTA ialah ya, tambah saiz imej sekali lagi. Jika jumlah unjuran melebihi 90 KB, mulakan pada 128 KB atau lebih tinggi.

Bagi produk fungsi tetap tanpa konektiviti dan tanpa OTA, 64 KB biasanya mencukupi dan C8T6 kekal sebagai pilihan yang lebih murah. Kesilapannya ialah menganggap sesuatu produk akan kekal tetap selama lima tahun.

9. FAQ

Adakah CBT6 pengganti terus bagi C8T6?

Dari segi fizikal dan fungsi, ya. Firmware memerlukan skrip linker dan jadual partition dikemas kini untuk flash yang lebih besar.

Adakah RAM bertambah?

Tidak. Kedua-dua komponen mempunyai 20 KB. Jika RAM ialah kekangan, komponen flash yang lebih besar tidak akan membantu.

Bolehkah saya beralih kembali ke C8T6 kemudian?

Hanya jika imej muat dalam 64 KB. Rancang jadual partition supaya penurunan versi boleh dilakukan tanpa perubahan kod.

Adakah sumber kedua mempunyai daftar saiz flash yang sama?

Biasanya daftar yang serasi wujud, tetapi nilai dan granularitinya boleh berbeza. Baca datasheet untuk komponen yang tepat.

Apakah pepijat migrasi yang paling biasa?

Mengemas kini skrip linker tanpa mengemas kini jadual partition OTA, yang menghasilkan kemas kini yang menulis di luar kawasan staging.

Patutkah saya memesan CBT6 untuk reka bentuk baharu?

Jika imej kurang daripada 32 KB dan stabil, C8T6 memadai. Jika ada sebarang kemungkinan pertambahan saiz — antara muka web, TLS, pengelogan atau OTA — mulakan pada 128 KB dan elakkan kitaran reka bentuk kedua.

Nota bekalan

Ketersediaan pada ketumpatan ini lebih baik daripada pada 32 KB, kerana lebih banyak reka bentuk menggunakannya. Kekalkan satu sumber kedua yang diluluskan dan pastikan algoritma pengaturcaraan flashnya sepadan dengan lekapan pengeluaran anda; imejnya sama, tetapi perkakasannya mungkin tidak. Semak perkara itu sebelum anda membuat pesanan.

10. Sumber

Tentang penulis— Diterbitkan oleh Pasukan Kecerdasan Rantaian Bekalan Chip-Seek. Kami menjejak ketersediaan komponen, penggantian dan risiko kelayakan untuk jurutera perkakasan dan pasukan perolehan. Bacaproses kualiti dan kebolehjejakan.

Perlukan lebih banyak ruang lebihan flash?

Beritahu kami nombor bahagian semasa dan saiz imej. Kami akan sebut harga varian 64 KB dan 128 KB daripada stok supaya anda boleh membandingkannya pada papan yang sama.

Semak stok CBT6Minta sampel

Check stock by part number

Turn this insight into a sourcing decision.

Need pricing or a drop-in alternative? Submit a BOM / RFQ or talk to our team.