Cheerful_Wind



Ответы в темах

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #21348
    Cheerful_Wind
    Участник

    Здравствуйте!
    Не получается использование схемы распределения памяти heap_5 в IAR_Embedded_Workbench_for_ARM_8.40.
    По тексту урока 131 можно представить следующее:
    #if defined ( __ICCARM__ )
    __no_init static uint8_t heap_sram1[32*1024] @ «.user_heap_stack»;
    #else
    static __attribute__((used,section(«.user_heap_stack»))) uint8_t heap_sram1[32*1024];
    #endif
    uint8_t heap_sram2[32*1024];
    _____________________________________
    Не трудно поместить блок .user_heap_stack рядом с системным стеком и кучей после .bss:
    .bss zero 0x2000’f295 0x1 tcp.o [1]
    .bss zero 0x2000’f296 0x1 XShttio.o [2]
    — 0x2000’f297 0xf0af

    «P2», part 3 of 3: 0xe000
    .user_heap_stack uninit 0x2000’f298 0x8000 main.o [1]
    CSTACK 0x2001’7298 0x4000 <Block>
    CSTACK uninit 0x2001’7298 0x4000 <Block tail>
    HEAP 0x2001’b298 0x2000 <Block>
    HEAP uninit 0x2001’b298 0x2000 <Block tail>
    — 0x2001’d298 0xe000
    _____________________________________
    heap_sram1 0x2000’f298 0x8000 Data Lc main.o [1]
    heap_sram2 0x2000’01e8 0x8000 Data Gb main.o [1]
    _____________________________________
    Путем редактирования файла *.isf у меня не получилось разместить блок перед секцией .bss.
    Я не могу сказать, что эта неделя прошла не плодотворно с точки зрения вопросов распределения памяти, но пример так и не вышел из vPortDefineHeapRegions( xHeapRegions ). Точнее из heap_5.c:
    /* Check blocks are passed in with increasing start addresses. */
    configASSERT( xAddress > ( size_t ) pxEnd );
    ______________________________________
    Андрей Курниц в https://www.kit-e.ru/articles/micro/2012_11_93.php заканчивает повествование heap_4.
    Буду очень признателен, если кто-нибудь подробно разжует данный фрагмент урока!

  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #21348

    Cheerful_Wind
    Участник
    • Оффлайн

    Здравствуйте!
    Не получается использование схемы распределения памяти heap_5 в IAR_Embedded_Workbench_for_ARM_8.40.
    По тексту урока 131 можно представить следующее:
    #if defined ( __ICCARM__ )
    __no_init static uint8_t heap_sram1[32*1024] @ «.user_heap_stack»;
    #else
    static __attribute__((used,section(«.user_heap_stack»))) uint8_t heap_sram1[32*1024];
    #endif
    uint8_t heap_sram2[32*1024];
    _____________________________________
    Не трудно поместить блок .user_heap_stack рядом с системным стеком и кучей после .bss:
    .bss zero 0x2000’f295 0x1 tcp.o [1]
    .bss zero 0x2000’f296 0x1 XShttio.o [2]
    — 0x2000’f297 0xf0af

    «P2», part 3 of 3: 0xe000
    .user_heap_stack uninit 0x2000’f298 0x8000 main.o [1]
    CSTACK 0x2001’7298 0x4000 <Block>
    CSTACK uninit 0x2001’7298 0x4000 <Block tail>
    HEAP 0x2001’b298 0x2000 <Block>
    HEAP uninit 0x2001’b298 0x2000 <Block tail>
    — 0x2001’d298 0xe000
    _____________________________________
    heap_sram1 0x2000’f298 0x8000 Data Lc main.o [1]
    heap_sram2 0x2000’01e8 0x8000 Data Gb main.o [1]
    _____________________________________
    Путем редактирования файла *.isf у меня не получилось разместить блок перед секцией .bss.
    Я не могу сказать, что эта неделя прошла не плодотворно с точки зрения вопросов распределения памяти, но пример так и не вышел из vPortDefineHeapRegions( xHeapRegions ). Точнее из heap_5.c:
    /* Check blocks are passed in with increasing start addresses. */
    configASSERT( xAddress > ( size_t ) pxEnd );
    ______________________________________
    Андрей Курниц в https://www.kit-e.ru/articles/micro/2012_11_93.php заканчивает повествование heap_4.
    Буду очень признателен, если кто-нибудь подробно разжует данный фрагмент урока!

Просмотр 1 сообщения - с 1 по 1 (всего 1)