ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Kaisha
Posts: 29
Joined: Thu Mar 05, 2020 8:59 pm

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby Kaisha » Wed Jun 16, 2021 11:40 am

Soon there will be tiny low power SoCs that may replace many MCUs unless prices drop
Which ones are you referring to?

User avatar
Vader_Mester
Posts: 284
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby Vader_Mester » Tue Jul 06, 2021 5:04 am

IMPORTANT!:

If you update IDF master branch to the latest version, the Addax V1.0 boards that has the ESP32-S3(beta 3) chips are no longer supported.
Commits have been made at the beggining of June.

Latest branch that seems to supports older S3:
https://github.com/espressif/esp-idf/tr ... 9e3518a6d3

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

squonk11
Posts: 68
Joined: Wed Mar 01, 2017 6:53 pm
Location: Germany

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby squonk11 » Tue Jul 06, 2021 10:15 am

Is there anybody who owns one of the new ESP32-S3 Evalboards, who did a benchmark comparison between ESP32 and ESP32-S3?
"Whoever believes to be someone has stopped becoming someone"
Sokrates

User avatar
Vader_Mester
Posts: 284
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby Vader_Mester » Tue Jul 06, 2021 12:32 pm

squonk11 wrote:
Tue Jul 06, 2021 10:15 am
Is there anybody who owns one of the new ESP32-S3 Evalboards, who did a benchmark comparison between ESP32 and ESP32-S3?
If you have working benchmarking code you want tested, I can do the test. I have wrover modules with ESP32 V3 chip, and S3 beta 3 modules.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

squonk11
Posts: 68
Joined: Wed Mar 01, 2017 6:53 pm
Location: Germany

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby squonk11 » Tue Jul 06, 2021 10:15 pm

Vader_Mester wrote:
Tue Jul 06, 2021 12:32 pm
squonk11 wrote:
Tue Jul 06, 2021 10:15 am
Is there anybody who owns one of the new ESP32-S3 Evalboards, who did a benchmark comparison between ESP32 and ESP32-S3?
If you have working benchmarking code you want tested, I can do the test. I have wrover modules with ESP32 V3 chip, and S3 beta 3 modules.
You can find some Benchmark Code here:viewtopic.php?f=14&t=800&start=20#p73849.
But it is mainly floatingpoint related, which is probably not the most important topic for this type of uC. Nevertheless it will give an indication. It would kind if you could run this test on both ESP32 versions.
Maybe I can provide you a larger code later in order to avoid having the whole program running in cache memory.
"Whoever believes to be someone has stopped becoming someone"
Sokrates

User avatar
Vader_Mester
Posts: 284
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby Vader_Mester » Wed Jul 07, 2021 6:35 am

squonk11 wrote:
Tue Jul 06, 2021 10:15 pm
Vader_Mester wrote:
Tue Jul 06, 2021 12:32 pm
squonk11 wrote:
Tue Jul 06, 2021 10:15 am
Is there anybody who owns one of the new ESP32-S3 Evalboards, who did a benchmark comparison between ESP32 and ESP32-S3?
If you have working benchmarking code you want tested, I can do the test. I have wrover modules with ESP32 V3 chip, and S3 beta 3 modules.
You can find some Benchmark Code here:viewtopic.php?f=14&t=800&start=20#p73849.
But it is mainly floatingpoint related, which is probably not the most important topic for this type of uC. Nevertheless it will give an indication. It would kind if you could run this test on both ESP32 versions.
Maybe I can provide you a larger code later in order to avoid having the whole program running in cache memory.
OK.
What interests me is the memory usage. I will try to write benchmarking code to test memory read and write speed both for internal RAM and external SPI-RAM as well. The S3 has an improved MMU.
Also, when it will be available, I want to test code execution speed from SPI-RAM.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

User avatar
Vader_Mester
Posts: 284
Joined: Tue Dec 05, 2017 8:28 pm
Location: Hungary
Contact:

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby Vader_Mester » Wed Jul 07, 2021 7:02 am

rudi ;-) wrote:
Sat May 01, 2021 11:19 am
Rudi: I can not PM you, so if you would be so kind, to edit the first post with the following information:

Support for ESP32-S3 (beta) chips have been removed from master.
The last snapshot that supports the beta chips is this:
https://github.com/espressif/esp-idf/tr ... 9e3518a6d3

If you go into your IDF folder, and run:

Code: Select all

git reset --hard 3b60c2e131bc382f40d78095bde8af9e3518a6d3
This will hard reset your local repo. If you made changes to it, use

Code: Select all

git reset --soft 3b60c2e131bc382f40d78095bde8af9e3518a6d3
then

Code: Select all

git checkout 3b60c2e131bc382f40d78095bde8af9e3518a6d3
git submodule update --init --recursive
This will reset your IDF back to this snapshot.

To make tools work, download the latest tools installer from here:
https://dl.espressif.com/dl/esp-idf/?idf=4.4

