查看: 1742|回复: 3

[已解决] 怎么将不同的变量分配到不同的RAM空间?(已解决)

[复制链接]
  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
    发表于 2016-2-24 11:37:47 | 显示全部楼层 |阅读模式
    本帖最后由 中山无雪 于 2016-2-27 11:47 编辑

    KDS配置MK02 frdm板,使用IAR 7.5进行编译、调试,发现MQX lite相关的程序占用data区很大(4.8K多),当程序内存超过m_data区的大小时系统编译时会报错。

      Module                      ro code  ro data  rw data
        ------                      -------  -------  -------

        Cpu.o                           280
        Events.o                         54
        PE_low_level_init.o              24
        Task_Receiver.o                  64       16    1 196
        Task_SPI.o                       64       12    1 196
        Task_Sender.o                    64       12    1 196
        boot.o                           92
        comp.o                            8
        dispatch.o                      456
        dspiCom.o                                 20       76
        fsl_clock_MK02F12810.o          500      295
        fsl_clock_manager_common.o                 4
        fsl_debug_console.o             192        8       16
        fsl_dspi_common.o                          9        4
        fsl_dspi_hal.o                1 010       80
        fsl_dspi_master_driver.o      1 084      268
        fsl_dspi_shared_function.o       72      132
        fsl_dspi_slave_driver.o         496
        fsl_gpio_common.o                         48
        fsl_gpio_driver.o               852      260
        fsl_gpio_hal.o                  112       96
        fsl_hwtimer.o                   484      272
        fsl_hwtimer_systick.o           512      152        4
        fsl_interrupt_manager.o          52                 4
        fsl_lptmr_common.o                         5        4
        fsl_lptmr_driver.o            1 032      328
        fsl_lptmr_hal.o                  94
        fsl_mcg_hal.o                   424       24       16
        fsl_os_abstraction_mqx.o        632      100
        fsl_uart_common.o                         10       10
        fsl_uart_driver.o             1 428      356
        fsl_uart_hal.o                  872
        fsl_wdog_common.o                          4
        fsl_wdog_driver.o               156                 4
        fsl_wdog_hal.o                  144       96
        gpio.o                                    60
        hardware_init.o                 140
        idletask.o                       88
        init_bsp.o                      244                64
        int.o                           292               720
        int_vtab.o                       12
        lpTmr.o                          10        8        8
        lwevent.o                       192
        lwsem.o                         540
        main.o                          796               1297
        mqx.o                           576      188    1 064
        mqx_ksdk.o                                64
        os_tasks.o                      164                16
        pin_mux.o                       576      100
        psp_iinit.o                       8
        psp_tinm.o                       52
        queue.o                         184
        sc_irdyq.o                      172               560
        sched.o                          40
        stack_bu.o                       88
        stack_de.o                        2
        startup.o                        68
        startup_MK02F12810.o          1 046
        support.o                         6
        system_MK02F12810.o             360
        task.o                        1 524      152
        time.o                          372
        uartCom.o                        10        8       96
        watchdog1.o                               20
        -----------------------------------------------------
        Total:                       18 816    3 207    7 551


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

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
     楼主| 发表于 2016-2-24 15:12:24 | 显示全部楼层
    本帖最后由 中山无雪 于 2016-2-24 15:28 编辑

    由于MK系列MCU的RAM区是分成两个段的(一般命名为m_data和m_data_2),当我的程序分配的全局变量空间大了之后系统提示一个lp014的错误,这个错误指明的是内存超界了,但是我分配的空间其实只是超出了7168几个byte,也就是说超出了MK02芯片的m_data分配的空间大小,而m_data_2空间根本就没有被使用(CSTACK在m_data_2中占用了一点空间)。

    现在想知道在程序中怎样将不同的变量(变量)分配到不同的RAM空间,例如我要使用的全局变量、任务栈、堆等。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
     楼主| 发表于 2016-2-26 18:44:38 | 显示全部楼层
    怎样将MQX不同的任务所使用的栈分配到不同的RAM空间???
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    郁闷
    2021-1-9 21:21
  • 签到天数: 56 天

    连续签到: 1 天

    [LV.5]常住居民I

    52

    主题

    677

    帖子

    5

    金牌会员

    Rank: 6Rank: 6

    积分
    1470
    最后登录
    2021-1-9
     楼主| 发表于 2016-2-27 11:46:31 | 显示全部楼层
    不劳大家费心了,问题已解决,谢谢!!!

      TEST                        0x20000000  0x1000  <Block>
        .test            zero     0x20000000   0x4b0  main.o [1]
        .test            zero     0x200004b0   0x7d0  os_tasks.o [1]
        TEST             uninit   0x20000c80   0x380  <Block tail>
                                - 0x20001000  0x1000
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-22 12:55 , Processed in 0.090908 second(s), 24 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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