RW612 Nonsecure Flash Setting Breaks Reset Functionality

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

RW612 Nonsecure Flash Setting Breaks Reset Functionality

Jump to solution
1,551 Views
jm-streametric
Contributor III

Hello,

I'm experiencing a weird bug with ARM TF-M and Zephyr (NXP downstream v4.3.0) on the FRDM-RW612.  I want to use a region of my flash chip for a nonsecure LittleFS filesystem.  I followed the NXP guide for adding a NS region (link) and I can successfully use the region for my filesystem, no problems with the Zephyr/FS API or access issues.

My problem is that when I have the CONFIG_FLASH KConfig option enabled, I can no longer reset my board.  Calling tfm_platform_system_reset(), NVIC_SystemReset(), or even pressing the physical reset button all lock up the processor and do not actually reset the board anymore.

I stepped through with a debugger and the last line executed before the debugger is detached/broken away from is core_cm33.h:2683 (within __NVIC_SystemReset):

SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
(SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
SCB_AIRCR_SYSRESETREQ_Msk );

If I attach a debugger after the reset occurs, GDB says the program at address 0x20005840 forever.

I've tried the same thing on a very basic program, even adding CONFIG_FLASH to the zephyr hello world program causes resets to fail in the same way.

 

Any help is appreciated, thank you!

Tags (4)
0 Kudos
Reply
1 Solution
1,178 Views
jm-streametric
Contributor III
Hi Roman,
I found out the schematic for my board was wrong, and the flash chip I was using was really the W25Q01 instead of the W25Q512 like the FRDM-RW612. I soldered a W25Q512 to my board and now it resets with no problem. I apologize for wasting your time before.

Are there any resources for how to reconfigure the flash settings to work with my chip? I see the fc_flexspi_nor_config_t struct in flash_config.c which is set up for the W25Q512, but is there a document or guide that specifies what I would need to change to adapt to my new chip?

View solution in original post

0 Kudos
Reply
9 Replies
1,434 Views
RomanVR
NXP Employee
NXP Employee

Hi @jm-streametric, hope you are doing well.

In order to help me better analyze this behavior, would you please confirm if in the tests that you have done with the hello world example, the only setting that you add is the CONFIG_FLASH? Or are you also enabling your added NS region with the setting created from the guide (CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION=y)?

I have tried to run the hello world example from Zephyr (v4.3.0 downstream) only adding the CONFIG_FLASH setting and I am able to reset the board.

Best Regards!
0 Kudos
Reply
1,318 Views
jm-streametric
Contributor III
Hi Roman,
I made an error on the post when specifying the board, I am using a custom board with the RW610 but the flash configuration is exactly the same as the FRDM-RW612. I can get the development board to reset even with CONFIG_FLASH=y, but my custom board has the issue described in my post.

Even with the TF-M and Zephyr repos set to FRDM-RW612 defaults, I get the problem of being unable to reset the board when CONFIG_FLASH=y (with and without the custom data regions). Is there a difference between the RW610 and RW612 that could cause flash/flexspi problems? Or do you think it may be another problem with my board?
0 Kudos
Reply
1,304 Views
RomanVR
NXP Employee
NXP Employee

Hello Jake, thank you for the clarification.

The difference between RW610 and RW612 is that RW610 does not support 802.15.4 protocol, therefore there is no difference with the flexspi peripheral.

Would you please confirm if you are using the FRDM-RW612 files to test these features? Or have you done your own directory for your board in Zephyr?

Also, are you able to run the examples properly without the reset functionality? Or is the MCU going to hardfault at a certain point?

Best Regards!
0 Kudos
Reply
1,283 Views
jm-streametric
Contributor III
Hi Roman,

I am using the unmodified FRDM-RW612 files to test my board for the flash features since my board uses the same flash IC. I have different peripherals on my board which I have overlays for, but I'm not applying those overlays for this flash test case.

The flash does work, I can access the flash data within my custom region just fine. When I access flash outside of the custom region I get a fault, which is expected. The only thing that doesn't work is that trying to reset the board either physically or with tfm_platform_system_reset() locks the board up as described above.

Thank you
0 Kudos
Reply
1,268 Views
RomanVR
NXP Employee
NXP Employee

Hi Jake, thank you for the information.

So, when you add the "CONFIG_FLASH=y" setting to any project, you are able to run the application normally, except when you try to do any type of reset, which leads your program to be in an infinite loop at address 0x20005840, is my understanding correct?

