diff --git a/bsp/imxrt1052-evk/drivers/hyper_flash_boot.c b/bsp/imxrt1052-evk/drivers/hyper_flash_boot.c index 5aad700915..4387a2dec9 100644 --- a/bsp/imxrt1052-evk/drivers/hyper_flash_boot.c +++ b/bsp/imxrt1052-evk/drivers/hyper_flash_boot.c @@ -24,21 +24,16 @@ #include +// enter serial download mode, and run command: +// finsh /> mem_dump(0x60000000, 512) #if defined (__ICCARM__ ) -#define RT_AT_ADDR(__ADDR) @ __ADDR +RT_USED static const uint32_t boot_data[] @(0x60000000u) = #elif defined ( __GNUC__ ) -#define RT_AT_ADDR(__ADDR) //__attribute__((at(__ADDR))) +RT_USED static const uint32_t boot_data[] __attribute__((section (".bootdata"))) = #elif defined ( __CC_ARM ) -#define RT_AT_ADDR(__ADDR) __attribute__((at(__ADDR))) -#else - #error Not a valid compiler/linker for m_dfu_settings placement. +RT_USED static const uint32_t boot_data[] __attribute__((at(0x60000000u))) = #endif - - -#if defined ( __GNUC__ ) -// enter serial download mode, and run command: -// finsh /> mem_dump(0x60000000, 512) -RT_USED static const uint32_t boot_data[] __attribute__((section (".bootdata"))) = { +{ 0x42464346, 0x56010400, 0x00000000, 0x03030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000059, 0x01080800, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, @@ -58,36 +53,14 @@ RT_USED static const uint32_t boot_data[] __attribute__((section (".bootdata"))) }; // finsh /> mem_dump(0x60001000, 16) -RT_USED static const uint32_t image_vertor_table[] __attribute__((section (".ivt"))) = { - 0x412000D1, 0x60002000, 0x00000000, 0x00000000, 0x60001020, 0x60001000, 0x00000000, 0x00000000, - 0x60000000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -}; -#else - -// enter serial download mode, and run command: -// finsh /> mem_dump(0x60000000, 512) -RT_USED static const uint32_t boot_data[] RT_AT_ADDR(0x60000000u) = { - 0x42464346, 0x56010400, 0x00000000, 0x03030303, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000059, 0x01080800, 0x00000000, 0x00000000, 0x04000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000F, 0x0001000F, - 0x8B1887A0, 0xA7048F10, 0x00000000, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87708700, - 0x8B1887A0, 0xB70B8F10, 0x0000A704, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700, - 0x87008700, 0x87558700, 0x87028700, 0x87558700, 0x87008700, 0x87AA8700, 0x87058700, 0x87808700, - 0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700, 0x87008700, 0x87558700, 0x87028700, 0x87558700, - 0x8B188700, 0x87008F10, 0x00008730, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87A08700, - 0x8B188700, 0xA3808F10, 0x00000000, 0x00000000, 0x87008700, 0x87AA8700, 0x87058700, 0x87808700, - 0x87008700, 0x87AA8700, 0x87058700, 0x87AA8700, 0x87008700, 0x87558700, 0x87028700, 0x87558700, - 0x87008700, 0x87AA8700, 0x87058700, 0x87108700, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000102, 0x00000302, 0x00000504, 0x00000902, 0x00000B04, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000200, 0x00040000, 0x00000008, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, - 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -}; - -// finsh /> mem_dump(0x60001000, 16) -RT_USED static const uint32_t image_vertor_table[] RT_AT_ADDR(0x60001000u) = { - 0x412000D1, 0x60002000, 0x00000000, 0x00000000, 0x60001020, 0x60001000, 0x00000000, 0x00000000, - 0x60000000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, -}; +#if defined (__ICCARM__ ) +RT_USED static const uint32_t image_vector_table[] @(0x60001000u) = +#elif defined ( __GNUC__ ) +RT_USED static const uint32_t image_vector_table[] __attribute__((section (".ivt"))) = +#elif defined ( __CC_ARM ) +RT_USED static const uint32_t image_vector_table[] __attribute__((at(0x60001000u))) = #endif +{ + 0x412000D1, 0x60002000, 0x00000000, 0x00000000, 0x60001020, 0x60001000, 0x00000000, 0x00000000, + 0x60000000, 0x00800000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, +};