CRC Error Downloading STM32 Board Files in Arduino IDE

tcontrada
Mon Jul 09, 2018 2:28 pm
I noticed this problem last week and I am unable to work on my STM32 Blue Pill. When trying to download the latest or even past board files I get the following error message, see attached image. Anyone else having the same issue?

Image


Rick Kimball
Mon Jul 09, 2018 3:16 pm
All the bluepills I’ve used are using an STM32F1. Why aren’t you downloading that core?

Also, most people using a bluepill use Roger’s libmaple based core, which is best acquired via github, not the board manager.


tcontrada
Mon Jul 09, 2018 3:26 pm
I’ve been using that board library for quite a while. So my question is, why is there an issue now and can it be resolved?

-Tony


Rick Kimball
Mon Jul 09, 2018 3:43 pm
You are using the STM32F4 core with a bluepill?

Rick Kimball
Mon Jul 09, 2018 3:48 pm
Please show your “Additional Boards Manager URLs” setup.

I’m guessing you are using this one: http://dan.drown.org/stm32duino/package … index.json

I just tried it, it works fine for me on linux. No CRC errors.

What OS are you on?

What version of Arduino IDE ?

Why does your image snap shot show 2018-6-23. I see a newer version than that.

Do you have enough disk space? Maybe you could try removing all the versions you don’t need.


tcontrada
Mon Jul 09, 2018 3:53 pm
https://github.com/esp8266/Arduino/rele … index.json

Rick Kimball
Mon Jul 09, 2018 3:59 pm
https://github.com/esp8266/Arduino/releases/download/2.4.0-c2/package_esp8266com_index.json,
http://download.labs.mediatek.com/package_mtk_linkit_smart_7688_index.json,
https://github.com/stm32duino/BoardManagerFiles/blob/master/STM32/package_stm_index.json

tcontrada
Mon Jul 09, 2018 4:07 pm
I am using the dan brown link.

OS = W10, Arduino IDE 1.8.5

I have the same problem on 2 different PC’s as well!

All of this was working fine a few weeks ago!


tcontrada
Mon Jul 09, 2018 4:11 pm
Here is the IDE Error Message:

CRC doesn’t match, file is corrupted. It may be a temporary problem, please retry later.
java.lang.RuntimeException: java.lang.Exception: CRC doesn’t match, file is corrupted. It may be a temporary problem, please retry later.
at cc.arduino.contributions.packages.ui.ContributionManagerUI.lambda$onInstallPressed$1(ContributionManagerUI.java:176)
at java.lang.Thread.run(Thread.java:748)



stevestrong
Mon Jul 09, 2018 6:53 pm
Officially, we don’t support the install package from Dan Brown.
Please install the Roger’s core as indicated on github (download and unpack zip).

Rick Kimball
Mon Jul 09, 2018 7:18 pm
[stevestrong – Mon Jul 09, 2018 6:53 pm] – Officially

Heh … you make me laugh .. is there anything “Official” here?

Your only guaranteed support here is that there is none. If you find some, then consider yourself lucky.


tcontrada
Mon Jul 09, 2018 7:35 pm
I’ll try this out tomorrow, as I am out for the day.

Fingers crossed this time X

-Tony


tcontrada
Mon Jul 09, 2018 7:38 pm
Rick, I’ll check it out tomorrow…

Thanks,
Tony


ddrown
Mon Jul 09, 2018 11:39 pm
I’ll double check the stm32f4 files when I get home.

Rick Kimball
Tue Jul 10, 2018 1:00 am
@ddrown. at least on linux it worked fine:

viewtopic.php?f=14&t=3840#p47054


ddrown
Tue Jul 10, 2018 2:49 am
[Rick Kimball – Tue Jul 10, 2018 1:00 am] –
@ddrown. at least on linux it worked fine:

viewtopic.php?f=14&t=3840#p47054

Thanks for testing!

