[solved] One upload, I am fine, the next upload, not so well
Posted: Thu Mar 28, 2019 4:52 pm
The code I am trying to upload, after the 3rd failure:Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: "ESP32 Dev Module, Disabled, Default, 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, Debug"
Sketch uses 193616 bytes (14%) of program storage space. Maximum is 1310720 bytes.
Global variables use 12768 bytes (3%) of dynamic memory, leaving 314912 bytes for local variables. Maximum is 327680 bytes.
esptool.py v2.6-beta1
Serial port COM4
Connecting........___
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
MAC: 30:ae:a4:fe:00:ec
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 921600
Changed.
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 8192 bytes to 47...
Writing at 0x0000e000... (100 %)
Wrote 8192 bytes (47 compressed) at 0x0000e000 in 0.1 seconds (effective 780.2 kbit/s)...
Hash of data verified.
Compressed 17664 bytes to 11528...
Writing at 0x00001000... (100 %)
Wrote 17664 bytes (11528 compressed) at 0x00001000 in 0.2 seconds (effective 651.2 kbit/s)...
Hash of data verified.
Compressed 193776 bytes to 96041...
Writing at 0x00010000... (16 %)
Writing at 0x00014000... (33 %)
Writing at 0x00018000... (50 %)
Writing at 0x0001c000... (66 %)
Writing at 0x00020000... (83 %)
Writing at 0x00024000... (100 %)
Wrote 193776 bytes (96041 compressed) at 0x00010000 in 1.6 seconds (effective 951.6 kbit/s)...
File md5: 597c1d7998c435aef451084750589ef5
Flash md5: a2108da8fb2aba742e4a2df9ca8304b8
MD5 of 0xFF is 516cfd990a85d4f063cb345cd85dcb18
A fatal error occurred: MD5 of file does not match data in flash!
A fatal error occurred: MD5 of file does not match data in flash!
Code: Select all
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
Code: Select all
#include <driver/spi_master.h>
#include "esp_system.h" //This inclusion configures the peripherals in the ESP system.
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "freertos/timers.h"
#include "freertos/event_groups.h"
#include "sdkconfig.h"
////////////////////////////////////////////////////
#define TaskCore1 1
#define TaskCore0 0
#define SerialDataBits 115200
#define csPinAG 15
#define csPinM 15
#define spiCLK 14 // CLK
#define spiMOSI 13 // MOSI
#define spiMISO 12 // MISO
#define TaskStack30K 30000
#define Priority4 4
void setup()
{
Serial.begin( SerialDataBits );
xTaskCreatePinnedToCore ( fGetIMU, "v_getIMU", TaskStack30K, NULL, Priority4, NULL, TaskCore0 );
}
void loop() {}
void fGetIMU( void *pvParameters )
{
spi_bus_config_t bus_config;
bus_config.sclk_io_num = spiCLK; // CLK
bus_config.mosi_io_num = spiMISO; // MOSI
bus_config.miso_io_num = spiMISO; // MISO
bus_config.quadwp_io_num = -1; // Not used
bus_config.quadhd_io_num = -1; // Not used
Serial.println("... Initializing bus.");
spi_device_handle_t handle;
spi_device_interface_config_t dev_config;
dev_config.address_bits = 0;
dev_config.command_bits = 0;
dev_config.dummy_bits = 0;
dev_config.mode = 0;
dev_config.duty_cycle_pos = 0;
dev_config.cs_ena_posttrans = 0;
dev_config.cs_ena_pretrans = 0;
dev_config.clock_speed_hz = 10000;
dev_config.spics_io_num = csPinAG;
dev_config.flags = 0;
dev_config.queue_size = 1;
dev_config.pre_cb = NULL;
dev_config.post_cb = NULL;
Serial.println("... Adding device bus.");
ESP_ERROR_CHECK(spi_bus_add_device(HSPI_HOST, &dev_config, &handle))
ESP_ERROR_CHECK(spi_bus_initialize(HSPI_HOST, &bus_config, 1));
////
// char data[3];
// spi_transaction_t trans_desc;
// trans_desc.address = 0;
// trans_desc.command = 0;
// trans_desc.flags = 0;
// trans_desc.length = 3 * 8;
// trans_desc.rxlength = 0;
// trans_desc.tx_buffer = data;
// trans_desc.rx_buffer = data;
// data[0] = 0x12;
// data[1] = 0x34;
// data[2] = 0x56;
// Serial.println("... Transmitting.");
// ESP_ERROR_CHECK(spi_device_transmit(handle, &trans_desc));
TickType_t xLastWakeTime;
const TickType_t xFrequency = pdMS_TO_TICKS( 1000 );
// Initialise the xLastWakeTime variable with the current time.
xLastWakeTime = xTaskGetTickCount();
while (1)
{
vTaskDelayUntil( &xLastWakeTime, xFrequency );
Serial.println ( " doing a loop " );
xLastWakeTime = xTaskGetTickCount();
}
vTaskDelete(NULL);
}
Any idea on how to fix this?