在线时间20 小时
UID3534256
注册时间2019-1-11
NXP金币0
TA的每日心情 | 郁闷 2020-8-18 09:16 |
---|
签到天数: 6 天 [LV.2]偶尔看看I
注册会员
- 积分
- 111
- 最后登录
- 2020-10-9
|
楼主 |
发表于 2020-7-20 18:10:54
|
显示全部楼层
我通过下面的配置,将程序下载到SDRAM,可以访问spi flash对flash进行操作了。
#define m_flash_config_start 0x60000000
#define m_flash_config_size 0x00001000
#define m_ivt_start 0x60001000
#define m_ivt_size 0x00001000
#define m_interrupts_start 0x60002000
#define m_interrupts_size 0x00000400
#define m_text_start 0x60002400
#define m_text_size 0x01FFDC00
//#define m_text_size 0x00600000
#define m_data_start 0x20000000
#define m_data_size 0x00020000
#define m_data2_start 0x20200000
#define m_data2_size 0x00040000
#define m_data3_start 0x80000000
#define m_data3_size 0x00200000
#define m_data3_start 0x80000000
#define m_data3_size 0x00200000
#define m_sdram_interrupts_start 0x80200000
#define m_sdram_interrupts_size 0x00000400
#define m_sdram_text_start 0x80200400
#define m_sdram_text_size 0x00600000
#define m_ncache_start 0x81C00000
//#define m_ncache_size 0x00400000
//#define m_ncache_size 0x02000000
#define m_ncache_size 0x01500000
/* Sizes */
#if (defined(__stack_size__))
#define Stack_Size __stack_size__
#else
#define Stack_Size 0x0400
#endif
#if (defined(__heap_size__))
#define Heap_Size __heap_size__
#else
#define Heap_Size 0x3000
#endif
/*
LR_m_rom_config m_flash_config_start m_flash_config_size { ; load region size_region
RW_m_config_text m_flash_config_start m_flash_config_size { ; load address = execution address
* (.boot_hdr.conf, +FIRST)
}
}
LR_m_rom_ivt m_ivt_start m_ivt_size { ; load region size_region
RW_m_ivt_text m_ivt_start m_ivt_size { ; load address = execution address
* (.boot_hdr.ivt, +FIRST)
* (.boot_hdr.boot_data)
* (.boot_hdr.dcd_data)
}
}
LR_m_text m_interrupts_start m_text_start+m_text_size-m_interrupts_size { ; load region size_region
VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
* (RESET,+FIRST)
}
ER_m_text m_text_start m_text_size { ; load address = execution address
* (InRoot$$Sections)
.ANY (+RO)
}
RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
.ANY (+RW +ZI)
}
RW_m_data2 m_data2_start m_data2_size { ; RW data
.ANY (+RW +ZI)
}
ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up
}
ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
}
RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
* (NonCacheable.init)
* (NonCacheable)
}
}
*/
LR_m_rom_config m_flash_config_start m_flash_config_size { ; load region size_region
RW_m_config_text m_flash_config_start m_flash_config_size { ; load address = execution address
* (.boot_hdr.conf, +FIRST)
}
}
LR_m_rom_ivt m_ivt_start m_ivt_size { ; load region size_region
RW_m_ivt_text m_ivt_start m_ivt_size { ; load address = execution address
* (.boot_hdr.ivt, +FIRST)
* (.boot_hdr.boot_data)
* (.boot_hdr.dcd_data)
}
}
LR_m_text m_interrupts_start m_text_start+m_text_size-m_interrupts_size { ; load region size_region
VECTOR_ROM m_interrupts_start m_interrupts_size { ; load address = execution address
* (RESET,+FIRST)
}
ER_m_text m_text_start m_text_size { ; load address = execution address
* (InRoot$$Sections)
//.ANY (+RO)
startup_mimxrt1052.o(+RO)
system_mimxrt1052.o(+RO)
}
//////////////////////////////////
VECTOR_RAM m_sdram_interrupts_start EMPTY m_sdram_interrupts_size {
}
ER_m_ram_text m_sdram_text_start m_sdram_text_size {
.ANY (+RO)
}
/////////////////////////////////
RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size { ; RW data
.ANY (+RW +ZI)
}
RW_m_data2 m_data2_start m_data2_size { ; RW data
.ANY (+RW +ZI)
}
RW_m_data3 m_data3_start m_data3_size { ; RW data
.ANY (+RW +ZI)
}
ARM_LIB_HEAP +0 EMPTY Heap_Size { ; Heap region growing up
}
ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size { ; Stack region growing down
}
RW_m_ncache m_ncache_start m_ncache_size { ; ncache RW data
* (NonCacheable.init)
* (NonCacheable)
}
}
主要的配置:
ER_m_text m_text_start m_text_size { ; load address = execution address
* (InRoot$$Sections)
//.ANY (+RO)
startup_mimxrt1052.o(+RO)
system_mimxrt1052.o(+RO)
}
//////////////////////////////////
VECTOR_RAM m_sdram_interrupts_start EMPTY m_sdram_interrupts_size {
}
ER_m_ram_text m_sdram_text_start m_sdram_text_size {
.ANY (+RO)
}
/////////////////////////////////
我有个疑问,这样配置了以后,通过jtag下载的代码会存储在spi flash里面吗? |
|