美文网首页
rt-thread SDRAM中调试配置

rt-thread SDRAM中调试配置

作者: Vandoul | 来源:发表于2019-03-14 22:10 被阅读0次

    github上的源码只有flash版本的,使用IAR烧写失败,使用MDK烧写运行也不正常,调试也调试不了,索性配置一个SDRAM版本。

    1.拷贝\bsp\imxrt\Libraries\imxrt1050\devices\MIMXRT1052\iar\MIMXRT1052xxxxx_sdram.icf到工程目录;

    2.编辑IAR配置里的Linker里的Linker configuration file修改Override default里的icf文件为$PROJ_DIR$\MIMXRT1052xxxxx_sdram.icf

    3.用文本编辑器在icf里面添加:define exported symbol __RTT_HEAP_END = m_data3_end-__size_cstack__;

    4.修改board.c下的rt_hw_board_init()函数,如下:

    -- rt_kprintf("sdram heap, begin: 0x%p, end: 0x%p\n", SDRAM_BEGIN, SDRAM_END);

    -- rt_system_heap_init((void *)SDRAM_BEGIN, (void *)SDRAM_END);

    -- rt_memheap_init(&system_heap, "sram", (void *)HEAP_BEGIN, HEAP_SIZE);

    ++ rt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END);

    编译后仿真调试就可以了,如果编译出现SECTION(x)相关的错误,将rtdef.h下面的宏定义修改如下:

    -- #define SECTION(x) @ x

    ++ #define SECTION(x) __attribute__((section(x)))

    以后再慢慢深入研究。

    相关文章

      网友评论

          本文标题:rt-thread SDRAM中调试配置

          本文链接:https://www.haomeiwen.com/subject/owuhmqtx.html