Atmel Studio

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.

Figure 1. Procmon Filter Configuration


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.

Figure 2. Procmon Filter Configuration


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.

Note: Remember to back up the offending JLinkArm.dll before replacing it, as it is not sure that it will be compatible with the deploying program.