请选择 进入手机版 | 继续访问电脑版
查看: 289|回复: 9

[求助] i.MX1052 移植emWin时,添加GUI_Init();代码编译报错

[复制链接]

该用户从未签到

3

主题

14

帖子

1

金豆

注册会员

Rank: 2

积分
53
最后登录
2019-3-26
发表于 2019-1-11 09:34:18 | 显示全部楼层 |阅读模式
    mdk环境,在RT1052上做了个很简单的例程,点亮led灯, 程序正常运行没有问题,可以调试,可以下载到flash。    我想将emWin移植到这个例程上,添加相关的emwin头文件,lib库,编译都没有问题,但是在main里添加代码GUI_Init();以后, 就报如下错误:
linking...
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching emwin_support.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Alloc.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_OnKey.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching WM.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching WM_Touch.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_elcdif.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_lpuart.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_lpi2c.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_MULTIBUF.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Task.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching WM.o(.bss).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching LCD_Color.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_OnKey.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_WaitEvent.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_clock.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_lpi2c.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_io.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching LCD_GetEx.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching fsl_lpuart.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching emwin_support.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching system_mimxrt1052.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching LCD.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching WM__SendMessage.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching errno.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6406E: No space in execution regions with .ANY selector matching GUI_Core.o(.data).
.\Objects\LED-REG.axf: Error: L6407E: Sections of aggregate size 0x7c0 bytes could not fit into .ANY selector(s).
Not enough information to list image symbols.
Not enough information to list load addresses in the image map.
Finished: 2 information, 0 warning and 33 error messages.
".\Objects\LED-REG.axf" - 33 Error(s), 3 Warning(s).
Target not created.
Build Time Elapsed:  00:00:05


   看错误信息好像是说:在这些执行区没有空间。
   这个怎么解决啊???为什么会报这个错, 我用官方sdk里的emWin例程,没有报这个错,只是不能下载到flash。自己移植就是想做个可以下载到flash的例子。i.MXRT1052菜鸟求组啊????

我知道答案 目前已有9人回答
回复

使用道具 举报

该用户从未签到

3

主题

14

帖子

1

金豆

注册会员

Rank: 2

积分
53
最后登录
2019-3-26
 楼主| 发表于 2019-1-11 10:30:56 | 显示全部楼层
如果注释掉GUI_Init(); 程序可以正常编译运行。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    4 小时前
  • 签到天数: 173 天

    [LV.7]常住居民III

    32

    主题

    528

    帖子

    28

    金豆

    金牌会员

    Rank: 6Rank: 6

    积分
    1541
    最后登录
    2019-5-20
    发表于 2019-1-12 08:52:12 | 显示全部楼层
    在下载算法里面,看看运行内存有没有映射到外部SDRAM或者自己有没有分配内存,EMWIN一般也不适合在sdram仿真。你这个报错好像就是内存不足,看看下载算法里面的内存分配,可以把官方的emwin例程里的下载算法复制过来试试。

    评分

    参与人数 1金豆 +1 收起 理由
    NXP管管 + 1

    查看全部评分

    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    200

    主题

    4168

    帖子

    0

    金豆

    超级版主

    Rank: 8Rank: 8

    积分
    6064
    最后登录
    2019-5-20
    发表于 2019-1-15 09:58:10 | 显示全部楼层
    stonege1019 发表于 2019-1-11 10:30
    如果注释掉GUI_Init(); 程序可以正常编译运行。

    如mzy2364说的,你看看你的linker file是怎样分配存储区域的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    1

    金豆

    注册会员

    Rank: 2

    积分
    53
    最后登录
    2019-3-26
     楼主| 发表于 2019-1-15 15:45:58 | 显示全部楼层
    小恩GG 发表于 2019-1-15 09:58
    如mzy2364说的,你看看你的linker file是怎样分配存储区域的

    算法空间选的是iMXRT1052-QSPI_WITH_CFG-By fire , 大小:32M,  Device Type:Ext. Flash SPI,
    Address Prange:60000000H - 61FFFFFF。
    分散加载文件里的设置这样的:
    #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_data_start                   0x20000000
    #define m_data_size                    0x00020000

    #define m_data2_start                  0x20200000
    #define m_data2_size                   0x00040000

    #define m_ncache_start                 0x81C00000
    //#define m_ncache_size                  0x00400000
    //#define m_ncache_size                  0x02000000
    #define m_ncache_size                  0x00600000

    /* 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                    0x0400
    #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)
        * (NonCacheable.init)
        * (NonCacheable)
      }
      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
      }

    }
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    1

    金豆

    注册会员

    Rank: 2

    积分
    53
    最后登录
    2019-3-26
     楼主| 发表于 2019-1-15 15:56:25 | 显示全部楼层
    mzy2364 发表于 2019-1-12 08:52
    在下载算法里面,看看运行内存有没有映射到外部SDRAM或者自己有没有分配内存,EMWIN一般也不适合在sdram仿 ...

    官方的例程,用到我这开发板上,也是只有调试可以,依照一个可以正常运行的例程里的分散加载文件,将官方emwin例程里的分散加载文件改了,下载到flash里运行程序也会跑飞。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    1

    金豆

    注册会员

    Rank: 2

    积分
    53
    最后登录
    2019-3-26
     楼主| 发表于 2019-1-17 09:42:23 | 显示全部楼层
    后来我用了一个可以正常在lcd上显示文字和线条的例程,可调试,可下载运行,将emwin移植上去后, 又没有这个问题啊,我去,懵逼中。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    1

    金豆

    注册会员

    Rank: 2

    积分
    53
    最后登录
    2019-3-26
     楼主| 发表于 2019-1-17 09:44:56 | 显示全部楼层
    stonege1019 发表于 2019-1-17 09:42
    后来我用了一个可以正常在lcd上显示文字和线条的例程,可调试,可下载运行,将emwin移植上去后, 又没有这 ...

    这个lcd例程可比第一个点亮led的例程大得多,反而没有这个内存不足的提示错误,而且分散加载文件我设置得一样
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    200

    主题

    4168

    帖子

    0

    金豆

    超级版主

    Rank: 8Rank: 8

    积分
    6064
    最后登录
    2019-5-20
    发表于 2019-1-17 15:41:42 | 显示全部楼层
    stonege1019 发表于 2019-1-17 09:44
    这个lcd例程可比第一个点亮led的例程大得多,反而没有这个内存不足的提示错误,而且分散加载文件我设置得 ...

    ??
    如果你想以后避免工程配置的问题,索性将官方的eWin例程作为Template,然后在其上面作开发
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3

    主题

    14

    帖子

    1

    金豆

    注册会员

    Rank: 2

    积分
    53
    最后登录
    2019-3-26
     楼主| 发表于 2019-1-21 14:31:30 | 显示全部楼层
    小恩GG 发表于 2019-1-17 15:41
    ??
    如果你想以后避免工程配置的问题,索性将官方的eWin例程作为Template,然后在其上面作开发 ...

    也确实只能这样做,在没有完全透彻的理解分散加载机制的情况下。。。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2019-5-20 20:32 , Processed in 0.112642 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    © 2001-2013 Comsenz Inc.

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