Would you please check the Reset status Register (SYS_RST_STATUS) to check if the reset cause is being registered? Additionally, have you done all your tests with the non-secure version of the board?

If you have a FRDM-RW612 board, could you please perform some tests on it and let me know whether this behavior is present or not, with the same configs you are adding to test with your custom board?

Best Regards!
0 Kudos
Reply
1,238 Views
jm-streametric
Contributor III

Hi Roman,

So, when you add the "CONFIG_FLASH=y" setting to any project, you are able to run the application normally, except when you try to do any type of reset, which leads your program to be in an infinite loop at address 0x20005840, is my understanding correct?

Yes, this is correct.  I'm only able to restart the program by powering the board off and back on.

 

Would you please check the Reset status Register (SYS_RST_STATUS) to check if the reset cause is being registered?

I'm currently trying these tests with the zephyr sample hello_world.  With or without CONFIG_FLASH=y, and with my custom board or the actual FRDM-RW612, I wasn't able to get a value on SYS_RST_STATUS.  I tried pressing the physical reset button (connected to PDn on the SOC), calling tfm_platform_system_reset() after the printf statement, and triggering a hardfault by accessing a NULL pointer, but none of these produced values on the reset status register.

I tried sampling it before reset, after reset in the loop at address 0x20005840, and after reset in the BL2 stage and no matter what SYS_RST_STATUS was 0.  I'm not sure if I'm checking it wrong, I use GDB (through west attach) to debug and got the value within the PMU block by printing p *((PMU_Type*)0x40031000u).  If it helps to know, the SYS_RST_EN register was always 0x39 when I sampled.

 

Additionally, have you done all your tests with the non-secure version of the board?

Yes, I build all of these tests clean by removing the build folder then running west build -b frdm_rw612/rw612/ns.

 

let me know whether this behavior is present or not, with the same configs you are adding to test with your custom board?

Most of my configs are related to peripherals on the flexcomm ports.  For my testing on this issue, I've only left changes I made to the TF-M profile.  I am using the TF-M medium arotless profile instead of large so I can perform over-the-air firmware updates with the TF-M FWU partition.  For this I have 3 extra zephyr KConfig options:

CONFIG_TFM_PROFILE_TYPE_AROTLESS=y
CONFIG_TFM_SFN=y
CONFIG_TFM_ISOLATION_LEVEL=1

And the only thing I've edited in the TF-M module folder is the following profile setting in modules/tee/tf-m/trusted-firmware-m/platform/ext/target/nxp/frdmrw612/config.cmake:

set(TFM_PROFILE "profile_medium_arotless" CACHE STRING "The TF-M profile")

Which was modified from "profile_large"

 

Thank you for your help, please let me know if I can provide any more information.

0 Kudos
Reply
1,234 Views
RomanVR
NXP Employee
NXP Employee

Hi Jake, thank you for answering my questions.

Since you mentioned that you tested with the FRDM-RW612, are you able to replicate the reset behavior in this board? I have tried by adding your configs and TF-M build changes (TF-M profile), but I am still unable to reproduce your behavior.

If you are able to replicate this, would you please share the detailed steps that you are following to reproduce the behavior on the FRDM-RW612?

Best Regards!
0 Kudos
Reply
1,179 Views
jm-streametric
Contributor III
Hi Roman,
I found out the schematic for my board was wrong, and the flash chip I was using was really the W25Q01 instead of the W25Q512 like the FRDM-RW612. I soldered a W25Q512 to my board and now it resets with no problem. I apologize for wasting your time before.

Are there any resources for how to reconfigure the flash settings to work with my chip? I see the fc_flexspi_nor_config_t struct in flash_config.c which is set up for the W25Q512, but is there a document or guide that specifies what I would need to change to adapt to my new chip?
0 Kudos
Reply
1,173 Views
RomanVR
NXP Employee
NXP Employee

Hello Jake, don't worry about it, thank you for letting me know the root cause.

Unfortunately, there is no specific guide to reconfigure the flash. However, you could take as reference the structure of the RD-RW612-BGA board directory, or the IRIS-W1-EVK board directory (from u-Blox) which both have different flash ICs from the FRDM board, on what changes are required in case of using a different flash.

In the case of TF-M there is also the directory of the RD-RW612-BGA non-secure version of the board, which also may serve as reference for the required changes.

Hope this helps!

