iMX RT1176 - Custom bootloader, multiple images

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

iMX RT1176 - Custom bootloader, multiple images

跳至解决方案
1,812 次查看
brian_strickler
Contributor II

I am looking to implement a custom bootloader. I have requirements for this bootloader to be able to update its own image, the main os image, and additional peripheral device images. I wish to focus on the bootloader image and the main os image that run on the i.MX RT1176 for this discussion

Currently the main OS image is flashed to QSPI flash on FlexSPI2 and then the chip's built-in ROM bootloader copies that into internal RAM sections and executes from there. I will change this to the custom bootloader I will write. In my custom bootloader, I will receive a custom file over USB containing each image and temporarily store it in HyperRAM on FlexSPI1. I will then check this file for any data corruption. Next I will need to parse the file and store the images to the corresponding sections in QSPI flash. 

From my custom bootloader, how would I load my main OS image (now stored in QSPI flash) into internal RAM and begin execution? I'd imagine I would run the bootloader in a non-overlapping section of RAM compared to the main OS, then copy the main OS into the internal RAM sections I've linked them to, and then jump to the start of the main application? How would I do this? What is the best way to directly load the main OS image (now stored in QSPI flash) to internal RAM? Is there a particular format I should store it in flash as (.axf, .bin, .hex, ...)? Note: I have my main application linked to various internal sections of RAM that are not contiguous.

Other thought was to use the secondary boot but this appears to be just a backup in case the primary image (my custom bootloader in this case) gets corrupted. Is there a way to jump between the images in my application code or is this idea a dead end?

Thanks in advanced for any insights!

标记 (2)
0 项奖励
回复
1 解答
1,749 次查看
diego_charles
NXP TechSupport
NXP TechSupport

Hi @brian_strickler 

Thank you for reaching out! Let me provide you my thougths on this, as well some questions to understand better your goal.

When you ask for the best way to copy the Main OS image from Flash to QSPI, what is your parameter ?  Speed, memory usage, efficiency, code development effort?

When copying  data from FlexSPI to SRAM, we can use the FlexSPI APIs or the Rom BootLoader APIs. We have two demos, the FlexSPI and the ROMAPI in the SDK, to  illustrate its operation. 

With the FlexSPI APIS you have control of the source code, and with the BootROM you can only call the APIS  with parameters, saving coding and development effort. 

The format question is interesting, but those low level APIs I mentioned to not care about format, they copy chunks of Data from flash to SRAM arrays. Is format more important for you during while receiving and storing  the images? Our flashloader, and bootloader examples ( SBL) are able to receive images in hex and binary images, thanks to their support of the BLHOST tool. I mention this because you may use them as a refence, to handle image receiving, or for bootloader code development, also including jump to application. 

About your other thougths, we provide redundant boot feature on the RT1170, with this feature if your bootloader application gets corrupted, the bootROM will boot a back up copy. I do not know if this is relatead to what you want to do. 

Best regards,

Diego

 

 

 

在原帖中查看解决方案

2 回复数
1,750 次查看
diego_charles
NXP TechSupport
NXP TechSupport

Hi @brian_strickler 

Thank you for reaching out! Let me provide you my thougths on this, as well some questions to understand better your goal.

When you ask for the best way to copy the Main OS image from Flash to QSPI, what is your parameter ?  Speed, memory usage, efficiency, code development effort?

When copying  data from FlexSPI to SRAM, we can use the FlexSPI APIs or the Rom BootLoader APIs. We have two demos, the FlexSPI and the ROMAPI in the SDK, to  illustrate its operation. 

With the FlexSPI APIS you have control of the source code, and with the BootROM you can only call the APIS  with parameters, saving coding and development effort. 

The format question is interesting, but those low level APIs I mentioned to not care about format, they copy chunks of Data from flash to SRAM arrays. Is format more important for you during while receiving and storing  the images? Our flashloader, and bootloader examples ( SBL) are able to receive images in hex and binary images, thanks to their support of the BLHOST tool. I mention this because you may use them as a refence, to handle image receiving, or for bootloader code development, also including jump to application. 

About your other thougths, we provide redundant boot feature on the RT1170, with this feature if your bootloader application gets corrupted, the bootROM will boot a back up copy. I do not know if this is relatead to what you want to do. 

Best regards,

Diego

 

 

 

1,745 次查看
brian_strickler
Contributor II

Thanks for your reply @diego_charles . My main parameter in copying the main OS image out of QSPI flash into internal RAM is code development effort as I want to align with how that would typically be formatted and loaded. Most likely I will just use FlexSPI APIs to tailor it for my use. The flashloader and bootloader examples you've pointed out look like the references I was missing to connect all the dots. 

%3CLINGO-SUB%20id%3D%22lingo-sub-1966611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EiMX%20RT1176%20-%20%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A4%9A%E4%B8%AA%E5%9B%BE%E5%83%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1966611%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%AF%BB%E6%89%BE%E5%AE%9E%E7%8E%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%E6%88%91%E8%A6%81%E6%B1%82%E8%BF%99%E4%B8%AA%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E8%83%BD%E5%A4%9F%E6%9B%B4%E6%96%B0%E5%AE%83%E8%87%AA%E5%B7%B1%E7%9A%84%E6%98%A0%E5%83%8F%E3%80%81%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%E5%92%8C%E9%99%84%E5%8A%A0%E5%A4%96%E5%9B%B4%E8%AE%BE%E5%A4%87%E6%98%A0%E5%83%8F%E3%80%82%E6%88%91%E5%B8%8C%E6%9C%9B%E5%9C%A8%E6%9C%AC%E6%AC%A1%E8%AE%A8%E8%AE%BA%E4%B8%AD%E9%87%8D%E7%82%B9%E5%85%B3%E6%B3%A8%E5%9C%A8%20i.MX%20RT1176%20%E4%B8%8A%E8%BF%90%E8%A1%8C%E7%9A%84%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E6%98%A0%E5%83%8F%E5%92%8C%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%3C%2FP%3E%3CP%3E%E7%9B%AE%E5%89%8D%EF%BC%8C%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%E8%A2%AB%E9%97%AA%E5%AD%98%E5%88%B0%20FlexSPI2%20%E4%B8%8A%E7%9A%84%20QSPI%20%E9%97%AA%E5%AD%98%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E8%8A%AF%E7%89%87%E5%86%85%E7%BD%AE%E7%9A%84%20ROM%20%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%B0%86%E5%85%B6%E5%A4%8D%E5%88%B6%E5%88%B0%E5%86%85%E9%83%A8%20RAM%20%E9%83%A8%E5%88%86%E5%B9%B6%E4%BB%8E%E9%82%A3%E9%87%8C%E6%89%A7%E8%A1%8C%E3%80%82%E6%88%91%E5%B0%86%E6%8A%8A%E5%AE%83%E6%9B%B4%E6%94%B9%E4%B8%BA%E6%88%91%E5%B0%86%E8%A6%81%E7%BC%96%E5%86%99%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E3%80%82%E5%9C%A8%E6%88%91%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E4%B8%AD%EF%BC%8C%E6%88%91%E5%B0%86%E9%80%9A%E8%BF%87%20USB%20%E6%8E%A5%E6%94%B6%E5%8C%85%E5%90%AB%E6%AF%8F%E4%B8%AA%E5%9B%BE%E5%83%8F%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E5%B0%86%E5%85%B6%E4%B8%B4%E6%97%B6%E5%AD%98%E5%82%A8%E5%9C%A8%20FlexSPI1%20%E4%B8%8A%E7%9A%84%20HyperRAM%20%E4%B8%AD%E3%80%82%E7%84%B6%E5%90%8E%E6%88%91%E5%B0%86%E6%A3%80%E6%9F%A5%E6%AD%A4%E6%96%87%E4%BB%B6%E6%98%AF%E5%90%A6%E6%9C%89%E4%BB%BB%E4%BD%95%E6%95%B0%E6%8D%AE%E6%8D%9F%E5%9D%8F%E3%80%82%E6%8E%A5%E4%B8%8B%E6%9D%A5%E6%88%91%E9%9C%80%E8%A6%81%E8%A7%A3%E6%9E%90%E6%96%87%E4%BB%B6%E5%B9%B6%E5%B0%86%E5%9B%BE%E5%83%8F%E5%AD%98%E5%82%A8%E5%88%B0%20QSPI%20%E9%97%AA%E5%AD%98%E4%B8%AD%E7%9A%84%E7%9B%B8%E5%BA%94%E9%83%A8%E5%88%86%E3%80%82%3C%2FP%3E%3CP%3E%E4%BB%8E%E6%88%91%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%88%91%E5%A6%82%E4%BD%95%E5%B0%86%E6%88%91%E7%9A%84%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%EF%BC%88%E7%8E%B0%E5%9C%A8%E5%AD%98%E5%82%A8%E5%9C%A8%20QSPI%20%E9%97%AA%E5%AD%98%E4%B8%AD%EF%BC%89%E5%8A%A0%E8%BD%BD%E5%88%B0%E5%86%85%E9%83%A8%20RAM%20%E4%B8%AD%E5%B9%B6%E5%BC%80%E5%A7%8B%E6%89%A7%E8%A1%8C%EF%BC%9F%E6%88%91%E6%83%B3%E6%88%91%E4%BC%9A%E5%9C%A8%E4%B8%8E%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E4%B8%8D%E9%87%8D%E5%8F%A0%E7%9A%84%20RAM%20%E9%83%A8%E5%88%86%E4%B8%AD%E8%BF%90%E8%A1%8C%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E7%84%B6%E5%90%8E%E5%B0%86%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E5%A4%8D%E5%88%B6%E5%88%B0%E6%88%91%E9%93%BE%E6%8E%A5%E5%88%B0%E7%9A%84%E5%86%85%E9%83%A8%20RAM%20%E9%83%A8%E5%88%86%E4%B8%AD%EF%BC%8C%E7%84%B6%E5%90%8E%E8%B7%B3%E8%BD%AC%E5%88%B0%E4%B8%BB%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E5%BC%80%E5%A4%B4%EF%BC%9F%E6%88%91%E8%AF%A5%E6%80%8E%E4%B9%88%E5%81%9A%E5%91%A2%EF%BC%9F%E5%B0%86%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%EF%BC%88%E7%8E%B0%E5%9C%A8%E5%AD%98%E5%82%A8%E5%9C%A8%20QSPI%20%E9%97%AA%E5%AD%98%E4%B8%AD%EF%BC%89%E7%9B%B4%E6%8E%A5%E5%8A%A0%E8%BD%BD%E5%88%B0%E5%86%85%E9%83%A8%20RAM%20%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E6%88%91%E5%BA%94%E8%AF%A5%E4%BB%A5%E7%89%B9%E5%AE%9A%E6%A0%BC%E5%BC%8F%E5%B0%86%E5%85%B6%E5%AD%98%E5%82%A8%E5%9C%A8%E9%97%AA%E5%AD%98%E4%B8%AD%E5%90%97%EF%BC%88.axf%E3%80%81.bin%E3%80%81.%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%EF%BC%8C...%EF%BC%89%EF%BC%9F%3CEM%3E%E6%B3%A8%E6%84%8F%EF%BC%9A%3C%2FEM%3E%3CEM%3E%E6%88%91%E7%9A%84%E4%B8%BB%E8%A6%81%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E9%93%BE%E6%8E%A5%E5%88%B0%20RAM%20%E4%B8%AD%E4%B8%8D%E8%BF%9E%E7%BB%AD%E7%9A%84%E5%90%84%E4%B8%AA%E5%86%85%E9%83%A8%E9%83%A8%E5%88%86%E3%80%82%3C%2FEM%3E%3C%2FP%3E%3CP%3E%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%83%B3%E6%B3%95%E6%98%AF%E4%BD%BF%E7%94%A8%E8%BE%85%E5%8A%A9%E5%90%AF%E5%8A%A8%EF%BC%8C%E4%BD%86%E8%BF%99%E4%BC%BC%E4%B9%8E%E5%8F%AA%E6%98%AF%E4%B8%80%E4%B8%AA%E5%A4%87%E4%BB%BD%EF%BC%8C%E4%BB%A5%E9%98%B2%E4%B8%BB%E6%98%A0%E5%83%8F%EF%BC%88%E5%9C%A8%E6%9C%AC%E4%BE%8B%E4%B8%AD%E6%98%AF%E6%88%91%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%89%E6%8D%9F%E5%9D%8F%E3%80%82%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%E6%88%91%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81%E4%B8%AD%E7%9A%84%E5%9B%BE%E5%83%8F%E4%B9%8B%E9%97%B4%E8%B7%B3%E8%BD%AC%EF%BC%8C%E6%88%96%E8%80%85%E8%BF%99%E4%B8%AA%E6%83%B3%E6%B3%95%E6%98%AF%E6%AD%BB%E8%B7%AF%E4%B8%80%E6%9D%A1%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%8F%90%E5%89%8D%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E4%BB%BB%E4%BD%95%E8%A7%81%E8%A7%A3%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1969303%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AiMX%20RT1176%20-%20%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A4%9A%E4%B8%AA%E5%9B%BE%E5%83%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1969303%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%9B%9E%E5%A4%8D%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F89833%22%20target%3D%22_blank%22%3E%40diego_charles%3C%2FA%3E%20%E3%80%82%E5%B0%86%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%E4%BB%8E%20QSPI%20%E9%97%AA%E5%AD%98%E5%A4%8D%E5%88%B6%E5%88%B0%E5%86%85%E9%83%A8%20RAM%20%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8F%82%E6%95%B0%E6%98%AF%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%EF%BC%8C%E5%9B%A0%E4%B8%BA%E6%88%91%E6%83%B3%E4%B8%8E%E9%80%9A%E5%B8%B8%E7%9A%84%E6%A0%BC%E5%BC%8F%E5%8C%96%E5%92%8C%E5%8A%A0%E8%BD%BD%E6%96%B9%E5%BC%8F%E4%BF%9D%E6%8C%81%E4%B8%80%E8%87%B4%E3%80%82%E6%9C%80%E6%9C%89%E5%8F%AF%E8%83%BD%E7%9A%84%E6%98%AF%EF%BC%8C%E6%88%91%E5%8F%AA%E4%BC%9A%E4%BD%BF%E7%94%A8%20FlexSPI%20API%20%E6%9D%A5%E6%A0%B9%E6%8D%AE%E6%88%91%E7%9A%84%E7%94%A8%E9%80%94%E8%BF%9B%E8%A1%8C%E5%AE%9A%E5%88%B6%E3%80%82%E6%82%A8%E6%8C%87%E5%87%BA%E7%9A%84%E9%97%AA%E5%AD%98%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%92%8C%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%B0%B1%E5%83%8F%E6%88%91%E7%BC%BA%E5%B0%91%E7%9A%84%E8%BF%9E%E6%8E%A5%E6%89%80%E6%9C%89%E7%82%B9%E7%9A%84%E5%8F%82%E8%80%83%E8%B5%84%E6%96%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-1969263%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9AiMX%20RT1176%20-%20%E8%87%AA%E5%AE%9A%E4%B9%89%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%EF%BC%8C%E5%A4%9A%E4%B8%AA%E5%9B%BE%E5%83%8F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-1969263%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F217791%22%20target%3D%22_blank%22%3E%40brian_strickler%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E8%81%94%E7%B3%BB%EF%BC%81%E8%AE%A9%E6%88%91%E5%90%91%E6%82%A8%E6%8F%90%E4%BE%9B%E6%88%91%E5%AF%B9%E6%AD%A4%E7%9A%84%E6%83%B3%E6%B3%95%EF%BC%8C%E4%BB%A5%E5%8F%8A%E4%B8%80%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%8C%E4%BB%A5%E4%BE%BF%E6%9B%B4%E5%A5%BD%E5%9C%B0%E4%BA%86%E8%A7%A3%E6%82%A8%E7%9A%84%E7%9B%AE%E6%A0%87%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%BD%93%E6%82%A8%E8%AF%A2%E9%97%AE%E5%B0%86%E4%B8%BB%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%E6%98%A0%E5%83%8F%E4%BB%8E%20Flash%20%E5%A4%8D%E5%88%B6%E5%88%B0%20QSPI%20%E7%9A%84%E6%9C%80%E4%BD%B3%E6%96%B9%E6%B3%95%E6%97%B6%EF%BC%8C%E6%82%A8%E7%9A%84%E5%8F%82%E6%95%B0%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F%E9%80%9F%E5%BA%A6%E3%80%81%E5%86%85%E5%AD%98%E4%BD%BF%E7%94%A8%E3%80%81%E6%95%88%E7%8E%87%E3%80%81%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E9%87%8F%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E5%B0%86%E6%95%B0%E6%8D%AE%E4%BB%8E%20FlexSPI%20%E5%A4%8D%E5%88%B6%E5%88%B0%20SRAM%20%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8%20FlexSPI%20API%20%E6%88%96%20Rom%20BootLoader%20API%E3%80%82%E6%88%91%E4%BB%AC%E5%9C%A8%20SDK%20%E4%B8%AD%E6%9C%89%E4%B8%A4%E4%B8%AA%E6%BC%94%E7%A4%BA%EF%BC%8CFlexSPI%20%E5%92%8C%20ROMAPI%EF%BC%8C%E6%9D%A5%E8%AF%B4%E6%98%8E%E5%85%B6%E6%93%8D%E4%BD%9C%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BD%BF%E7%94%A8%20FlexSPI%20APIS%EF%BC%8C%E6%82%A8%E5%8F%AF%E4%BB%A5%E6%8E%A7%E5%88%B6%E6%BA%90%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%80%8C%E4%BD%BF%E7%94%A8%20BootROM%EF%BC%8C%E6%82%A8%E5%8F%AA%E8%83%BD%E4%BD%BF%E7%94%A8%E5%8F%82%E6%95%B0%E8%B0%83%E7%94%A8%20APIS%EF%BC%8C%E4%BB%8E%E8%80%8C%E8%8A%82%E7%9C%81%E7%BC%96%E7%A0%81%E5%92%8C%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%A0%BC%E5%BC%8F%E9%97%AE%E9%A2%98%E5%BE%88%E6%9C%89%E8%B6%A3%EF%BC%8C%E4%BD%86%E6%88%91%E6%8F%90%E5%88%B0%E7%9A%84%E9%82%A3%E4%BA%9B%E4%BD%8E%E7%BA%A7%20API%20%E5%B9%B6%E4%B8%8D%E5%85%B3%E5%BF%83%E6%A0%BC%E5%BC%8F%EF%BC%8C%E5%AE%83%E4%BB%AC%E5%B0%86%E6%95%B0%E6%8D%AE%E5%9D%97%E4%BB%8E%E9%97%AA%E5%AD%98%E5%A4%8D%E5%88%B6%E5%88%B0%20SRAM%20%E9%98%B5%E5%88%97%E3%80%82%E5%9C%A8%E6%8E%A5%E6%94%B6%E5%92%8C%E5%AD%98%E5%82%A8%E5%9B%BE%E5%83%8F%E6%97%B6%EF%BC%8C%E6%A0%BC%E5%BC%8F%E5%AF%B9%E6%82%A8%E6%9D%A5%E8%AF%B4%E6%9B%B4%E9%87%8D%E8%A6%81%E5%90%97%EF%BC%9F%E7%94%B1%E4%BA%8E%E6%94%AF%E6%8C%81%20BLHOST%20%E5%B7%A5%E5%85%B7%EF%BC%8C%E6%88%91%E4%BB%AC%E7%9A%84%E9%97%AA%E5%AD%98%E5%8A%A0%E8%BD%BD%E5%99%A8%E5%92%8C%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E5%99%A8%E7%A4%BA%E4%BE%8B%EF%BC%88%20%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fnxp-mcuxpresso%2Fsbl%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ESBL%3C%2FA%3E%20%EF%BC%89%E8%83%BD%E5%A4%9F%E6%8E%A5%E6%94%B6%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E5%92%8C%E4%BA%8C%E8%BF%9B%E5%88%B6%E5%9B%BE%E5%83%8F%E3%80%82%E6%88%91%E6%8F%90%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%E6%98%AF%E5%9B%A0%E4%B8%BA%E6%82%A8%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%AE%83%E4%BB%AC%E7%94%A8%E4%BD%9C%E5%8F%82%E8%80%83%EF%BC%8C%E6%9D%A5%E5%A4%84%E7%90%86%E5%9B%BE%E5%83%8F%E6%8E%A5%E6%94%B6%EF%BC%8C%E6%88%96%E7%94%A8%E4%BA%8E%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E4%BB%A3%E7%A0%81%E5%BC%80%E5%8F%91%EF%BC%8C%E8%BF%98%E5%8C%85%E6%8B%AC%E8%B7%B3%E8%BD%AC%E5%88%B0%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%85%B3%E4%BA%8E%E6%82%A8%E7%9A%84%E5%85%B6%E4%BB%96%E6%83%B3%E6%B3%95%EF%BC%8C%E6%88%91%E4%BB%AC%E5%9C%A8%20RT1170%20%E4%B8%8A%E6%8F%90%E4%BE%9B%E4%BA%86%E5%86%97%E4%BD%99%E5%90%AF%E5%8A%A8%E5%8A%9F%E8%83%BD%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E7%9A%84%E5%BC%95%E5%AF%BC%E5%8A%A0%E8%BD%BD%E7%A8%8B%E5%BA%8F%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8D%9F%E5%9D%8F%EF%BC%8C%E5%88%99%E6%AD%A4%E5%8A%9F%E8%83%BD%E4%BC%9A%E4%BD%BF%20bootROM%20%E5%90%AF%E5%8A%A8%E5%A4%87%E4%BB%BD%E5%89%AF%E6%9C%AC%E3%80%82%E6%88%91%E4%B8%8D%E7%9F%A5%E9%81%93%E8%BF%99%E6%98%AF%E5%90%A6%E4%B8%8E%E6%82%A8%E6%83%B3%E8%A6%81%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%E6%9C%89%E5%85%B3%E3%80%82%3C%2FP%3E%0A%3CP%3E%E9%A1%BA%E7%A5%9D%E5%95%86%E7%A5%BA%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%BF%AD%E6%88%88%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E