init
This commit is contained in:
19
баг с размещением большого буфера не в тот регион памяти.md
Normal file
19
баг с размещением большого буфера не в тот регион памяти.md
Normal file
@ -0,0 +1,19 @@
|
||||
В файле 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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user