Difference between revisions of "Keil MDK-ARM"
(→Trace support) |
|||
Line 51: | Line 51: | ||
To trace other cores than the ones listed above and to be able to use streaming trace features it is recommended to use [https://www.segger.com/products/development-tools/ozone-j-link-debugger/ Ozone] instead. |
To trace other cores than the ones listed above and to be able to use streaming trace features it is recommended to use [https://www.segger.com/products/development-tools/ozone-j-link-debugger/ Ozone] instead. |
||
+ | |||
+ | == RTT in uVision == |
||
+ | To enable RTT in uVision it is not sufficient to just add the RTT sources and syscalls file to your application. |
||
+ | Additionally enable STDOUT retargeting via the "Manage Run-Time Environment" button: |
||
+ | |||
+ | [[File:Keil_Toolbox.PNG]] |
||
+ | |||
+ | Now select STDOUT and set it to Variant User: |
||
+ | |||
+ | [[File:Keil_Manage_Runtime.png]] |
Revision as of 17:38, 13 January 2020
Keil MDK is a visual Studio style, commercial toolchain including a non-GCC compiler. We recommend to always install the latest J-Link software and documentation pack to make sure that Keil MDK uses the latest J-Link DLL.
Contents
Using J-Link with an existing project
- Open the project to configure
- Select Project --> Options for Target ... from the main menu
- Click the Device tab and select the proper device
- Click on the Debug tab and make sure that Cortex-M/R J-LINK / J-Trace is selected
- In order to modify J-Link specific settings click the Settings button in the debug menu and a new dialog will show up:
- Now the project is ready to be debugged with J-Link / J-Trace.
Using J-Link Flashloader
First, choose the right device in the project settings if not already done:
- Click Project | Options for Target from the main menu
- Switch to the Device tab
- Select the appropriate device, for example STM32F207IG
Secondly, enable SEGGER flash loader:
- Click Project | Options for Target from the main menu
- Switch to the Utilities tab
- Check Use Target Driver for Flash Programming
- Select J-LINK / J-Trace Cortex in order to use the J-Link built-in flashloader
Thirdly, configure flash loader:
- Click Project | Options for Target from the main menu
- Switch to the Debug tab
- Select J-LINK / J-Trace Cortex
Please note that flash download through the "Download" (F8) is not supported for J-Link right now. Support may be added in future versions of Keil MDK.
Using J-Link Script Files
Keil MDK-ARM does not provide any native support for J-Link script files so usage of them cannot be configured from within the GUI of the IDE itself. Anyhow, it is possible to use a J-Link script file by making use of the auto-search feature of the DLL:
- Navigate to the folder where the uVision project (*.uvproj, *.uvprojx) is located that shall use the script file.
- Copy the J-Link script file to there
- Rename the J-Link script to JLinkSettings.JLinkScript
The JLinkSettings.ini is a settings file created by the J-Link DLL on debug session start. If no script file is explicitly passed to the DLL, it will search in the directory of the JLinkSettings.ini for a script file named like the settings file only with a different file extension.
Trace support
Keil MDK supports various kinds of tracing features. A general overview of the different trace types can be found here.
- SWO trace is fully supported with J-Link and J-Trace debug probes.
- ETB/ETM trace is supported for Cortex-M0, M0+, M3 and M4.
To trace other cores than the ones listed above and to be able to use streaming trace features it is recommended to use Ozone instead.
RTT in uVision
To enable RTT in uVision it is not sufficient to just add the RTT sources and syscalls file to your application. Additionally enable STDOUT retargeting via the "Manage Run-Time Environment" button:
Now select STDOUT and set it to Variant User: