ecos-mtk_ecos_ecos stm32

电脑杂谈  发布时间:2017-02-13 13:20:28  来源:网络整理

早期接触eCos内存布局文件时,对它只是朦朦胧胧的理解,比较肤浅。ecos然而通过本次对eCos布局文件的深入分析,发现对它有了更加深刻的理解。相信大家对比前后的文章就可以看得出来。

内存布局文件内容分析

ldi文件内容大同小异。以mlt_cortexm_stm3210e_eval_rom.ldi文件进行说明,内容如下:

// eCos memory layout

#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.inc>

MEMORY
{
    sram  : ORIGIN = 0x20000000, LENGTH = 0x00010000-CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE
    flash : ORIGIN = 0x08000000, LENGTH = 0x00080000
    rom   : ORIGIN = 0x64000000, LENGTH = 0x01000000
    ram   : ORIGIN = 0x68000000, LENGTH = 0x00100000
}

SECTIONS
{
    SECTIONS_BEGIN
    SECTION_rom_vectors (flash, 0x08000000, LMA_EQ_VMA)
    SECTION_RELOCS (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_text (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fini (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_rodata1 (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_fixup (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_gcc_except_table (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_eh_frame (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_got (flash, ALIGN (0x8), LMA_EQ_VMA)
    SECTION_sram (sram, 0x20000400, FOLLOWING (.got))
    SECTION_data (ram, 0x68000000, FOLLOWING (.sram))
    SECTION_bss (ram, ALIGN (0x8), LMA_EQ_VMA)
    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
    SECTIONS_END
}

hal_vsr_table = 0x20000000;
hal_virtual_vector_table = hal_vsr_table + 128*4;
hal_startup_stack = 0x20000000 + 1024*64;

ldi文件分为4部分。

第1部分:包含头文件部分,包含下面两个头文件:

#include <pkgconf/hal.h>
#include <cyg/infra/cyg_type.inc>


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-32188-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...