Other Parts Discussed in Thread: TIDEP-0091, IWR1443
Tool/software: TI-RTOS
What’s the AWR1642 max. boot-up /initialization time? How can this be minimized?
Thanks,
John
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software: TI-RTOS
What’s the AWR1642 max. boot-up /initialization time? How can this be minimized?
Thanks,
John
Per the TIDEP-0091, the IWR1443 boot up time is approx. 240 ms. Is the IWR1443 boot-up time comparable to AWR1642?
In our application, we need to boot up the device in less than 100 ms, is this achievable for AWR1642?
Thanks,
John
Hi John,
There are several factors that affect boot time. TIDEP-0091 has not been updated in a while, and there have been improvements to the boot process, namely that the BSS firmware now runs from ROM and does not require loading. More recent power-on to chirp timings for TIDEP-0091 are ~35ms for partial cal, and ~75ms for full cal. So booting in sub-100ms is certainly possible, but depends on several factors:
• The time it takes for the bootloader to initialize the chip and run APLL calibration. This time is fixed per device and should be 20ms or less.
• The time it takes for the bootloader to copy the application from flash and transfer control. This time depends on the size of the application and the QSPI speed. The size of the application depends on a number of factors such as RTOS, BIOS and SDK usage, and the application code itself. QSPI speed is set by the bootloader (I believe it currently runs at 40MHz for current generation devices, which is a 160Mbps burst xfr rate).
• The times above are traditionally considered boot time (the time until ‘main’ starts). If your definition of boot includes the time from power-on to first chirp, then you must include these times also:
o The time to initialize the BSS (RF) with the chirp configuration.
o The time for BIOS and the application to initialize and to run one-shot calibration. This time is variable, and depends on the number of peripherals the application needs to initialize, and the number of one-shot calibration tasks that are selected.
As a rough ballpark estimate you could use:
application_copy_time = (32KB + application_byte_size) * 8 / 160000; //in milliseconds (BSS patch is 32KB)
Ballpark Boot times:
Partial cal = 20ms + application_copy_time + 10ms; //10ms for MSS init and partial cal
Full cal = 20ms + application_copy_time + 50ms; //50ms for MSS init and full cal
In short, the biggest factors under your control for speeding up boot are:
1) minimizing application size,
2) running a minimum one-shot cal and/or loading a saved full one-shot cal from flash.
To examine the contents of your application (MSS and DSS), look for the MODULE SUMMARY section of the .map file produced by the linker. Here you will be able to see how much of the total size comes from application code, and how much is RTOS, BIOS and SDK. You can set optimization flags to change you're app's size; the other components are all pretty well optimized already.
-dave
Dave,
Thanks a lot for the detailed feedback on potential TIDEP-0091 boot-up time optimization. I'll review with the team and get back to you if there are additional questions.
Regards,
John