I.MX RT1176 Bootloader

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

I.MX RT1176 Bootloader

654 Views
koray692
Contributor II

Hello ,

I am trying to use bootloader by using sdk example mcuboot_opensource and  flashloader_cm7 in mcuxpresso.

First question is that what is difference between mcuboot and flashloader ? 

Secondly, I download flashloader software to external memory of mcu and when I try to boot  my code by using secure provisioning, it does but I guess it erase first all memory then boot the my code so my code works but flashloader software has been erased, is there a way to change erase address and download address? And then I saw mfgtool, as far as I understand ,erase and download address could be changed by changing .bd files but I couldn't use mfgtool, it didn't work on serial uart.

If I could use mfgtool, also I want to try memory remapping, I wish to download two different software in memory and I want to do memory remapping.

So, mfgtool support to I.MX rt1176 ?

I.MX rt1176 supports memory remapping ?

 

I use this code for remapping it doesn't work for now .

#define REMAPPADDRSTART 0x400CC420u

#define REMAPPADDREND   0x400CC424u

#define REMAPPADDROFFSET 0x400CC428u
 
void UDS_EnableRemapAPP(uint32_t start_addr, uint32_t end_addr, uint32_t offset ){
 
uint32_t * remap_start = (uint32_t *)REMAPPADDRSTART;
uint32_t * remap_end   = (uint32_t *)REMAPPADDREND ;
uint32_t * remap_offset = (uint32_t *)REMAPPADDROFFSET;
 
* remap_start = start_addr | 0x1  ;
* remap_end   = end_addr ;
* remap_offset = offset ;
}
 
UDS_EnableRemapAPP(0x30000000 , 0x30010000 ,0x10000);
 
I flash two different code using gui flash tool on mcuxpresso.
 
 

Best regards.

0 Kudos
3 Replies

573 Views
koray692
Contributor II

Thank you for answer, additionally I have a question one more,

In remapping issue, as a example I wrote data to flash in different places and I could remap, it works. But I couldn't swap two software that is exist in flash by using remapping method. Isn't software at below enough ? Do I need use extra something , reset etc. 

Best Regards.

#define REMAPPADDRSTART 0x400CC420u

#define REMAPPADDREND   0x400CC424u

#define REMAPPADDROFFSET 0x400CC428u
 
void UDS_EnableRemapAPP(uint32_t start_addr, uint32_t end_addr, uint32_t offset ){
 
uint32_t * remap_start = (uint32_t *)REMAPPADDRSTART;
uint32_t * remap_end   = (uint32_t *)REMAPPADDREND ;
uint32_t * remap_offset = (uint32_t *)REMAPPADDROFFSET;
 
* remap_start = start_addr | 0x1  ;
* remap_end   = end_addr ;
* remap_offset = offset ;
}
 
UDS_EnableRemapAPP(0x30000000 , 0x30010000 ,0x10000);
 
0 Kudos

549 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @koray692 ,

No, there isn't. Remap means when you want to access an address between HADDRSTART and HADDREND, flexspi will access address+HADDROFFEST actually.

Your code is fine. But please make sure flexspi1 is well initialized.

 

Regards,

Jing

0 Kudos

585 Views
jingpan
NXP TechSupport
NXP TechSupport

Hi @koray692 ,

They are different project. Flashloader is used by blhost.exe. Blhost download it's binary image to ram and then communicate with it to erase/write/read/security. MCUBoot_opensource is from a open source project. You can read its readme file for how to use it.

mfgtool can support uart. Please refer to the manufacture user guide in Flashloader_RT106x_1.0_GA package.

Mfgtool support RT1170 because the protocol is same.

RT1170 Flexspi support memory remap.

 

Regards,

Jing

0 Kudos