Page 1 of 1

编译失败

Posted: Fri Jul 02, 2021 7:22 am
by __羊眸__
我调用了这个YUV2RGB422函数就会编译失败,不知道为什么。

RgbAndYuv.c

Code: Select all

void  YUV2RGB422(unsigned char *pRGB, unsigned char *pYUV,int size)
{


}

main.c

Code: Select all

#include <stdio.h>
#include "RgbAndYuv.h"
#include "sd_card.h"
#include "algFile.h"

#define SIZE2 (512*512)
#define SIZE (208*32)
unsigned char rgb[SIZE2*3];//默认栈的大小为1mb

void app_main(void)
{
    unsigned char buf[SIZE*2];
    YUV2RGB422(rgb, buf, SIZE); 
}

Re: 编译失败

Posted: Fri Jul 02, 2021 9:06 am
by ESP_Gargamel
1、你 rgb 这个数组定这么大,esp32 片内内存根本放不下。
2、buf 也很大,app_main 所在的 task stack 也根本不够大。

你确定要用这么大的 buf?如果是的,那需要用带 PSRAM 的模块,并且用 heap 相关接口 malloc buffer 到片外 PSRAM 上去。