What are the differences between J-Flash and MCUXpress IDE when using OTFAD?

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

What are the differences between J-Flash and MCUXpress IDE when using OTFAD?

41 次查看
TnseoRnr
Contributor II

What is the difference between J-Flash and MCUXpress IDE when applying OTFAD?

I am currently testing OTFAD configuration using an RT1010 EVK.

I used the MCUXpress SPT program to configure OTFAD and download the firmware.

I set the BOOT mode of the configured EVK to FlexSPI Boot mode.

I have a question regarding JTAG access afterward.

Although I did not configure any JTAG security settings, the J-Flash program connects to the target, but I cannot read or rewrite the flash memory afterwards.

However, if I build the original project in MCUXpress IDE and download it using a feature like "Debug & Download?", I can download a version where OTFAD is not configured.

I would like to know the difference between these two programs.

Why is access not possible in J-Flash?

But why is it possible in the IDE?

标签 (2)
标记 (2)
0 项奖励
回复
1 回复

6 次查看
ShellyZhang
NXP Employee
NXP Employee

Dear @TnseoRnr ,

1. Why can't Flash be accessed in J-Flash?

J-Flash relies on its own Flash algorithm and J-Link configuration. For external Flash on i.MX RT devices, the programming tool typically needs to first load a Flash driver algorithm into the on-chip RAM and execute it. This RAM-resident code is responsible for FlexSPI initialization, erase operations, and programming.

If the SEGGER Flash Loader, JLinkScript, FlexSPI LUT, or FCB configuration used by the current J-Flash project does not match the device state after SPT configuration, you may encounter a situation where the debugger can connect to the core, but cannot reliably read, erase, or program the external Flash.

2. Why can Flash still be accessed from MCUXpresso IDE?

The MCUXpresso IDE download and debug flow is typically more than a simple JTAG-based write to external Flash. Instead, it performs a complete target initialization and RAM-resident Flash driver procedure:

Downloads a Flash driver into the internal RAM of the i.MX RT device. →
Initializes the FlexSPI interface. →
Buffers the application image in segments and invokes Flash erase/program APIs.

Similarly, LinkServer uses a .cfx Flash driver and performs downloading through a reset → run Flash driver → program sequence.

As a result, MCUXpresso IDE may be able to reinitialize the Flash and successfully perform erase/program operations, even when a J-Flash project is not properly configured for the current OTFAD or FlexSPI state.

Best Regards,

