Compilation error: text section exceeds

hi everyone, my code was uploaded yesterday successfully however when I tried it again this morning this shows


this is my code #include "esp_camera.h"

#include <WiFi.h> ;

#include "soc/soc.h"

#include "soc/rtc_cntl_reg.h"

//

// WARNING!!! Make sure that you have either selected ESP32 Wrover Module,

// or another board which has PSRAM enabled

//

#define CAMERA_MODEL_AI_THINKER

#include "camera_pins.h"

const char * ssid = "YOUR_SSID" ;

const char * password = "YOUR_PASSWORD" ;

void startCameraServer();

void setup()

{

WRITE_PERI_REG(RTC_CNTL_BROWN_OUT_REG, 0

);

Serial.begin(115200);

Serial.setDebugOutput( true );

Serial.println();

camera_config_t config;

config.ledc_channel = LEDC_CHANNEL_0;

config.ledc_timer = LEDC_TIMER_0;

config.pin_d0 = Y2_GPIO_NUM;

config.pin_d1 = Y3_GPIO_NUM;

config.pin_d2 = Y4_GPIO_NUM;

config.pin_d3 = Y5_GPIO_NUM;

config.pin_d4 = Y6_GPIO_NUM;

config.pin_d5 = Y7_GPIO_NUM;

config.pin_d6 = Y8_GPIO_NUM;

config.pin_d7 = Y9_GPIO_NUM;

config.pin_xclk = XCLK_GPIO_NUM;

config.pin_pclk = PCLK_GPIO_NUM;

config.pin_vsync = VSYNC_GPIO_NUM;

config.pin_href = HREF_GPIO_NUM;

config.pin_sscb_sda = SIOD_GPIO_NUM;

config.pin_sscb_scl = SIOC_GPIO_NUM;

config.pin_pwdn = PWDN_GPIO_NUM;

config.pin_reset = RESET_GPIO_NUM;

config.xclk_freq_hz = 20000000;

config.pixel_format = PIXFORMAT_JPEG;

//init with high specs to pre-allocate larger buffers

if (psramFound()){

config.frame_size = FRAMESIZE_UXGA;

config.jpeg_quality = 10;

config.fb_count = 2;

} else {

config.frame_size = FRAMESIZE_SVGA;

config.jpeg_quality = 12;

config.fb_count = 1;

}

#if defined(CAMERA_MODEL_ESP_EYE)

pinMode(13, INPUT_PULLUP);

pinMode(14, INPUT_PULLUP);

#endif

// camera init

esp_err_t err = esp_camera_init(&config);

if (err != ESP_OK) {

Serial. printf ( "Camera init failed with error 0x%x" , err);

return ;

}

sensor_t * s = esp_camera_sensor_get();

//initial sensors are flipped vertically and colors are a bit saturated

if (s->id.PID == OV3660_PID) {

s->set_vflip(s, 1); //flip it back

s->set_brightness(s, 1); //up the blightness just a bit

s->set_saturation(s, -2); //lower the saturation

}

//drop down frame size for higher initial frame rate

s->set_framesize(s, FRAMESIZE_QVGA);

#if defined(CAMERA_MODEL_M5STACK_WIDE)

s->set_vflip(s, 1);

s->set_hmirror(s, 1);

#endif

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {

delay(500);

Serial.print( "." );

}

Serial.println( "" );

Serial.println( "WiFi connected" );

startCameraServer();

Serial.print( "Camera Ready! Use 'http://" );

Serial.print(WiFi.localIP());

Serial.println( "' to connect" );

}

void loop()

{

// put your main code here, to run repeatedly:

delay(10000);

}

Did you change anything?

I'm not an ESP32 user, but there are partition schemes; maybe you can play with those.


How did you manage to get every line of your shown code in code tags? The easiest to fix this is probably to delete all your code from your opening post, use edit/copy for forum in the IDE and next past it in the opening post.
Note that those code tags must start on their own line.

hii I didn't change anything its the same code from the examples given in the arduino

You didn't change the code, but probably changed the board settings.
This code requires the board with 4Mbyte flash.

In the bottom half of the Tools menu, you should have

  • Flash Size
  • Partition Scheme

Do you know how much Flash you have on your board? Is the Flash Size accurate?

If Flash Size is 4MB, you may have the "Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)" partitioning. There are two APP partitions to allow for OTA (Over the Air) updates. The error message saying Maximum is 1310720 bytes is that "1.2MB". The sketch now consumes 2.5MB.

If you did nothing, then maybe some library/board update ended up pulling in a bunch more code. In any case, you could try another Partition Scheme. Maybe "Huge APP (3MB No OTA/1 MB SPIFFS)"

it works already however if I tried the serial monitor it says this

Does your Device Manager show the ESP32?

I didnt found any esp32 cam

If the board uses a dedicated serial-to-usb chip, it will not identify itself as an ESP32 CAM; it will identify as a CH340 or FTDI232 or CP21xx depending on what is on the board.

To find it out, disconnect the board, open device manager (ports/lpt section) and connect the board; observe the changes.

There are some topics in the IDE 2.x section of the forum: Search results for '#software:ide-2-x port monitor error' - Arduino Forum; you will have to dig a bit :wink: