查看: 4398|回复: 1

RT1052如何配置分散加载文件使用NOR FLASH?

[复制链接]

该用户从未签到

3

主题

11

帖子

0

注册会员

Rank: 2

积分
144
最后登录
2019-7-1
发表于 2019-4-4 17:52:52 | 显示全部楼层 |阅读模式
使用飞凌OK-RT1052核心板,4M FLASH, 16M SDRAM。
用emWin做GUI,开启PIT和QTMR中断,前后台软件结构。
编译情况如下:
2019-04-04_174518.jpg

分散文件按如下配置,则可正常启动GUI,但后台程序不运行:
#define m_data_start                   0x20200000
#define m_data_size                    0x00040000

#define m_cache_start                  0x80000000
#define m_cache_size                   0x00800000

#define m_ncache_start                 0x80800000               
#define m_ncache_size                  0x00800000               


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_interrupts m_interrupts_start m_interrupts_size {       
  VECTOR_ROM m_interrupts_start m_interrupts_size {        
    * (RESET,+FIRST)                               
  }                                                                                                       
}

LR_m_text m_text_start m_text_size {   
  ER_m_text m_text_start m_text_size {
    * (InRoot$$Sections)                       
    .ANY (+RO)                                       
  }

  RW_m_data m_data_start m_data_size-Stack_Size-Heap_Size {
    .ANY (+RW +ZI)                                                                            
    *(m_usb_dma_init_data)                                                       
    *(m_usb_dma_noninit_data)                                                       
  }
  ARM_LIB_HEAP +0 EMPTY Heap_Size {                  
  }                                                                       
  ARM_LIB_STACK m_data_start+m_data_size EMPTY -Stack_Size {
  }                                                                                               
  RW_m_ncache m_ncache_start m_ncache_size {                        
    * (NonCacheable.init)                                                               
    * (NonCacheable)                                                                         
  }
  RW_m_cache m_cache_start m_cache_size {                                
    * (Cacheable.init)                                                                       
    * (Cacheable)                                                                       
  }
}


如下配置则无法正常启动GUI:
#define m_data_start                   0x80000000
#define m_data_size                    0x00600000

#define m_cache_start                  0x80600000
#define m_cache_size                   0x00500000

#define m_ncache_start                 0x80B00000
#define m_ncache_size                  0x00500000


按飞凌和NXP官方配置的分散加载文件都无法正常工作,但在SDRAM可正常运行,不知该如何配置了,有经验的朋友帮忙看下,谢谢!


回复

使用道具 举报

该用户从未签到

717

主题

6376

帖子

0

超级版主

Rank: 8Rank: 8

积分
25290
最后登录
2025-8-25
发表于 2019-4-15 10:56:58 | 显示全部楼层
你好,工作程序的image头里面含有IVT.DCD,BOOT DATA 等信息。这些信息是要读到internal SRAM 里的,你不能这样把OCRAM忽略掉。你可以参考SDK中example code中SDRAM的配置方式(data 放在SDRAM中,代码放在flash里)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-8-26 03:23 , Processed in 0.107386 second(s), 21 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表