Академический Документы
Профессиональный Документы
Культура Документы
1 Revision History
The check mark indicates that the issue is present in the specified revision.
The revision of the device can be identified by the revision letter on the Package Markings or by the
HW_ID located inside the TLV structure of the device
Rev A
Errata Number
ADC50
ADC63
BSL18
CPU21
CPU22
CPU40
CPU46
EEM23
PORT28
USCI42
USCI45
USCI47
2 Package Markings
Further guidance on how to locate the TLV structure and read out the HW_ID can be found in the device
User's Guide.
Function Erroneous ADC conversion result for internal temperature sensor in LPM3 mode
Description When ACLK is used as ADC clock source and device is in LPM3 mode while sampling
the on-chip temperature sensor, the ADC may generate erroneous conversion results.
Workaround 1) Use SMCLK or MODCLK as the ADC clock source. A 100us sampling time is required
if triggering ADC conversion from LPM3.
OR
2) Use LPM0 or Active Mode.
Function ADCHI/ADCLO may be reset unexpectedly when ADCCTL2 high byte is written byte-
wise
Description ADCHI/ADCLO may be reset unexpectedly when ADCCTL2 high byte is written byte-
wise.
Description An empty reset vector (for example, as on an un-programmed device) should invoke the
BSL, but it does not on affected devices.
Workaround Use the dedicated TEST and RST pins to perform hardware BSL invocation, or perform
software BSL invocation from the main application. See the MSP430FR4xx and
MSP430FR2xx Bootloader (BSL) Users Guide SLAU610 for more information on BSL
entry.
Function Using POPM instruction on Status register may result in device hang up
Description When an active interrupt service request is pending and the POPM instruction is used to
set the Status Register (SR) and initiate entry into a low power mode , the device may
hang up.
Workaround None. It is recommended not to use POPM instruction on the Status Register.
Refer to the table below for compiler-specific fix implementation information.
Function Indirect addressing mode with the Program Counter as the source register may produce
unexpected results
Description When using the indirect addressing mode in an instruction with the Program Counter
(PC) as the source operand, the instruction that follows immediately does not get
executed.
For example in the code below, the ADD instruction does not get executed.
mov @PC, R7
add #1h, R4
Workaround Refer to the table below for compiler-specific fix implementation information.
Description If the value at the memory location immediately following a jump/conditional jump
instruction is 0X40h or 0X50h (where X = don't care), which could either be an
instruction opcode (for instructions like RRCM, RRAM, RLAM, RRUM) with PC as
destination register or a data section (const data in flash memory or data variable in
RAM), then the PC value is auto-incremented by 2 after the jump instruction is executed;
therefore, branching to a wrong address location in code and leading to wrong program
execution.
For example, a conditional jump instruction followed by data section (0140h).
@0x8012 Loop DEC.W R6
@0x8014 DEC.W R7
@0x8016 JNZ Loop
@0x8018 Value1 DW 0140h
Workaround In assembly, insert a NOP between the jump/conditional jump instruction and program
code with instruction that contains PC as destination register or the data section.
Refer to the table below for compiler-specific fix implementation information.
Function POPM peforms unexpected memory access and can cause VMAIFG to be set
Description When the POPM assembly instruction is executed, the last Stack Pointer increment is
followed by an unintended read access to the memory. If this read access is performed
on vacant memory, the VMAIFG will be set and can trigger the corresponding interrupt
(SFRIE1.VMAIE) if it is enabled. This issue occurs if the POPM assembly instruction is
performed up to the top of the STACK.
Workaround If the user is utilizing C, they will not be impacted by this issue. All TI/IAR/GCC pre-built
libraries are not impacted by this bug. To ensure that POPM is never executed up to the
memory border of the STACK when using assembly it is recommended to either
1. Initialize the SP to
a. TOP of STACK - 4 bytes if POPM.A is used
b. TOP of STACK - 2 bytes if POPM.W is used
OR
2. Use the POPM instruction for all but the last restore operation. For the the last restore
operation use the POP assembly instruction instead.
For instance, instead of using:
POPM.W #5,R13
Use:
POPM.W #4,R12
POP.W R13
Function EEM triggers incorrectly when modules using wait states are enabled
Description When modules using wait states (USB, MPY, CRC and FRAM controller in manual
mode) are enabled, the EEM may trigger incorrectly. This can lead to an incorrect profile
counter value or cause issues with the EEMs data watch point, state storage, and
breakpoint functionality.
Workaround None.
Description The device's internal pull-down resistor on the TEST/SBWTCK pin gets disabled if the
SYS control bit SFRRPCR.SYSRSTRE is cleared. This can lead to increased current
consumption and unintentionally-enabled JTAG access to the device.
Workaround 1) Do not clear the SFRRPCR.SYSRSTRE bit, use the SFRRPCR.SYSRSTRUP bit to
define direction of the internal resistor on RST/NMI/SBWTDIO pin instead.
OR
2) Ensure a zero voltage level of TEST/SBWTCK pin by connecting the pin to an
external component (e.g. external pull-down resistor) on the PCB.
Description UCTXCPTIFG flag is triggered at the last stop bit of every UART byte transmission,
independently of an empty buffer, when transmitting multiple byte sequences via UART.
The erroneous UART behavior occurs with and without DMA transfer.
Workaround None.
Description In rare cases, during SPI communication, the clock high phase of the first data bit may
be stretched significantly. The SPI operation completes as expected with no data loss.
This issue only occurs when the USCI SPI module clock (UCxCLK) is asynchronous to
the system clock (MCLK).
Workaround Ensure that the USCI SPI module clock (UCxCLK) and the CPU clock (MCLK) are
synchronous to each other.
Description When the eUSCI_A module is configured as a SPI slave with clock phase mode
UCCKPH = 1 in the UCAxCTLW0 register, if the UCAxCLK pin is not at the appropriate
idle level (low for UCCKPL = 0, high for UCCKPL = 1) when the UCSWRST bit in the
UCAxCTLW0 register is cleared, the SPI module will not be able to receive a byte. In
this case the UCAxRXBUF will not be filled and UCRXIFG in the UCAxIFG register will
not be set.
eUSCI_B modules are not affected.
Workaround Use an eUSCI_B module for SPI slave if UCCKPH = 1 clock phase mode is required.
OR
Check the UCAxCLK pin level in software and wait until the correct level is available (low
for UCCKPL = 0, high for UCCKPL = 1) before clearing the UCSWRST bit in the
UCAxCTLW0 register. This is only possible if the master provides the correct level since
the SPI CLK is controlled by the master.
Texas Instruments Incorporated (TI) technical, application or other design advice, services or information, including, but not limited to,
reference designs and materials relating to evaluation modules, (collectively, TI Resources) are intended to assist designers who are
developing applications that incorporate TI products; by downloading, accessing or using any particular TI Resource in any way, you
(individually or, if you are acting on behalf of a company, your company) agree to use it solely for this purpose and subject to the terms of
this Notice.
TIs provision of TI Resources does not expand or otherwise alter TIs applicable published warranties or warranty disclaimers for TI
products, and no additional obligations or liabilities arise from TI providing such TI Resources. TI reserves the right to make corrections,
enhancements, improvements and other changes to its TI Resources.
You understand and agree that you remain responsible for using your independent analysis, evaluation and judgment in designing your
applications and that you have full and exclusive responsibility to assure the safety of your applications and compliance of your applications
(and of all TI products used in or for your applications) with all applicable regulations, laws and other applicable requirements. You
represent that, with respect to your applications, you have all the necessary expertise to create and implement safeguards that (1)
anticipate dangerous consequences of failures, (2) monitor failures and their consequences, and (3) lessen the likelihood of failures that
might cause harm and take appropriate actions. You agree that prior to using or distributing any applications that include TI products, you
will thoroughly test such applications and the functionality of such TI products as used in such applications. TI has not conducted any
testing other than that specifically described in the published documentation for a particular TI Resource.
You are authorized to use, copy and modify any individual TI Resource only in connection with the development of applications that include
the TI product(s) identified in such TI Resource. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE TO
ANY OTHER TI INTELLECTUAL PROPERTY RIGHT, AND NO LICENSE TO ANY TECHNOLOGY OR INTELLECTUAL PROPERTY
RIGHT OF TI OR ANY THIRD PARTY IS GRANTED HEREIN, including but not limited to any patent right, copyright, mask work right, or
other intellectual property right relating to any combination, machine, or process in which TI products or services are used. Information
regarding or referencing third-party products or services does not constitute a license to use such products or services, or a warranty or
endorsement thereof. Use of TI Resources may require a license from a third party under the patents or other intellectual property of the
third party, or a license from TI under the patents or other intellectual property of TI.
TI RESOURCES ARE PROVIDED AS IS AND WITH ALL FAULTS. TI DISCLAIMS ALL OTHER WARRANTIES OR
REPRESENTATIONS, EXPRESS OR IMPLIED, REGARDING TI RESOURCES OR USE THEREOF, INCLUDING BUT NOT LIMITED TO
ACCURACY OR COMPLETENESS, TITLE, ANY EPIDEMIC FAILURE WARRANTY AND ANY IMPLIED WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT OF ANY THIRD PARTY INTELLECTUAL
PROPERTY RIGHTS.
TI SHALL NOT BE LIABLE FOR AND SHALL NOT DEFEND OR INDEMNIFY YOU AGAINST ANY CLAIM, INCLUDING BUT NOT
LIMITED TO ANY INFRINGEMENT CLAIM THAT RELATES TO OR IS BASED ON ANY COMBINATION OF PRODUCTS EVEN IF
DESCRIBED IN TI RESOURCES OR OTHERWISE. IN NO EVENT SHALL TI BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL,
COLLATERAL, INDIRECT, PUNITIVE, INCIDENTAL, CONSEQUENTIAL OR EXEMPLARY DAMAGES IN CONNECTION WITH OR
ARISING OUT OF TI RESOURCES OR USE THEREOF, AND REGARDLESS OF WHETHER TI HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
You agree to fully indemnify TI and its representatives against any damages, costs, losses, and/or liabilities arising out of your non-
compliance with the terms and provisions of this Notice.
This Notice applies to TI Resources. Additional terms apply to the use and purchase of certain types of materials, TI products and services.
These include; without limitation, TIs standard terms for semiconductor products http://www.ti.com/sc/docs/stdterms.htm), evaluation
modules, and samples (http://www.ti.com/sc/docs/sampterms.htm).
Mailing Address: Texas Instruments, Post Office Box 655303, Dallas, Texas 75265
Copyright 2017, Texas Instruments Incorporated