I also tried Arduino 1.8.5 on Windows 10 and was able to install the STM32F4 versions 2018.6.23, 2018.5.27, and 2018.7.2.

@tcontrada can you try https instead of http? Maybe your provider is messing with your downloads?
https://dan.drown.org/stm32duino/packag … index.json


fpiSTM
Tue Jul 10, 2018 4:59 am
Probably the json or package are corrupted. Best way is to remove manually the downloaded packages and json from user arduino path.
Then restart Arduino and launch again the board manager.

tcontrada
Wed Jul 11, 2018 2:33 pm
Well, I had to uninstall my Arduino IDE from the Windows Control Panel, then verify the file structure was deleted properly.

Then, reinstall Arduino IDE 1.8.5 from their web site.

I was then able to download the dan brown JSON file and get the STM32103 files. However, those libraries have some issues with the Serial Ports.
So I had to use the STM32 files from the STM32 link instead.
github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json
However, there is an issue with the Serial Ports with the version 1.3.0, so I had to get version 1.2.0 instead.

Someone might want to look at version 1.3.0 for the Serial Port issue which appears to only work with Serial1 and not Serial2 or 3…

Thanks,
Tony


fpiSTM
Wed Jul 11, 2018 3:17 pm
Could you describe which issue you met with Serial?
On which board? and which sketch?
I guess the board you use have the generic Serial instance map on Serial1.
So up to you to define other instance you want to use…
HardwareSerial Serial2(rx, tx);

tcontrada
Wed Jul 11, 2018 4:17 pm
Hi, yes, using the STM32 Blue Pill with STM32 version 1.2.0 Library. See screenshots below… This is the Version that works with the serial ports…

STM32-Image5.jpg
STM32-Image5.jpg (59.93 KiB) Viewed 261 times

fpiSTM
Wed Jul 11, 2018 6:27 pm
So there is no issue…
Read the Release note:
https://github.com/stm32duino/Arduino_C … /tag/1.3.0

Review Serial menu, 3 options:

Enabled with generic Serial: default, define HAL_UART_MODULE_ENABLED
and instantiate Serial using SERIAL_UART_INSTANCE and PIN_SERIAL_RX/PIN_SERIAL_Tx
Enabled without generic Serial: define HAL_UART_MODULE_ENABLED
Disabled (No Serial): HAL_UART_MODULE_ENABLED not defined
Allow to build without HAL_UART_MODULE_ENABLED (save memory)
Now, HAL_UART_MODULE_ENABLED should not be defined in stm32yyxx_hal_conf.h

As I said in my previous post up to you to declare the instance.

[fpiSTM – Wed Jul 11, 2018 3:17 pm] –
So up to you to define other instance you want to use…
HardwareSerial Serial2(rx, tx);

tcontrada
Wed Jul 11, 2018 8:34 pm
I didn’t actually read the release notes for 1.3.0, but what I can say is that with 1.2.0 I can just declare Serial1, Serial2, Serial3, etc. without the other initialization. When I already had all my code written in 1.2.0 and then upgraded to 1.3.0, then my previous code no longer worked, i.e. 1.3.0 not actually backward compatible.

Honestly, I like 1.2.0 better for this reason. MHO…

-Tony


fpiSTM
Wed Jul 11, 2018 8:40 pm
No worries. Just tell you this is not a bug.
The way it was one before was to set by the menu a switch to enable several Serial.
Only the generic, the first 3 serial or all possible Serial.
This was not convenient to enable only wanted Serialx. Example if user wants Serial3 and Serial7, he do not need Serial2, Serial4/5/6/8/9/10 for STM32 which have those Serial.

To use your previous code. Add a build_opt.h file to your sketch then define the Serial you want, for example to have Serial2 and Serial3:
-DENABLE_HWSERIAL2 -DENABLE_HWSERIAL3


Leave a Reply

Your email address will not be published. Required fields are marked *