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

1.1 KiB
Raw Permalink Blame History

В файле 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.