在app_main() 中无法使用大于3584 字节的数据类型
Posted: Thu Jun 01, 2023 11:57 pm
以下代码中,int_array 的大小为3585字节,可以编译,但运行时esp32会持续重启。
如果把int_array 减小一个字节,则不会一直重启。
如果把int_array定义为全局变量或者用动态内存分配,则不会出现问题。
请问这是为什么?
PS: esp-idf 版本 5.0.1,
如果把int_array 减小一个字节,则不会一直重启。
如果把int_array定义为全局变量或者用动态内存分配,则不会出现问题。
请问这是为什么?
PS: esp-idf 版本 5.0.1,
Code: Untitled.c Select all
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include <stdio.h>
void app_main(void)
{
uint8_t int_array[3585] = {0};
while (1)
{
int_array[0]++;
array[0]++;
printf("static array size: %d, count: %d\n", (unsigned int)sizeof(int_array), (unsigned int)int_array[0]);
vTaskDelay(pdMS_TO_TICKS(1000));
}
}