Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


Firmware Install Issues

I have a new install and I am trying to download the firmware for the board STM32F303

I do this by creating a new C Project, Ac6STM32 MCU Project, Series STM32F3, Board NUCLEO-F303RE



StdPeriph and CubeHal both have this issue.
Logs say
Download Target Firmware
Downloading base firmware material
Unzinppping Perform clean up

Then I get a Error Dialog

Firmware Installation Process Issue
Sounds firmware installation has failed for internal reason

Error code = ERROR_FILESYSTEM_ACCESS_ISSUE




I have Java JDK installed and I have run Help -> CHeck for Updates till no updates are available. (I installed the installer below)
Latest Windows 7 64 bit installer Version v2.0, updated on Wednesday, May 17, 2017 at 18:01:54 CEST):
Installer: install_sw4stm32_win_64bits-v2.0.exe


I have also tried other boards as well.

Eclipse Version Information
Windows 10, 64 Bit install.
Eclipse IDE for C/C++ Developers

Version: Neon.3 Release (4.6.3)
Build id: 20170314-1500

In the directory C:\Users\AppData\Roaming\Ac6\SW4STM32 there are two direrectories board_def and

firmwares
.tmp_STM32FirmwareInstall_499495885862344517 (Directrory)
.tmp_STM32FirmwareInstall_1565592567875179932 (Directrory)

board_def is empty


What am I doing wrong?

France

Hello Cancrusher,

According fact you have .tmp_STM32FirmwareInstall_ directories (which are temporary structures performing firmware download process) plus sounds unzip process has been done, please could you have a look to such directories content ? Thinking NUCLEO-F303RE board you should have a STM32Cube_FW_F3_V1.8.0 directory inside :
- If yes please move it to C:\Users\AppData\Roaming\Ac6\SW4STM32\firmwares then all should work fine
- If no please could you share *.downloadTaskTrace.xml files which should rely under temporary directories to x2 check download process was going fine ?

If download was going fine I’m suspecting some right permissions issue. By the way process to setup firmware is the following :
1) Temp directory creation to act as firmware setup working area
2) Firmwware .zip download
3) Unzipping process
4) Unzipped directory move to C:\Users\AppData\Roaming\Ac6\SW4STM32\firmwares
5) Temp directory removal
According your log sharing & reported error sounds either step 4) or 5) has failed ... such are basic file move & delete operations ...

Let me know if helping.

Br,
cartu38


cartu38,
There are directories under this as you thought. They look somehing like this

C:\Users\AppData\Roaming\Ac6\SW4STM32\firmwares.tmp_STM32FirmwareInstall_7173194301826937289\STM32Cube_FW_F3_V1.8.0\Projects\STM32303E_EVAL\Examples

C:\Users\AppData\Roaming\Ac6\SW4STM32\firmwares.tmp_STM32FirmwareInstall_7173194301826937289\STM32Cube_FW_F3_V1.8.0\Projects\STM32303E_EVAL\Examples\TIM\TIM_Combined\Src

However, there are actually no files in this space. There are just the directory paths but no files.

Since these files are under
C:\Users\AppData\Roaming...
they are all marked as ReadOnly.I have tried changing the permissions In file manager, security settings,y my user has access to all directories.

I can not find the file you requested below.

If no please could you share *.downloadTaskTrace.xml files which should rely under temporary directories to x2 check download process was going fine ?

What do you mean by “under temporary directories to x2”? I search the hard drive for “*downloadTaskTrace.xml” but could not find anything.

I looked under C:\Users\AppData\Local\Temp and I could not find it there either.

Ken

France

Hello Cancrusher,

Ok. As you’re getting firmware directories structure means your download process is ok. Issue is you’re only getting by the end of process directories structure but no files inside ... means PART OF unzip process is failing. Only variation about unzip process between directories structure & files is files extraction is multithreaded process. May you have local setup which may limit such ? It’s quite weird ...

As short term workaround let’s have a try to setup by yourself firmware package ...
From your favorite internet browser let’s point to remote STM32 F3 HAL firmware pack http://www.st.com/resource/en/firmware2/stm32cube_fw_f3_v180.zipQuestion
Once you’ve got such zip file let’s unzip it under C:\Users\AppData\Roaming\Ac6\SW4STM32\firmwares what’s it !