Best Regards!
%3CLINGO-SUB%20id%3D%22lingo-sub-2363471%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2363471%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3EI'm%20experiencing%20a%20weird%20bug%20with%20ARM%20TF-M%20and%20Zephyr%20(NXP%20downstream%20v4.3.0)%20on%20the%20FRDM-RW612.%26nbsp%3B%20I%20want%20to%20use%20a%20region%20of%20my%20flash%20chip%20for%20a%20nonsecure%20LittleFS%20filesystem.%26nbsp%3B%20I%20followed%20the%20NXP%20guide%20for%20adding%20a%20NS%20region%20(%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FZephyr-Project-Knowledge-Base%2FAdding-a-non-secure-region-in-TF-M-based-in-Zephyr-on-FRDM-RW612%2Fta-p%2F2202808%22%20target%3D%22_self%22%3Elink%3C%2FA%3E)%20and%20I%20can%20successfully%20use%20the%20region%20for%20my%20filesystem%2C%20no%20problems%20with%20the%20Zephyr%2FFS%20API%20or%20access%20issues.%3C%2FP%3E%3CP%3EMy%20problem%20is%20that%20when%20I%20have%20the%20CONFIG_FLASH%20KConfig%20option%20enabled%2C%20I%20can%20no%20longer%20reset%20my%20board.%26nbsp%3B%20Calling%26nbsp%3Btfm_platform_system_reset()%2C%20NVIC_SystemReset()%2C%20or%20even%20pressing%20the%20physical%20reset%20button%20all%20lock%20up%20the%20processor%20and%20do%20not%20actually%20reset%20the%20board%20anymore.%3C%2FP%3E%3CP%3EI%20stepped%20through%20with%20a%20debugger%20and%20the%20last%20line%20executed%20before%20the%20debugger%20is%20detached%2Fbroken%20away%20from%20is%20core_cm33.h%3A2683%20(within%20__NVIC_SystemReset)%3A%3C%2FP%3E%3CP%3ESCB-%26gt%3BAIRCR%20%3D%20(uint32_t)((0x5FAUL%20%26lt%3B%26lt%3B%20SCB_AIRCR_VECTKEY_Pos)%20%7C%3CBR%20%2F%3E(SCB-%26gt%3BAIRCR%20%26amp%3B%20SCB_AIRCR_PRIGROUP_Msk)%20%7C%3CBR%20%2F%3ESCB_AIRCR_SYSRESETREQ_Msk%20)%3B%3C%2FP%3E%3CP%3EIf%20I%20attach%20a%20debugger%20after%20the%20reset%20occurs%2C%20GDB%20says%20the%20program%20at%20address%26nbsp%3B0x20005840%20forever.%3C%2FP%3E%3CP%3EI've%20tried%20the%20same%20thing%20on%20a%20very%20basic%20program%2C%20even%20adding%20CONFIG_FLASH%20to%20the%20zephyr%20hello%20world%20program%20causes%20resets%20to%20fail%20in%20the%20same%20way.%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EAny%20help%20is%20appreciated%2C%20thank%20you!%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2365087%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2365087%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%26nbsp%3B%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F257253%22%20target%3D%22_blank%22%3E%40jm-streametric%3C%2FA%3E%2C%26nbsp%3Bhope%20you%20are%20doing%20well.%3C%2FP%3E%0A%3CP%3EIn%20order%20to%20help%20me%20better%20analyze%20this%20behavior%2C%20would%20you%20please%20confirm%20if%20in%20the%20tests%20that%20you%20have%20done%20with%20the%20hello%20world%20example%2C%20the%20only%20setting%20that%20you%20add%20is%20the%20CONFIG_FLASH%3F%20Or%20are%20you%20also%20enabling%20your%20added%20NS%20region%20with%20the%20setting%20created%20from%20the%20guide%20(CONFIG_TFM_CUSTOM_DATA_IMPORT_REGION%3Dy)%3F%3C%2FP%3E%0A%3CP%3EI%20have%20tried%20to%20run%20the%20hello%20world%20example%20from%20Zephyr%20(v4.3.0%20downstream)%20only%20adding%20the%20CONFIG_FLASH%20setting%20and%20I%20am%20able%20to%20reset%20the%20board.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2367140%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2367140%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Jake%2C%20thank%20you%20for%20the%20clarification.%3C%2FP%3E%0A%3CP%3EThe%20difference%20between%20RW610%20and%20RW612%20is%20that%20RW610%20does%20not%20support%20802.15.4%20protocol%2C%20therefore%20there%20is%20no%20difference%20with%20the%20flexspi%20peripheral.%3C%2FP%3E%0A%3CP%3EWould%20you%20please%20confirm%20if%20you%20are%20using%20the%20FRDM-RW612%20files%20to%20test%20these%20features%3F%20Or%20have%20you%20done%20your%20own%20directory%20for%20your%20board%20in%20Zephyr%3F%3C%2FP%3E%0A%3CP%3EAlso%2C%20are%20you%20able%20to%20run%20the%20examples%20properly%20without%20the%20reset%20functionality%3F%20Or%20is%20the%20MCU%20going%20to%20hardfault%20at%20a%20certain%20point%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2366994%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2366994%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20Roman%2C%3CBR%20%2F%3EI%20made%20an%20error%20on%20the%20post%20when%20specifying%20the%20board%2C%20I%20am%20using%20a%20custom%20board%20with%20the%20RW610%20but%20the%20flash%20configuration%20is%20exactly%20the%20same%20as%20the%20FRDM-RW612.%20I%20can%20get%20the%20development%20board%20to%20reset%20even%20with%20CONFIG_FLASH%3Dy%2C%20but%20my%20custom%20board%20has%20the%20issue%20described%20in%20my%20post.%3CBR%20%2F%3E%3CBR%20%2F%3EEven%20with%20the%20TF-M%20and%20Zephyr%20repos%20set%20to%20FRDM-RW612%20defaults%2C%20I%20get%20the%20problem%20of%20being%20unable%20to%20reset%20the%20board%20when%20CONFIG_FLASH%3Dy%20(with%20and%20without%20the%20custom%20data%20regions).%20Is%20there%20a%20difference%20between%20the%20RW610%20and%20RW612%20that%20could%20cause%20flash%2Fflexspi%20problems%3F%20Or%20do%20you%20think%20it%20may%20be%20another%20problem%20with%20my%20board%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2367917%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2367917%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Jake%2C%20thank%20you%20for%20the%20information.%3C%2FP%3E%0A%3CP%3ESo%2C%20when%20you%20add%20the%20%22CONFIG_FLASH%3Dy%22%20setting%20to%20any%20project%2C%20you%20are%20able%20to%20run%20the%20application%20normally%2C%20except%20when%20you%20try%20to%20do%20any%20type%20of%20reset%2C%20which%20leads%20your%20program%20to%20be%20in%20an%20infinite%20loop%20at%20address%200x20005840%2C%20is%20my%20understanding%20correct%3F%3C%2FP%3E%0A%3CP%3EWould%20you%20please%20check%20the%20Reset%20status%20Register%20(%3CSTRONG%3ESYS_RST_STATUS%3C%2FSTRONG%3E)%20to%20check%20if%20the%20reset%20cause%20is%20being%20registered%3F%20Additionally%2C%20have%20you%20done%20all%20your%20tests%20with%20the%20non-secure%20version%20of%20the%20board%3F%3C%2FP%3E%0A%3CP%3EIf%20you%20have%20a%20FRDM-RW612%20board%2C%20could%20you%20please%20perform%20some%20tests%20on%20it%20and%20let%20me%20know%20whether%20this%20behavior%20is%20present%20or%20not%2C%20with%20the%20same%20configs%20you%20are%20adding%20to%20test%20with%20your%20custom%20board%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2367670%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2367670%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20Roman%2C%3CBR%20%2F%3E%3CBR%20%2F%3EI%20am%20using%20the%20unmodified%20FRDM-RW612%20files%20to%20test%20my%20board%20for%20the%20flash%20features%20since%20my%20board%20uses%20the%20same%20flash%20IC.%20I%20have%20different%20peripherals%20on%20my%20board%20which%20I%20have%20overlays%20for%2C%20but%20I'm%20not%20applying%20those%20overlays%20for%20this%20flash%20test%20case.%3CBR%20%2F%3E%3CBR%20%2F%3EThe%20flash%20does%20work%2C%20I%20can%20access%20the%20flash%20data%20within%20my%20custom%20region%20just%20fine.%20When%20I%20access%20flash%20outside%20of%20the%20custom%20region%20I%20get%20a%20fault%2C%20which%20is%20expected.%20The%20only%20thing%20that%20doesn't%20work%20is%20that%20trying%20to%20reset%20the%20board%20either%20physically%20or%20with%20tfm_platform_system_reset()%20locks%20the%20board%20up%20as%20described%20above.%3CBR%20%2F%3E%3CBR%20%2F%3EThank%20you%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2368539%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368539%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Roman%2C%3C%2FP%3E%3CBLOCKQUOTE%3E%3CP%3ESo%2C%20when%20you%20add%20the%20%22CONFIG_FLASH%3Dy%22%20setting%20to%20any%20project%2C%20you%20are%20able%20to%20run%20the%20application%20normally%2C%20except%20when%20you%20try%20to%20do%20any%20type%20of%20reset%2C%20which%20leads%20your%20program%20to%20be%20in%20an%20infinite%20loop%20at%20address%200x20005840%2C%20is%20my%20understanding%20correct%3F%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EYes%2C%20this%20is%20correct.%26nbsp%3B%20I'm%20only%20able%20to%20restart%20the%20program%20by%20powering%20the%20board%20off%20and%20back%20on.%3C%2FP%3E%3CBR%20%2F%3E%3CBLOCKQUOTE%3E%3CP%3EWould%20you%20please%20check%20the%20Reset%20status%20Register%20(%3CSTRONG%3ESYS_RST_STATUS%3C%2FSTRONG%3E)%20to%20check%20if%20the%20reset%20cause%20is%20being%20registered%3F%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EI'm%20currently%20trying%20these%20tests%20with%20the%20zephyr%20sample%20hello_world.%26nbsp%3B%20With%20or%20without%20CONFIG_FLASH%3Dy%2C%20and%20with%20my%20custom%20board%20or%20the%20actual%20FRDM-RW612%2C%20I%20wasn't%20able%20to%20get%20a%20value%20on%20SYS_RST_STATUS.%26nbsp%3B%20I%20tried%20pressing%20the%20physical%20reset%20button%20(connected%20to%20PDn%20on%20the%20SOC)%2C%20calling%26nbsp%3Btfm_platform_system_reset()%20after%20the%20printf%20statement%2C%20and%20triggering%20a%20hardfault%20by%20accessing%20a%20NULL%20pointer%2C%20but%20none%20of%20these%20produced%20values%20on%20the%20reset%20status%20register.%3C%2FP%3E%3CP%3EI%20tried%20sampling%20it%20before%20reset%2C%20after%20reset%20in%20the%20loop%20at%20address%26nbsp%3B0x20005840%2C%20and%20after%20reset%20in%20the%20BL2%20stage%20and%20no%20matter%20what%26nbsp%3BSYS_RST_STATUS%20was%200.%26nbsp%3B%20I'm%20not%20sure%20if%20I'm%20checking%20it%20wrong%2C%20I%20use%20GDB%20(through%20west%20attach)%20to%20debug%20and%20got%20the%20value%20within%20the%20PMU%20block%20by%20printing%26nbsp%3B%3CSTRONG%3Ep%20*((PMU_Type*)0x40031000u)%3C%2FSTRONG%3E.%26nbsp%3B%20If%20it%20helps%20to%20know%2C%20the%20SYS_RST_EN%20register%20was%20always%200x39%20when%20I%20sampled.%3C%2FP%3E%3CBR%20%2F%3E%3CBLOCKQUOTE%3E%3CP%3EAdditionally%2C%20have%20you%20done%20all%20your%20tests%20with%20the%20non-secure%20version%20of%20the%20board%3F%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EYes%2C%20I%20build%20all%20of%20these%20tests%20clean%20by%20removing%20the%20build%20folder%20then%20running%26nbsp%3B%3CSTRONG%3Ewest%20build%20-b%20frdm_rw612%2Frw612%2Fns%3C%2FSTRONG%3E.%3C%2FP%3E%3CBR%20%2F%3E%3CBLOCKQUOTE%3E%3CP%3Elet%20me%20know%20whether%20this%20behavior%20is%20present%20or%20not%2C%20with%20the%20same%20configs%20you%20are%20adding%20to%20test%20with%20your%20custom%20board%3F%3C%2FP%3E%3C%2FBLOCKQUOTE%3E%3CP%3EMost%20of%20my%20configs%20are%20related%20to%20peripherals%20on%20the%20flexcomm%20ports.%26nbsp%3B%20For%20my%20testing%20on%20this%20issue%2C%20I've%20only%20left%20changes%20I%20made%20to%20the%20TF-M%20profile.%26nbsp%3B%20I%20am%20using%20the%20TF-M%20medium%20arotless%20profile%20instead%20of%20large%20so%20I%20can%20perform%20over-the-air%20firmware%20updates%20with%20the%20TF-M%20FWU%20partition.%26nbsp%3B%20For%20this%20I%20have%203%20extra%20zephyr%20KConfig%20options%3A%3C%2FP%3E%3CP%3ECONFIG_TFM_PROFILE_TYPE_AROTLESS%3Dy%3CBR%20%2F%3ECONFIG_TFM_SFN%3Dy%3CBR%20%2F%3ECONFIG_TFM_ISOLATION_LEVEL%3D1%3C%2FP%3E%3CP%3EAnd%20the%20only%20thing%20I've%20edited%20in%20the%20TF-M%20module%20folder%20is%20the%20following%20profile%20setting%20in%20modules%2Ftee%2Ftf-m%2Ftrusted-firmware-m%2Fplatform%2Fext%2Ftarget%2Fnxp%2Ffrdmrw612%2Fconfig.cmake%3A%3C%2FP%3E%3CP%3Eset(TFM_PROFILE%20%22profile_medium_arotless%22%20CACHE%20STRING%20%22The%20TF-M%20profile%22)%3C%2FP%3E%3CP%3EWhich%20was%20modified%20from%20%22profile_large%22%3C%2FP%3E%3CBR%20%2F%3E%3CP%3EThank%20you%20for%20your%20help%2C%20please%20let%20me%20know%20if%20I%20can%20provide%20any%20more%20information.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2368685%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2368685%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%20Jake%2C%20thank%20you%20for%20answering%20my%20questions.%3C%2FP%3E%0A%3CP%3ESince%20you%20mentioned%20that%20you%20tested%20with%20the%20FRDM-RW612%2C%20are%20you%20able%20to%20replicate%20the%20reset%20behavior%20in%20this%20board%3F%20I%20have%20tried%20by%20adding%20your%20configs%20and%20TF-M%20build%20changes%20(TF-M%20profile)%2C%20but%20I%20am%20still%20unable%20to%20reproduce%20your%20behavior.%3C%2FP%3E%0A%3CP%3EIf%20you%20are%20able%20to%20replicate%20this%2C%20would%20you%20please%20share%20the%20detailed%20steps%20that%20you%20are%20following%20to%20reproduce%20the%20behavior%20on%20the%20FRDM-RW612%3F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369677%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369677%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EHi%20Roman%2C%3CBR%20%2F%3EI%20found%20out%20the%20schematic%20for%20my%20board%20was%20wrong%2C%20and%20the%20flash%20chip%20I%20was%20using%20was%20really%20the%20W25Q01%20instead%20of%20the%20W25Q512%20like%20the%20FRDM-RW612.%20I%20soldered%20a%20W25Q512%20to%20my%20board%20and%20now%20it%20resets%20with%20no%20problem.%20I%20apologize%20for%20wasting%20your%20time%20before.%3CBR%20%2F%3E%3CBR%20%2F%3EAre%20there%20any%20resources%20for%20how%20to%20reconfigure%20the%20flash%20settings%20to%20work%20with%20my%20chip%3F%20I%20see%20the%20fc_flexspi_nor_config_t%20struct%20in%20flash_config.c%20which%20is%20set%20up%20for%20the%20W25Q512%2C%20but%20is%20there%20a%20document%20or%20guide%20that%20specifies%20what%20I%20would%20need%20to%20change%20to%20adapt%20to%20my%20new%20chip%3F%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369704%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RW612%20Nonsecure%20Flash%20Setting%20Breaks%20Reset%20Functionality%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369704%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%20Jake%2C%20don't%20worry%20about%20it%2C%20thank%20you%20for%20letting%20me%20know%20the%20root%20cause.%3C%2FP%3E%0A%3CP%3EUnfortunately%2C%20there%20is%20no%20specific%20guide%20to%20reconfigure%20the%20flash.%20However%2C%20you%20could%20take%20as%20reference%20the%20structure%20of%20the%20RD-RW612-BGA%20board%20directory%2C%20or%20the%20IRIS-W1-EVK%20board%20directory%20(from%20u-Blox)%20which%20both%20have%20different%20flash%20ICs%20from%20the%20FRDM%20board%2C%20on%20what%20changes%20are%20required%20in%20case%20of%20using%20a%20different%20flash.%3C%2FP%3E%0A%3CP%3EIn%20the%20case%20of%20TF-M%20there%20is%20also%20the%20directory%20of%20the%20RD-RW612-BGA%20non-secure%20version%20of%20the%20board%2C%20which%20also%20may%20serve%20as%20reference%20for%20the%20required%20changes.%3C%2FP%3E%0A%3CP%3EHope%20this%20helps!%3C%2FP%3E%3C%2FLINGO-BODY%3E