12.4.5 Issues with Arm® Compatible Tools
In some rare instances, all Arm compatible tools disappear from Microchip Studio. This has been tracked down to different dll load strategies used in the different versions of Windows.
To check that it is a dll load error, try reading out the chip information
using the atprogram
. Do this by opening the Microchip Studio command
prompt from the Tools menu inside Microchip Studio or the start
menu. In the command prompt - enter the following command and check that it does not
fail.
atprogram -t <tool> -i <interface> -d <device> info
In the snippet above, replace <tool>
with the tool name,
e.g., atmelice
, samice
or edbg
.
Likewise, replace interface
with the interface used and the
device
with the full device name, e.g., atsam3s4c
.
Invoking the above command may output information about the memory layout, the supply voltage for the chip, and the fuse settings. If it fails, it is likely a driver issue. See Driver and USB Issues.
If the atprogram
can communicate with the device, it means
that the issue is most likely a wrong version of JLinkArm.dll being
loaded due to loader precedence. To check this, use the Procmon tool to check what dll is being loaded.
Download the Procmon tool, open it, configure the filter, as shown in the figure below, and start Microchip Studio. A couple of seconds after Microchip Studio has started, one line may become visible, showing the path from where the dll is being loaded. It may be loaded from the atbackend folder inside the Microchip Studio installation directory.
If the path of the dll is different, it means that Microchip Studio has picked up the wrong dll, and this dll is incompatible with the dll shipped with Microchip Studio. See the figure below for an example of this.
To solve the above issue, we recommend backing up the dll being loaded and then replacing it with the JLinkArm.dll found in the atbackend directory inside the Microchip Studio installation directory. This can be done given the assumption that the dll bundled with Microchip Studio is newer than the loaded one, and the dll is backward compatible.