MKL27 Startup current

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MKL27 Startup current

2,776 Views
albert_zhou
Contributor III

We used MKL27Z64VFM4 chip for smart sensors. The chip has about 7mA startup current at power on for 5-6 seconds then goes to run mode. That really affect my 4-20mA low power voltage which could not go down to 5VDC. The chip runs less than 2mA at the normal run time.

I would like to know it is just the NXP chip character that has nothing can do about it, or there is some thing could be done to reduce the startup current.

I already tried change FTFA_FOPT and other bootloader clock set. Nothing works.

 

Albert

0 Kudos
Reply
4 Replies

2,753 Views
gusarambula
NXP TechSupport
NXP TechSupport

Hello Albert_zhou,

Would you please provide more details about your setup? Is the startup current causing the power supply voltage to drop?

Would you please let us know your FTFA_FOPT settings?

Regards,
Gustavo

0 Kudos
Reply

2,691 Views
albert_zhou
Contributor III

Hi Gustavo,

I found the bootloader_config.c in the main routine. Here it is:

/*
* bootloader_config.c
*
* Created on: Sep 22, 2017
* Author: r
*/

#include "bootloader_config.h"

/* Bootloader configuration area, location fixed in .ld memory map */
__attribute__((section(".BootloaderConfig")))
__attribute__((used))
const bootloader_config_t BootloaderConfig =
{
#if ENABLE_BCA
.tag = BCA_TAG, //!< Magic Number
#else
.tag = 0xFFFFFFFF, //!< No Magic Number
#endif
#if ENABLE_CRC_CHECK
.crcStartAddress = 0x4400, // starting addr of user app
.crcByteCount = 0x10000-0x4400-0x400, // end of flash minus one page for user params
.crcExpectedValue = 0x00000000, // expected CRC value
#else
.crcStartAddress = 0xffffffff, // ffffffff => Disable CRC check
.crcByteCount = 0xffffffff, // ffffffff => Disable CRC check
.crcExpectedValue = 0xffffffff, // ffffffff => Disable CRC check
#endif
.enabledPeripherals = ENABLE_PERIPHERAL_UART, // Peripherals: UART | I2C |SPI | CAN |USB-HID
.i2cSlaveAddress = 0x10, // Use default I2C address(0x10)
.peripheralDetectionTimeoutMs = 2500, // Use user-defined timeout(ms)
.usbVid = 0xFFFF, // Use default Vendor ID(0x15A2)
.usbPid = 0xFFFF, // Use default Product ID(0x0073)
.usbStringsPointer = 0xFFFFFFFF, // Use default USB String
.clockFlags = 0xFF, // 0 bit cleared: Enable High speed mode.
.clockDivider = 0xff, // Use clock divider(0)
#if ENABLE_DIRECT_BOOT
.bootFlags = 0xfe, // 0xfe => jump to user app (if valid) after a pause
#else
.bootFlags = 0xff, // 0xff => stay in bootloader.
#endif
};

I have attached files.

0 Kudos
Reply

2,730 Views
albert_zhou
Contributor III

Hi Gustavo,

I have make the watchdog to work buy change the DISABLE_WDOG 1 to 0 in "system_MKL27Z644.h" in boot_loader project, and add COP_Refresh(SIM) to reset the watchdog in the boot_loader waiting loop.

However, in the main loop, When the COP time out. I check the reboot time. It takes 72 seconds. I don't know why?

I also change the DISABLE_WDOG 1 to 0 in "system_MKL27Z644.h" in main project library file.

If I use "NVIC_SystemReset(), the reboot time is only a few seconds.

 

Regards,

Albert 

 

0 Kudos
Reply

2,742 Views
albert_zhou
Contributor III

Hi Gustavo,

The boot-loader was wrote by somebody. I could not find code for FTFA_FORT.

Please see attached files. The compiler is Kinetic Design Studio.

Also I could not get the COP to work. 

 

Thanks,

Albert

Tags (1)
0 Kudos
Reply