Shelly

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2407917%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%BF%E7%94%A8OTFAD%E6%97%B6%EF%BC%8CJ-Flash%E5%92%8CMCUXpress%20IDE%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2407917%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%BA%94%E7%94%A8OTFAD%E6%97%B6%EF%BC%8CJ-Flash%E5%92%8CMCUXpress%20IDE%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F%3C%2FP%3E%3CP%3E%E6%88%91%E7%9B%AE%E5%89%8D%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20RT1010%20EVK%20%E6%B5%8B%E8%AF%95%20OTFAD%20%E9%85%8D%E7%BD%AE%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E4%BD%BF%E7%94%A8%20MCUXpress%20SPT%20%E7%A8%8B%E5%BA%8F%E9%85%8D%E7%BD%AE%E4%BA%86%20OTFAD%20%E5%B9%B6%E4%B8%8B%E8%BD%BD%E4%BA%86%E5%9B%BA%E4%BB%B6%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E5%B0%86%E9%85%8D%E7%BD%AE%E7%9A%84%20EVK%20%E7%9A%84%E5%90%AF%E5%8A%A8%E6%A8%A1%E5%BC%8F%E8%AE%BE%E7%BD%AE%E4%B8%BA%20FlexSPI%20%E5%90%AF%E5%8A%A8%E6%A8%A1%E5%BC%8F%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E8%BF%98%E6%9C%89%E4%B8%80%E4%B8%AA%E5%85%B3%E4%BA%8E%E5%90%8E%E7%BB%ADJTAG%E8%AE%BF%E9%97%AE%E7%9A%84%E9%97%AE%E9%A2%98%E3%80%82%3C%2FP%3E%3CP%3E%E8%99%BD%E7%84%B6%E6%88%91%E6%B2%A1%E6%9C%89%E9%85%8D%E7%BD%AE%E4%BB%BB%E4%BD%95%20JTAG%20%E5%AE%89%E5%85%A8%E8%AE%BE%E7%BD%AE%EF%BC%8C%E4%BD%86%20J-Flash%20%E7%A8%8B%E5%BA%8F%E5%8F%AF%E4%BB%A5%E8%BF%9E%E6%8E%A5%E5%88%B0%E7%9B%AE%E6%A0%87%E8%AE%BE%E5%A4%87%EF%BC%8C%E4%BD%86%E6%88%91%E4%B9%8B%E5%90%8E%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E6%88%96%E9%87%8D%E5%86%99%E9%97%AA%E5%AD%98%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%86%E6%98%AF%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%88%91%E5%9C%A8%20MCUXpress%20IDE%20%E4%B8%AD%E6%9E%84%E5%BB%BA%E5%8E%9F%E5%A7%8B%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E7%B1%BB%E4%BC%BC%E2%80%9C%E8%B0%83%E8%AF%95%E4%B8%8E%E4%B8%8B%E8%BD%BD%EF%BC%9F%E2%80%9D%E7%9A%84%E5%8A%9F%E8%83%BD%E4%B8%8B%E8%BD%BD%E5%AE%83%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E4%B8%8B%E8%BD%BD%E4%B8%80%E4%B8%AA%E6%9C%AA%E9%85%8D%E7%BD%AE%20OTFAD%20%E7%9A%84%E7%89%88%E6%9C%AC%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%E8%BF%99%E4%B8%A4%E4%B8%AA%E7%A8%8B%E5%BA%8F%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%BA%E4%BB%80%E4%B9%88%E6%97%A0%E6%B3%95%E5%9C%A8%20J-Flash%20%E4%B8%AD%E8%AE%BF%E9%97%AE%EF%BC%9F%3C%2FP%3E%3CP%3E%E4%BD%86%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%EF%BC%88IDE%EF%BC%89%E4%B8%AD%E5%8F%AF%E4%BB%A5%E5%81%9A%E5%88%B0%E5%91%A2%EF%BC%9F%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2407917%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MXRT%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3E%E5%AE%89%E5%85%A8%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2408345%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20What%20are%20the%20differences%20between%20J-Flash%20and%20MCUXpress%20IDE%20when%20using%20OTFAD%3F%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2408345%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%B0%8A%E6%95%AC%E7%9A%84%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F231615%22%20target%3D%22_blank%22%3E%40TnseoRnr%3C%2FA%3E%20%EF%BC%8C%3C%2FP%3E%0A%3CP%3E1.%20%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%20J-Flash%20%E4%B8%AD%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%20Flash%EF%BC%9F%3C%2FP%3E%0A%3CP%3EJ-Flash%20%E4%BE%9D%E9%9D%A0%E5%85%B6%E8%87%AA%E8%BA%AB%E7%9A%84%20Flash%20%E7%AE%97%E6%B3%95%E5%92%8C%20J-Link%20%E9%85%8D%E7%BD%AE%E3%80%82%E5%AF%B9%E4%BA%8E%20i.MX%20RT%20%E8%AE%BE%E5%A4%87%E4%B8%8A%E7%9A%84%E5%A4%96%E9%83%A8%20Flash%EF%BC%8C%E7%BC%96%E7%A8%8B%E5%B7%A5%E5%85%B7%E9%80%9A%E5%B8%B8%E9%9C%80%E8%A6%81%E5%85%88%E5%B0%86%20Flash%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%AE%97%E6%B3%95%E5%8A%A0%E8%BD%BD%E5%88%B0%E7%89%87%E4%B8%8A%20RAM%20%E4%B8%AD%E5%B9%B6%E6%89%A7%E8%A1%8C%E5%AE%83%E3%80%82%E8%BF%99%E6%AE%B5%E9%A9%BB%E7%95%99%E5%9C%A8%20RAM%20%E4%B8%AD%E7%9A%84%E4%BB%A3%E7%A0%81%E8%B4%9F%E8%B4%A3%20FlexSPI%20%E5%88%9D%E5%A7%8B%E5%8C%96%E3%80%81%E6%93%A6%E9%99%A4%E6%93%8D%E4%BD%9C%E5%92%8C%E7%BC%96%E7%A8%8B%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%A6%82%E6%9E%9C%E5%BD%93%E5%89%8D%20J-Flash%20%E9%A1%B9%E7%9B%AE%E4%BD%BF%E7%94%A8%E7%9A%84%20SEGGER%20Flash%20Loader%E3%80%81JLinkScript%E3%80%81FlexSPI%20LUT%20%E6%88%96%20FCB%20%E9%85%8D%E7%BD%AE%E4%B8%8E%20SPT%20%E9%85%8D%E7%BD%AE%E5%90%8E%E7%9A%84%E8%AE%BE%E5%A4%87%E7%8A%B6%E6%80%81%E4%B8%8D%E5%8C%B9%E9%85%8D%EF%BC%8C%E5%88%99%E5%8F%AF%E8%83%BD%E4%BC%9A%E9%81%87%E5%88%B0%E8%B0%83%E8%AF%95%E5%99%A8%E5%8F%AF%E4%BB%A5%E8%BF%9E%E6%8E%A5%E5%88%B0%E5%86%85%E6%A0%B8%EF%BC%8C%E4%BD%86%E6%97%A0%E6%B3%95%E5%8F%AF%E9%9D%A0%E5%9C%B0%E8%AF%BB%E5%8F%96%E3%80%81%E6%93%A6%E9%99%A4%E6%88%96%E7%BC%96%E7%A8%8B%E5%A4%96%E9%83%A8%20Flash%20%E7%9A%84%E6%83%85%E5%86%B5%E3%80%82%3C%2FP%3E%0A%3CP%3E2.%20%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BB%8D%E7%84%B6%E5%8F%AF%E4%BB%A5%E4%BB%8E%20MCUXpresso%20IDE%20%E8%AE%BF%E9%97%AE%20Flash%EF%BC%9F%3C%2FP%3E%0A%3CP%3EMCUXpresso%20IDE%20%E7%9A%84%E4%B8%8B%E8%BD%BD%E5%92%8C%E8%B0%83%E8%AF%95%E6%B5%81%E7%A8%8B%E9%80%9A%E5%B8%B8%E4%B8%8D%E4%BB%85%E4%BB%85%E6%98%AF%E7%AE%80%E5%8D%95%E7%9A%84%E5%9F%BA%E4%BA%8E%20JTAG%20%E7%9A%84%E5%A4%96%E9%83%A8%20Flash%20%E5%86%99%E5%85%A5%E3%80%82%E7%9B%B8%E5%8F%8D%EF%BC%8C%E5%AE%83%E4%BC%9A%E6%89%A7%E8%A1%8C%E5%AE%8C%E6%95%B4%E7%9A%84%E7%9B%AE%E6%A0%87%E5%88%9D%E5%A7%8B%E5%8C%96%E5%92%8C%20RAM%20%E9%A9%BB%E7%95%99%20Flash%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E8%BF%87%E7%A8%8B%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%E5%B0%86%20Flash%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B8%8B%E8%BD%BD%E5%88%B0%20i.MX%20RT%20%E8%AE%BE%E5%A4%87%E7%9A%84%E5%86%85%E9%83%A8%20RAM%20%E4%B8%AD%E3%80%82%E2%86%92%3CBR%20%2F%3E%E5%88%9D%E5%A7%8B%E5%8C%96%20FlexSPI%20%E6%8E%A5%E5%8F%A3%E3%80%82%E2%86%92%3CBR%20%2F%3E%E5%B0%86%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%98%A0%E5%83%8F%E5%88%86%E6%AE%B5%E7%BC%93%E5%86%B2%EF%BC%8C%E5%B9%B6%E8%B0%83%E7%94%A8%20Flash%20%E6%93%A6%E9%99%A4%2F%E7%BC%96%E7%A8%8B%20API%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%90%8C%E6%A0%B7%EF%BC%8CLinkServer%20%E4%B9%9F%E4%BD%BF%E7%94%A8%20.cfx%20%E6%96%87%E4%BB%B6%E3%80%82%E9%97%AA%E5%AD%98%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E9%80%9A%E8%BF%87RESET%E2%86%92%E8%BF%90%E8%A1%8C%E9%97%AA%E5%AD%98%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E2%86%92%E7%A8%8B%E5%BA%8F%E5%BA%8F%E5%88%97%E6%89%A7%E8%A1%8C%E4%B8%8B%E8%BD%BD%E3%80%82%3C%2FP%3E%0A%3CP%3E%E5%9B%A0%E6%AD%A4%EF%BC%8C%E5%8D%B3%E4%BD%BF%20J-Flash%20%E9%A1%B9%E7%9B%AE%E6%B2%A1%E6%9C%89%E9%92%88%E5%AF%B9%E5%BD%93%E5%89%8D%E7%9A%84%20OTFAD%20%E6%88%96%20FlexSPI%20%E7%8A%B6%E6%80%81%E6%AD%A3%E7%A1%AE%E9%85%8D%E7%BD%AE%EF%BC%8CMCUXpresso%20IDE%20%E4%B9%9F%E5%8F%AF%E8%83%BD%E8%83%BD%E5%A4%9F%E9%87%8D%E6%96%B0%E5%88%9D%E5%A7%8B%E5%8C%96%20Flash%20%E5%B9%B6%E6%88%90%E5%8A%9F%E6%89%A7%E8%A1%8C%E6%93%A6%E9%99%A4%2F%E7%BC%96%E7%A8%8B%E6%93%8D%E4%BD%9C%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%E9%9B%AA%E8%8E%89%3C%2FP%3E%3C%2FLINGO-BODY%3E