STM32 Webserver combined to I2S. No free descriptors problem. #2828
-
Good morning, I'm working on a project able to manage an audio stream as input using an external 24bit ADC set at 44100Hz and sending the sampled packetized data using mongoose webserver (websocket).
Then starting from the Mongoose firmware i tried to integrate the part related to I2S. The main function is the following one (without managing the audio stream, just launching the I2S_DMA) int main(void) /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MPU Configuration--------------------------------------------------------*/ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals / /* USER CODE END 2 */ /* Infinite loop / mg_mgr_init(&mgr); // On STM32Fxx, use _stm32f suffix instead of _stm32h while (1) {
} The two critical functions are of course that gives to me the following output: Now, I'm new and I'm trying to figure out what is happening. If you need any information don't hesitate to ask. pb |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
Mongoose does not know, nor cares, about I2S or your hardware or your application. |
Beta Was this translation helpful? Give feedback.
Mongoose does not know, nor cares, about I2S or your hardware or your application.
Whatever, you do, you break something, change something, modify something.
Your problem is probably the MAC DMA not being able to access descriptor memory. See your reference manual, see where your memory is allocated, and leave those memory areas where the Ethernet Controller can read/write, available for it.