If still issue and expecting to target some other STM32 series let’s consider remote server address is always same : http://www.st.com/resource/en/firmware2Question
Then you have to complete such base address by firmware file name. Firmware fine names may be found within “your Ac6 SystemWorkbench for STM32 install path”\plugins\fr.ac6.mcu.ide_”id”\resources\board_def\stm32targets.xml file

Feel free to comment / share back !

Br,
cartu38

I have a very similar problem - downloads, doesn’t unzip. I manually unzipped the folder and put it in the firmware directory:

2:17pm@beast~/Ac6/firmware>pwd
/home/cornesj/Ac6/firmware
2:19pm@beast~/Ac6/firmware>ls -la
total 12K
drwxr-xr-x 3 cornesj cornesj 4096 Jan 4 14:17 .
drwxr-xr-x 4 cornesj cornesj 4096 Jan 4 14:16 ..
drwxr-xr-x 6 cornesj cornesj 4096 Apr 7 2011 STM32F10x_StdPeriph_Lib_V3.5.0
2:19pm@beast~/Ac6/firmware>

But the “New Project” wizard still won’t find it, even after a restart.

France

Hello tyggerjai,

Such unzip issue is so weird but no clue to reproduce it locally :-(

Fact is relying on standard periph. library (HAL library one is self sufficient), “New Project” wizard is requiring unzipped folder & .zip source file both available sharing same root directory to get firmware finder success. Let’s have a try so to add source zip file to your ~/Ac6/firmware directory.

Feel free to share back.
Br.

It is running on a VM, and that does look like the same error message, so quite possibly.

Hello Cancrusher,

I have the exact same problem while downloading the Cube HAL firmware for STM32F429l DISCOVERY board.
I understand cartu38’s solution but I couldnt locate the URL for the firmware pack on ST’s website.

If you have any other solution please help me with the same.

majorviraj

France

Hello majorviraj ,

Still a pity to get firmware install issue. Please could you share used OS, System Workbench release, ... would be definitively nice to find root cause of such trouble.

As work around, best from my first guess is : you may rely on ST’s CubeMx tools to install required firmware (Help > Install New Libraries menu).

Feel free to share back.

Br.


I’m having the same issue. I am fairly certain it is due to corporate lock down of certain functions due to security policies, since I’m multi-core and non-VM. The system is locked down to prevent rogue applications from installing malware, and unfortunately innocent programs get caught as well. I can install and run certain software, but others give me problems like this. I have the same issues with CubeMX. I’ve figured out how to work around those issues with that program, but I’m new to OpenSTM32, and have not figured out how to do that here yet. I’m trying to port some rather complicated projects from IAR, and haven’t even been able to make a Hello World yet due to lack of ability to install the StdPeriphLib code.

Hey guys & gals!

I am facing the same issue - just the download doesn’t even start.
My sw4stm32 version is 2.9, java version “1.8.0_121” and running on ubuntu 16.04 (4.4.0-170-generic #199-Ubuntu SMP Thu Nov 14 01:45:04 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux).

The HAL download and installation works just fine, the SPL fails right away - id does not get even downloaded.

When I download the zip file manually (stm32cube_fw_f0_v1100.zip) and unzip it to the ~/.ac6/SW4STM32/firmwares or leave it as a zip archive, it doesn’t change a thing.

I have the firmware also in the CUBE MX directory (as configured in the eclipse firmware path) but that has also zero effect.

Any clues?

(EDIT #1) same behaviour on ubuntu 18.04, 5.0.0-37-generic #40~18.04.1-Ubuntu SMP Thu Nov 14 12:06:39 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux, openjdk version “11.0.5” 2019-10-15.

(EDIT #2) with java version “13.0.1” 2019-10-15 (and same outcome with java version “11.0.5” 2019-10-15 LTS) and SW4ST32 v 2.9 and selecting an “Empty project” with Ac6 toolchain it actually initiated the download but failed with
Exception in thread “pool-4-thread-1” java.lang.NullPointerException
at fr.ac6.mcu.utils.internal.download.DownloadThreadPool.afterExecute(DownloadThreadPool.java:63)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1157)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

(EDIT #3) The same thing happens for F103.. It seems it is directly related to any SPL firmware. HAL gets downloaded just fine.

(EDIT #4) Just tested the same scenario of downloading SPL firmwares for f103 and f030 on Windows 7 with Java 6 and workbench v. 2.9 while facing exactly the the same problem.

(EDIT #5) It actually managed to download SOME firmware - STM32_Nucleo_FW_V1.2.1. If I did not select custom-defined CPU (f103cb or f030cc in my case) but a Nucleo dev board (Nucleo-F030R8 or Nucleo-F103RB) it DID DOWNLOAD the abovementioned firmwares. Other boards, however, do not proceed with the download. Additionally, this firmware seems to be common for both F0 and F1 families (it always refers to the same firmware), but again do not cover the custom defined CPUs (!) Boundcing from a wall to wall.. ;(

.. and just for the record, the same problem is currently being discussed also HERE Question

All right, here are my findings :-)

When attempting to download the SPL for F030 the sw4stm32 requests a zip file from this URL

http://sw-center.st.com/packs/resource/firmware/stm32f0_stdperiph_lib_v150.zipQuestion

but gets 404 Not Found (discovered via wireshark; you can check the url yourselves). The file is not there.

All the firmware archives (including HAL) are defined in this XML file:
‘sw4stm32-2.9/plugins/fr.ac6.mcu.ide_2.9.0.201904120827/resources/board_def/stm32targets.xml’
.. meaning one could possibly change the path and all we will be happy.

At the beginning of the file there are four servers, but the download process is terminated already when with the first attempt fails. Right the second server works (almost fine)
http://www.st.com/resource/en/firmware2/stm32f0_stdperiph_lib_v150.zipQuestion
and the rest of the servers is dead either.

Therefore, I hoped when I place the (manually) working URL at the first position, the download may work just fine. Surely, it doesn’t. The URL, although being downloadable from the browser returns 301 (Moved Permanently) on which the IDE’s downloader fails again.

Trying it out with wget, that redirect eventually leads to https://www.st.com/content/ccc/resource/technical/sw-updater/firmware2/7f/35/cc/ee/e6/80/42/29/stm32f0_stdperiph_lib_v150.zip/files/stm32f0_stdperiph_lib_v150.zip/jcr:content/translations/en.stm32f0_stdperiph_lib_v150.zipQuestion where the firmware is eventually located.

Having added the most of this url to the server list at the first position, the firmware gets downloaded and installed successfully! :-)

BUT: The “server” URL contains the filename repeatedly so it cannot be used as general address. I suggest the current state of the firmware locations shall be updated and firmware archives perhaps even mirrored (backed-up) somewhere for the eventuality the ST folks decide to remove even the last working mirror. Another question is, whether this URL can be taken as an universal template or the magic numbers are dynamically generated by whichever algorithm.

Same solution can be also used for the STM32F103CBTx which url
http://www.st.com/resource/en/firmware2/stsw-stm32054_v350.zipQuestion
eventually goes to
https://www.st.com/content/ccc/resource/technical/sw-updater/firmware2/a8/1d/95/4c/e6/14/44/05/stsw-stm32054_v350.zip/files/stsw-stm32054_v350.zip/jcr:content/translations/en.stsw-stm32054_v350.zipQuestion

Now I deserve a beer.. :-)

But how do you know the file you are going to require for any other STM model?
You can not list the contents of those directories

All the filenames are given in the stm32targets.xml. If they (whoever they might be) change the filename on the server(s) then we are .. doomed. Same if they decide to discontinue the server or just the files’ existence. Unless we had got all the zip archives offline on our hard drives. Tha’ts the only option I see..

There is one drawback, however - you’d have to check for possible updates - if the STL libs are/were still maintaned.. are they?


Ran into this issue. First time user of this Eclipse add-on and am having a serious problem with the whole firmware download issue.

I did an extract from the `fr.ac6.mcu.ide_2.9.1.201905031422/resources/board_def/stm32targets.xml` file for all of the listed firmwares and rotated through the first two listed servers.

Not sure if the AC6 folks are monitoring the links and pruning or updating over time, but it seems there is some link-rot going on. :-(


Yes. It seems not to be maintained or the AC6 folks just don’t know about this problem (as nobody let them know).

In the meantime I have created STM32 firmware backupQuestion site that lists all the still available files from all servers as linked in the stm32targets.xml file.


I’m not sure if I have the same root cause of the problem as others in this thread, but I had the exact issue as the OP and solved mine by temporarily pausing my antivirus software. They are apparently on a hair trigger these days. I had a similar problem recently with a device driver installation and found that the AV software was deleting files as soon as they were unzipped without even giving any kind of message about that. YMMV.