Files
RadioPhotonic-generator-docs/баг с размещением большого буфера не в тот регион памяти.md
2025-09-18 17:11:38 +03:00

20 lines
1.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

В файле l502_user_process.c объявлен большой массив uint32_t TX_buff[100000].
Для его размещения в большой (32Мб) SDRAM, а не в маленькой (несколько десятков Кб) L1, используется один из вариантов:
1. `#include "l502_sdram_noinit.h"` непосредственно перед объявлением
2. `__attribute__((section(".sdram_noinit")))` в объявлении (т.е. объявление выглядит так: )
Поптытки решить с ChatGPT: https://chatgpt.com/share/687a5c3d-9194-8013-88c9-60e68295c834, [[баг с большим массивом blackfin and ChatGPT]]
Проблема: несмотря ни на что компилятор помещает большие массивы, объявленные с соотвестсвующей директивой, в l502_user_process.c в MEM_L1_DATA_A.
### workaround
объявлять массивы в l502_stream.c, затем подключать их в l502_user_process.c через extern.