Pioneer official engineer's dry goods: HPM6000 series BOOT MODE and external circuit design suggestions
[Copy link]
1. Introduction
The HPM6000 series MCU currently provides different startup methods to facilitate customers to use in different stages such as R&D and production.
This article provides a description of the BOOT mode of the HPM6000 series microcontrollers and corresponding external circuit design recommendations.
2. BOOT mode description
The HPM6000 series high-performance MCU currently provides three startup modes:
-
Main boot mode (XPI NOR boot)
-
Serial boot mode (via UART, USB-HID)
-
In-circuit programming (ISP) (via UART, USB-HID)
After the chip is powered on, the BOOT ROM first checks the corresponding BOOT MODE bit in the OTP and enters the corresponding boot mode according to the corresponding value:
When BOOT MODE[1:0] in OTP is 00, the system will select the boot mode by the BOOT MODE pin:
2.1 Main boot mode
When the system enters the main boot mode, the BOOT ROM will read the externally mounted Flash through the corresponding configuration information stored in the OTP.
2.2 Serial boot mode
When the system enters serial boot mode, the BOOT ROM will respond to the instructions issued by the host computer through UART0 or USB0.
Users can refer to Section 2, Section 3 of the startup chapter of the microcontroller user manual (taking the HPM6700/6400 series microcontroller user manual and the HPM6300 series microcontroller user manual as examples, Section 19.2.3).
2.3 In-system programming mode
Similarly, when the system enters programming mode, the BOOT ROM will also respond to instructions from the host computer through UART0 or USB0. Users can refer to Section 2, Sections 4 and 5 of the startup chapter of the microcontroller user manual (taking the HPM6700/6400 series microcontroller user manual and HPM6300 series microcontroller as examples, sections 19.2.4 and 19.2.5).
3. BOOT mode pin
After the HPM6000 series microcontroller is powered on, it will first execute the code in the BOOT ROM to make conditional judgments. The BOOT ROM will first judge the BOOT_MODE value in the OTP. When the BOOT_MODE value at this time is 00, it will further detect the value of the BOOT_MODE pin. The default value of BOOT_MODE in the OTP is 00.
HPM6000 series microcontrollers provide two hardware pins for BOOT MODE selection.
After the system is powered on, the HPM63xx series BOOT ROM will set the BOOT_MODE pin to input pull-down with a pull-down resistor of 100k ohms. For the HPM67xx/HPM64xx series, the BOOT ROM selects the default state of input pull-down with a pull-down resistor of 76.7k ohms.
Therefore, for all HPM6000 series chips, the BOOT_MODE pins are set to input pull-down after power-on. When designing the circuit, if these two pins are only configured for BOOT MODE, you can choose to directly connect the power domain of the pins when setting them high. If you need to use its multiplexing function, you can connect a resistor (10k ohm) in series to the power domain of the pin when setting it high. In addition, you must pay attention to the adaptation of the power domain corresponding to the pin. Since the power domains of the HPM63xx series and the HPM67xx/HPM64xx series are different, users should pay attention to this difference when designing.
4. BOOT mode pin function multiplexing
Like every pin of the HPM6000 series microcontroller, the BOOT_MODE pin itself can have multiple functions that can be reused.
The BOOT_MODE function itself will not affect the use of the corresponding functions of the pins by the user's own program. However, if the user chooses to use the functions of the corresponding pins of BOOT_MODE, it is necessary to clarify the impact of the external circuit on BOOT_MODE. For example, if PA20/PA21 uses the I2C function in HPM63xx, the pull-up resistor on the bus will inevitably produce a voltage divider, causing the BOOT ROM to misjudge the recognition of the BOOT MODE pin. Similarly, the default state of the chip connected to the relevant pin will also affect the recognition of the pin. Therefore, the user must clarify the impact of the external circuit on the BOOT MODE pin. When using external pins for BOOT mode judgment, the hardware engineer needs to ensure that the external circuit does not have an adverse effect on the judgment of the BOOT mode.
|