pyocd / cmsis-pack-manager

A Rust and Python module for handling CMSIS Pack files
Apache License 2.0
28 stars 35 forks source link

Version mismatch causes pack download to fail #123

Open flit opened 5 years ago

flit commented 5 years ago

The nRF DFP is all screwed up…

The Keil pack list site shows the latest version as 8.24.1. The pindex section of keil.vidx has a link to the nRF DFP version 8.7.1. (There is no Nordic-hosted pidx.) But the NordicSemiconductor.nRF_DeviceFamilyPack.8.7.1.pdsc file shows the most recent version is 8.26.0.

I think I understand why the keil.vidx and PDSC differ. The link to the PDSC is owned by Keil, whereas the PDSC and pack are on Nordic's site. So instead of communicating with the Keil team, Nordic has just continued to add new versions in the same PDSC without renaming the file and pack. Of course, this breaks the CMSIS-Pack versioning scheme.

When I attempt to download the nRF DFP using CPM via pyOCD, it reports this error:

$ pyocd pack -i nrf91
Downloading packs (press Control-C to cancel):
    NordicSemiconductor::nRF_DeviceFamilyPack::8.26.0
Oct 05 12:01:13.923 WARN No such file or directory (os error 2)

The version mismatch is undoubtedly the culprit here.

I'm not really sure what CPM should do to work around this, mostly because I'm not sure where the error is actually coming from.

cc @jkrech

theotherjimmy commented 5 years ago

I'm also not sure what CMP should do here. I'll add some instrumentation to see where that os error is coming from.