create cfx from source code ?

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

create cfx from source code ?

Jump to solution
2,680 Views
rans
Senior Contributor I

Hello,

We need to use hyperFlash S71KS512 , but MCUXpresso supports only S26KS512S.

Yet, the source code for HyperFlash driver is provided with MCUXpresso IDE:

The problem is that the project creates axf file, while the required format in IDE is cfx (such as MIMXRT1050-EVK_S26KS512S.cfx )

Is it required to convert axf to cfx ? How ?

Thank you,

ranran

1 Solution
2,188 Views
converse
Senior Contributor V

You are building the Debug build configuration, which just builds the .axf file. If you build one of the release configurations, then it will create the .cfx file

Note that a .cfx file is just a renamed .axf file - there is no other difference.

View solution in original post

5 Replies
2,188 Views
lpcxpresso_supp
NXP Employee
NXP Employee

converse‌ : Yes, a .cfx is effectively a renamed .axf (so we can tell it is a LinkServer flash driver). However the actual layout and content of the image do not match that of a standard ARM executable (as the flash driver is executed directly under debug control).

ranshalit‌ : I am curious if you actually tried using the SFDP driver that we previously referred you to. That should be able to program the flash without you needing to create your own bespoke flash driver.

Regards,

MCUXpresso IDE Support

2,188 Views
rans
Senior Contributor I

Hi,

Thank you very much.

No, I haven't tried to use the same hyperFlash driver (which is used with EVK board which contains S26KS512S ) with our hyperFlash S71KS512 .

Actually, we haven't build the board yet, it is still under design, we just try to figure out if our design and concept should work with current tools and drivers.

The first we shall try is to use the same driver as you suggested.

Yet, since there are obviously some differences between these 2 memory chips(?) some modifications might be required, so we wanted to be sure that we can make these modifications ourselves (as an alternative, if it is intended to be added in MCUXpresso next releases it can also be helpful).

Regards,

ranran

0 Kudos
2,188 Views
lpcxpresso_supp
NXP Employee
NXP Employee

Assuming that you are using i.MX RT1050, you should be able to just use the "MIMXRT1050_SFDP_HYPERFLASH.cfx" driver. For more details, please see: https://community.nxp.com/community/mcuxpresso/mcuxpresso-ide/blog/2017/12/07/overview-of-using-the-... 

PS: With regards to the example flash driver project - which, if the SFDP driver works, you won't need - IIRC the .cfx file is created automatically in the "builds" subdirectory.

Regards,

MCUXpresso IDE Support

0 Kudos
2,188 Views
rans
Senior Contributor I

Hi,

Thank you very much,

Right, I use  i.MX RT1050.

I did try the following;

1. extracted iMXRT1050_HyperFlash zip 

2. imported the folder into MCUXpresso

3. build the project

Build is done successfully and .axf is created.

Yet, the build folder is empty (actually it contains a prebuilt cfx file, but if I erase it, no new file created)

From build log:

"

.....
Finished building: ../board/clock_config.c

Finished building: ../board/pin_mux.c

Finished building: ../CMSIS/system_MIMXRT1052.c

Building target: iMXRT1050_HyperFlash.axf
Invoking: MCU Linker
arm-none-eabi-gcc -nostdlib -L"C:\projects\rafael\mcu\LPCXFlashDriverLib\Release" -Xlinker -Map="iMXRT1050_HyperFlash.map" -Xlinker --gc-sections -mcpu=cortex-m7 -mthumb -T "FlashDriver_Test.ld" -L ../linkscripts -o "iMXRT1050_HyperFlash.axf" ./utilities/fsl_assert.o ./utilities/fsl_debug_console.o ./utilities/fsl_io.o ./utilities/fsl_log.o ./utilities/fsl_str.o ./test/cr_startup_cm7.o ./test/test_main.o ./src/FlashDev.o ./src/FlashPrg.o ./src/checkblank.o ./hypersources/flexspi_hyper_flash.o ./drivers/fsl_clock.o ./drivers/fsl_common.o ./drivers/fsl_flexspi.o ./drivers/fsl_gpio.o ./drivers/fsl_lpuart.o ./board/board.o ./board/clock_config.o ./board/pin_mux.o ./CMSIS/system_MIMXRT1052.o -lLPCXFlashDriverLib
Finished building target: iMXRT1050_HyperFlash.axf

19:41:12 Build Finished (took 5s.899ms)"

Thanks for any idea,

ranran

0 Kudos
2,189 Views
converse
Senior Contributor V

You are building the Debug build configuration, which just builds the .axf file. If you build one of the release configurations, then it will create the .cfx file

Note that a .cfx file is just a renamed .axf file - there is no other difference.