20 lines
1.1 KiB
Markdown
20 lines
1.1 KiB
Markdown
В файле 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.
|
||
|
||
|
||
|
||
|
||
|
||
|