SLAU319AF July 2010 – September 2022
The tables in this section show the key information of MSP430 device to BSL version assignment related to their hardware and software resources.
| Device | F13x F14x(1) up to Rev N |
F11x (obsolete) F11x1 (obsolete) |
|
|---|---|---|---|
| BSL Version | 1.10 | ||
| BSL vector address | Cold start | 0C00h | |
| Warm start | — | ||
| Chip ID address | 0FF0h | ||
| Chip ID data | F149h | F112h | |
| BSL version address | 0FFAh | ||
| BSL version data | 0110h | ||
| Mass erase time, nominal (ms) | 17.2(1) | ||
| Read and write access at 0000h to FFFFh | Byte | ||
| Verification during write (online) | No | ||
| Stack pointer initialization | SP critical | 021Ah | |
| SP not critical | Unchanged | ||
| Resources Used by BSL | |||
| Transmit pin (TX), Receive pin (RX) | P1.1, P2.2 | ||
| RAM stack used | 0200h to 0219h | ||
| Working registers | R5 to R9 | ||
| System clock, affected controls | BCSCTL1, DCOCTL | ||
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | ||
| Preparation for software call |
|
||
| Comment 1 Workaround mandatory |
Load PATCH.TXT to eliminate ROM bug (see Section 5.2 and Section 2.5). | ||
| Comment 2 Optional for F148, F149 only: Use loadable BSL (>1 KB RAM required) |
Load BL_150S_14x.txt to get all features of V1.60 plus valid erase segment command (see Section 2.5). | ||
| Comment 3 Optional for F1x4 to F1x9: Use small loadable BSL (<512B RAM required) |
Load BS_150S_14x.txt to get some features of V1.60 (see Section 2.5). | ||
| Device | F41x | F11x (obsolete) F11x1A |
|
|---|---|---|---|
| BSL Version | 1.30 | ||
| BSL vector address | Cold start | 0C00h | |
| Warm start | 0C02h | ||
| Chip ID address | 0FF0h | ||
| Chip ID data | F143h | F112h | |
| BSL version address | 0FFAh | ||
| BSL version data | 0130h | ||
| Mass erase time, nominal (ms) | 206.4 | ||
| Read and write access at | 0000h to 00FFh | Byte | |
| 0100h to FFFEh | Word | ||
| Verification during write (online) | No | ||
| Stack pointer initialization | Cold start | 0220h | |
| Warm start | Unchanged | ||
| Resources Used by BSL | |||
| Transmit pin (TX) | P1.0 | P1.1 | |
| Receive pin (RX) | P2.1 | P2.2 | |
| RAM stack used | 0200h to 021Fh | ||
| Working registers | R5 to R9 | ||
| System clock, affected controls | SCFI0, SCFI1, SCFQCTL | BCSCTL1, DCOCTL | |
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | ||
| Preparation for software call |
|
|
|
| Device | F122, F123x | |
|---|---|---|
| BSL Version | 1.40 | |
| BSL vector address | Cold start | 0C00h |
| Warm start | 0C02h | |
| Chip ID address | 0FF0h | |
| Chip ID data | F123h | |
| BSL version address | 0FFAh | |
| BSL version data | 0140h | |
| Mass erase time, nominal (ms) | 206.4 | |
| Read and write access at | 0000h to 00FFh | Byte |
| 0100h to FFFEh | Word | |
| Verification during write (online) | For addresses 0200h to FFFEh | |
| Stack pointer initialization | Cold start | 0220h |
| Warm start | Unchanged | |
| Resources Used by BSL | ||
| Transmit pin (TX) | P1.1 | |
| Receive pin (RX) | P2.2 | |
| RAM stack used | 0200h to 021Fh | |
| Working registers | R5 to R10 | |
| System clock, affected controls | BCSCTL1, DCOCTL | |
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | |
| Preparation for software call |
|
|
| Device | F1122, F1132 |
F1222, F1232 |
F43x, F44x |
FE42x, FW42x, F415, F417 |
F43x, FG43x |
|
|---|---|---|---|---|---|---|
| BSL Version | 1.60 | |||||
| BSL vector address | Cold start | 0C00h | ||||
| Warm start | 0C02h | |||||
| Chip ID address | 0FF0h | |||||
| Chip ID data | 1132h | 1232h | F449h | F427h | F439h | |
| BSL version address | 0FFAh | |||||
| BSL version data | 0160h | |||||
| Mass erase time, nominal (ms) | 206.4 | |||||
| Read and write access at | 0000h to 00FFh | Byte | ||||
| 0100h to FFFEh | Word | |||||
| Verification during write (online) | For addresses 0200h to FFFEh | |||||
| Erase check command | Yes (error address 0200h) | |||||
| Erase segment command | With erasure verification (error address 0200h) | |||||
| TX identification command | Yes | |||||
| Change baud rate command | Yes | |||||
| Stack pointer initialization | Cold start | 0220h | ||||
| Warm start | Unchanged | |||||
| Resources Used by BSL | ||||||
| Transmit pin (TX) | P1.1 | P1.0 | ||||
| Receive pin (RX) | P2.2 | P1.1 | ||||
| RAM stack used | 0200h to 021Fh | |||||
| Working registers | R5 to R12 | |||||
| System clock, affected controls | BCSCTL1, DCOCTL | SCFI0, SCFI1, SCFQCTL | ||||
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | |||||
| Preparation for software call |
|
|
||||
| Comment | Erase segment command | Addresses 1000h to 11FFh are verified coherently (three segments). Also use erase check command. | ||||
| Device | F16x | F161x | F149 Rev AA | F42x0 | F41x2 | F47197 | FG47x | |
|---|---|---|---|---|---|---|---|---|
| BSL Version | 1.61 | |||||||
| BSL vector address | Cold start | 0C00h | ||||||
| Warm start | 0C02h | |||||||
| Chip ID address | 0FF0h | |||||||
| Chip ID data | 0F169h | 0F16Ch | F149h | F427h | 4152h | F47Fh | 0F479h | |
| BSL version address | 0FFAh | |||||||
| BSL version data | 0161h | |||||||
| Mass erase time, nominal (ms) | 206.4 | |||||||
| Read and write access at | 0000h to 00FFh | Byte | ||||||
| 0100h to FFFEh | Word | |||||||
| Verification during write (online) | For addresses 0200h to FFFEh | |||||||
| Erase check command | Yes (error address 0200h) | |||||||
| Erase segment command | With erasure verification (error address 0200h) | |||||||
| TX identification command | Yes | |||||||
| Change baud rate command | Yes | |||||||
| Stack pointer initialization | Cold start | 0220h | ||||||
| Warm start | Unchanged | |||||||
| Resources Used by BSL | ||||||||
| Transmit pin (TX) | P1.1 | P1.0 | ||||||
| Receive pin (RX) | P2.2 | P1.1 | ||||||
| RAM stack used | 0200h to 021Fh | |||||||
| Working registers | R5 to R14 | |||||||
| System clock, affected controls | BCSCTL1, DCOCTL | SCFI0, SCFI1, SCFQCTL | ||||||
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | |||||||
| Preparation for software call |
|
|
||||||
| Comment | Erase segment command | Addresses 1000h to 11FFh are verified coherently (three segments). Also use erase check command. | ||||||
| Device | F21xx | F22xx | F23xx | F24x | F261x | |
|---|---|---|---|---|---|---|
| BSL Version | 2.02 | 2.13 | ||||
| BSL Vector Address | Cold Start | 0C00h | ||||
| Warm Start | 0C02h(1) | |||||
| Chip ID Address | 0FF0h | |||||
| Chip ID Data | F213h | F227h | F237h | F249h | F26Fh | |
| BSL Version Address | 0FFAh | |||||
| BSL Version Data | 0202h | 0213h | ||||
| Read and Write Access at | 0000h to 00FFh | Byte | ||||
| 0100h to FFFEh | Word | |||||
| Verification during write (online) | For addresses 0200h to FFFEh | |||||
| Erase Check Command | Yes (error address 0200h) | |||||
| Erase Segment Command | With erasure verification (error address 0200h) | |||||
| TX Identification command | Yes | |||||
| Change baud rate command | Yes | |||||
| Stack Pointer Initialization | Cold Start | 0220h | 0224h | |||
| Warm Start | Unchanged | |||||
| Resources Used by BSL | ||||||
| Transmit Pin (TX) | P1.1 | |||||
| Receive Pin (RX) | P2.2 | |||||
| RAM Stack Used | 0200h to 021Fh | 0200h to 0223h | ||||
| Working Registers | R5 to R14 | R4 to R15 | ||||
| System clock, affected controls | BCSCTL1, DCOCTL | SCFI0, SCFI1, SCFQCTL | ||||
| Timer_A, Affected controls | TACTL, TAR, CCTL0, CCR0 | |||||
| Preparation for software call |
|
|||||
| Comment | Erase Segment Command | Addresses 1000h to 11FFh are verified coherently (five segments). Also use erase check command. | ||||
mov.w #FWKEY+LOCKA,&FCTL3| Device | G2xx4 | G2xx5 | G2xx3 | TCH5E | |
|---|---|---|---|---|---|
| BSL Version | 2.02 | 2.03 | |||
| BSL Vector Address | Cold Start | 0C00h | |||
| Warm Start | 0C02h(2) | ||||
| Chip ID Address | 0FF0h | ||||
| Chip ID Data | F227h | 2955h | 2553h | 255Ch | |
| BSL Version Address | 0FFAh | ||||
| BSL Version Data | 0202h | 0203h | |||
| Read and Write Access at | 0000h to 00FFh | Byte | |||
| 0100h to FFFEh | Word | ||||
| Verification during write (online) | For addresses 0200h to FFFEh | ||||
| Erase Check Command | Yes (error address 0200h) | ||||
| Erase Segment Command | With erasure verification (error address 0200h) | ||||
| TX Identification command | Yes | ||||
| Change baud rate command | Yes | ||||
| Stack Pointer Initialization | Cold Start | 0220h | |||
| Warm Start | Unchanged | ||||
| Resources Used by BSL | |||||
| Transmit Pin (TX) | P1.1 | P1.1 | |||
| Receive Pin (RX) | P2.2 | P1.5 | |||
| RAM Stack Used | 0200h to 021Fh | ||||
| Working Registers | R5 to R14 | ||||
| System clock, affected controls | BCSCTL1, DCOCTL | ||||
| Timer_A, Affected controls | TACTL, TAR, CCTL0, CCR0 | ||||
| Preparation for software call |
|
||||
| Comment | Erase Segment Command | Addresses 1000h to 11FFh are verified coherently (five segments). Also use erase check command. | |||
mov.w #FWKEY+LOCKA,&FCTL3| Device | FG46xx | F471xx | |
|---|---|---|---|
| BSL Version | 2.12 | 2.13 | |
| BSL vector address | Cold start | 0C00h | |
| Warm start | 0C02h(1) | ||
| Chip ID address | 0FF0h | ||
| Chip ID data | F46Fh | ||
| BSL version address | 0FFAh | ||
| BSL version data | 0212h | 0213h | |
| Mass erase time, nominal (ms) | 206.4 | ||
| Read and write access at | 0000h to 00FFh | Byte | |
| 0100h to FFFEh | Word | ||
| Verification during write (online) | For addresses 0200h to FFFEh | ||
| Erase check command | Yes (error address 0200h) | ||
| Erase segment command | Erase segment command with erasure verification (error address 0200h) | ||
| TX identification command | Yes | ||
| Change baud rate command | Yes | ||
| Stack pointer initialization | Cold start | 0224h | |
| Warm start | Unchanged | ||
| Resources Used by BSL | |||
| Transmit pin (TX) | P1.0 | ||
| Receive pin (RX) | P1.1 | ||
| RAM stack used | 0200h to 0223h | ||
| Working registers | R4 to R15 | ||
| System clock, affected controls | SCFI0, SCFI1, SCFQCTL | ||
| Timer_A, affected controls | TACTL, TAR, CCTL0, CCR0 | ||
| Preparation for software call |
|
||
| Comment | Erase segment command | Addresses 1000h to 11FFh are verified coherently (five segments). Also use erase check command. | |
mov.w #FWKEY+LOCKA,&FCTL3
.