Then locate the folder where you have all your tools installed.
On windows machines, the default is C:\users\<username>\.espressif\tools
Detele all tools from here, EXCEPT xtensa-esp32s3-elf-gcc8_4_0-esp-2020r3-...
We need this compiler version to work best with beta chips.

Then, locate your tools.json file in your ESP-IDF directory: \esp-idf\tools\tools.json
Locate this bit, normally at line 214. (if you are running on linux then find the appropriate one for your hardware above this line).
This is the compiler tool required for the risv processors. With default settings below, tools installer will fail, because the riscv32 tool received a patch.

Code: Select all

          "win32": {
            "sha256": "5711eb407ffe44adddbd1281b6b575a5645e7193ca78faefa27dc5bc5b662bec",
            "size": 191266312,
            "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win32.zip"
          },
          "win64": {
            "sha256": "be3c9ec364bd8e92924f922a4aec73136824f16e912e6a0b5cf5b30512f0ab96",
            "size": 192799980,
            "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-win64.zip"
          }
To fix this, go to https://github.com/espressif/crosstool-NG/releases/, and from esp-2021r1, download crosstool-NG-esp-2021r1-checksum.sha256 and open in the text editor.
From your specific platform, copy the values from this file to tools.json, and edit the URL. For win64 it will be:
Sha256 file:

Code: Select all

# riscv32-esp-elf-gcc8_4_0-esp-2021r1-patch1-win64.zip: 197027915 bytes
8e8e3e385833960762e9f007bc3f7785daf282deb0c8a4dfdd6340b2cce556b0 *riscv32-esp-elf-gcc8_4_0-esp-2021r1-patch1-win64.zip
This copied into tools.json:

Code: Select all

          "win64": {
            "sha256": "8e8e3e385833960762e9f007bc3f7785daf282deb0c8a4dfdd6340b2cce556b0",
            "size": 197027915,
            "url": "https://github.com/espressif/crosstool-NG/releases/download/esp-2021r1/riscv32-esp-elf-gcc8_4_0-esp-2021r1-patch1-win64.zip"
          }
Once this is done, save tools.json for later to a separate location, and run the tools installer utility or install.bat from your esp-idf directory. If tools.json is correct, it will run fully, and will download all of the tools, and install them.

After the installer is finished, you should remove xtensa-esp32s3-elf-gcc8_4_0-esp-2021r1-..., so IDF will use the older one instead.

Code: Select all

NOTE: On my side it worked with the newest compile tool, but if you experience issues, you can revert back to the old one
After this you are ready to go, you should do a fullclean on your project and recompile.

Code: Select all

task_t coffeeTask()
{
	while(atWork){
		if(!xStreamBufferIsEmpty(mug)){
			coffeeDrink(mug);
		} else {
			xTaskCreate(sBrew, "brew", 9000, &mug, 1, NULL);
			xSemaphoreTake(sCoffeeRdy, portMAX_DELAY);
		}
	}
	vTaskDelete(NULL);
}

squonk11
Posts: 68
Joined: Wed Mar 01, 2017 6:53 pm
Location: Germany

Re: ESP32-S3 (Beta2) MARLIN_9_1B on ESP32-S3-Addax-1 V1.0 Specs & Datasheet

Postby squonk11 » Wed Jul 07, 2021 8:02 am

Vader_Mester wrote:
Wed Jul 07, 2021 6:35 am
squonk11 wrote:
Tue Jul 06, 2021 10:15 pm
Vader_Mester wrote:
Tue Jul 06, 2021 12:32 pm


If you have working benchmarking code you want tested, I can do the test. I have wrover modules with ESP32 V3 chip, and S3 beta 3 modules.
You can find some Benchmark Code here:viewtopic.php?f=14&t=800&start=20#p73849.
But it is mainly floatingpoint related, which is probably not the most important topic for this type of uC. Nevertheless it will give an indication. It would kind if you could run this test on both ESP32 versions.
Maybe I can provide you a larger code later in order to avoid having the whole program running in cache memory.
OK.
What interests me is the memory usage. I will try to write benchmarking code to test memory read and write speed both for internal RAM and external SPI-RAM as well. The S3 has an improved MMU.
Also, when it will be available, I want to test code execution speed from SPI-RAM.
Yes, that is exacly what I am also interested in. This micro probalbly is mostly used for communication purposes (WiFi, BT) and in this case memory reads and writes to the various memories and fetching code from flash etc. are more relevant that floatingpoint operations. In my use case I have an application running a webserver with websocket communication. The app today has a binary size of approx. 1,5MBytes - so most of the code will be executed from ext. flash and not from cache or iram. Since my app currently is too slow I am looking forward to test the ESP32-S3.
"Whoever believes to be someone has stopped becoming someone"
Sokrates

Who is online

Users browsing this forum: Google [Bot], Pablofr918 and 27 guests