ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
889900
Apтём (19.12.2018 14:48, просмотров: 2415)
День добрый. Что-то я опять делаю не так, но не могу понять что. Пытаюсь переместить некоторые функции в ОЗУ. Для этого делаю следующие действия. 1) Определил в LD-файле секцию: .sram_func : { . = ALIGN(4); *(.sram_func) *(.sram_func.*) . = ALIGN(4); } >ITCMRAM AT> FLASH 2) в исходнике определил функцию так: __attribute__ ((section(".sram_func"))) void SetFrequency() { HAL_SRAM_Write_16b(&hsram1, (uint32_t *)(FPGA_BANK_ADDR + 0), (uint16_t *)&FrequencyWr[0], 3); HAL_SRAM_Read_16b(&hsram1, (uint32_t *)(FPGA_BANK_ADDR + 0), (uint16_t *)&FrequencyRd[0], 3); } При вызове функции попадаю в HardFault (или MemManage_Handler). Что ж не так то? P.S. МК - STM32H7.