Hi
I'm doing custom board, and i need to boot from external nor flash.
I will design two board.
A board is main board(i.mx rt 1064).
B board is upgrade board(with nor-flash and spi interface connector)
Operating step
step.1 "B" plug in "A"
step.2 turn on "A" power, and boot from "B" board
step.3 the code from nor-flash will upgrade i.mx rt 1064 internal flash
step.4 shut down "A" power and remove "B"
step.5 turn on "A" power, and boot from internal flash
My questions are:
1. i saw the reference manual, need to configure BOOT_MODE to 0
and BT_CFG[7:4].
Is enough that configure BOOT_MODE and BT_CFG[7:4] for boot from external nor-flash(lpspi)?
2. Are BT_CFG's pins can using for GPIO?
Or that 14 pins(BT_CFG and BOOT_MODE) only for boot option use?
3. Is possible step.3 copy nor-flash code to internal flash and next time using internal flash boot?
Please help to solve, thank you.
Allen
Hi Allen
Having a second board for updates looks to be over-complicated. Why don't you just use the inbuilt ISP capability?
Or existing boot loader concepts? (See reference below)
Regards
Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements
For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/iMX/RT1064.html
i.MX RT 1064 loader concept:
- i.MX RT 1060: https://www.utasker.com/iMX/RT1064.html
- Boot loader concept including XiP on-the-fly decryption, clone protection or AES256 protected RAM execution.
-- Boot Loader concept flow chart: https://www.utasker.com/docs/iMX/Loader.pdf and usage reference https://www.utasker.com/docs/iMX/uTaskerLoader_TestDrive.pdf
-- Serial Loader features: https://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf
-- Building the loader with MCUXpresso: https://www.utasker.com/docs/iMX/MCUXpresso.pdf (and video guide https://youtu.be/p_eUGo6GypY ) - the guide document explains how to use with any application (eg. SDK) and to enabling its operation with On-The-Fly decryption in 5 minutes
-- Building the loader with IAR: https://www.utasker.com/docs/iMX/IAR.pdf (and video guide https://youtu.be/XPCwVndP99s )
-- Building the loader with VisualStudio and GCC: https://www.utasker.com/docs/iMX/GCC.pdf (and video guide https://youtu.be/0UzLLSXABK8 )
Video Guide to encrypting NXP SDK examples to run from XiP memory using on-the-fly decryption and uploading with the µTasker loader: https://www.youtube.com/watch?v=5iT7KP691ls&list=PLWKlVb_MqDQEOCnsNOJO8gd3jDCwiyKKe&index=10
Video Guide to encrypting NXP SDK examples to run at optimal speed in internal RAM and uploading with the µTasker loader:
https://www.youtube.com/watch?v=fnfLQ-nbscI&list=PLWKlVb_MqDQEOCnsNOJO8gd3jDCwiyKKe&index=11
Video Guide for Embedded Artist OEM Module for i.MX RT 1062 showing precise secured application operation analysis: https://youtu.be/o7hQbOqhJoc
Hi mjbcswitzerland
Thanks for your reply.
Having a second board for updates looks to be over-complicated. Why don't you just use the inbuilt ISP capability?
Because i need to let factory operator update code on convenient way.
It's my boss require me to do this, so I want to check this method feasible.
And how to achieve.
I really need the answer and suggest.
Allen
Hi
If ISP doesn't prove to be convenient you can also use JTAG since there are various production programming solutions available for it.
Regards
Mark
Hi Mark
My purpose is to let operator can update code in production line without computer.
So I need second board, and second board have nor-flash.
I will pre-program the nor-flash.
And second board plug in custom board.
Custom board will boot from second board's nor-flash.
Second bootloader(nor-flash) will read the nor-flash's code and write to custom board's on chip flash.
If this method accomplished.
The operator only plug in second board to custom board, and turn on the power, then finished.
So that is why I need this method.
Allen
Hi
I believe that there are JTAG production programmers that do what you want. if you can identify an appropriate one it will be the simplest solution.
Otherwise, If I were building such a solution I would do the following:
1. Second board with image to be programmed to the first board connects to it as USB host and can also power the board
2. The first board is in ISP mode and the second programs its internal QSPI flash via the ISP protocol
This avoid complicated wiring. The ISP protocol is documented or can be easily reverse engineered by monitoring the PC programing tool's behavior.
Regards
Mark