

- SEGGER EMBEDDED STUDIO IMPORT KEIL SERIAL
- SEGGER EMBEDDED STUDIO IMPORT KEIL SOFTWARE
- SEGGER EMBEDDED STUDIO IMPORT KEIL CODE
- SEGGER EMBEDDED STUDIO IMPORT KEIL PC

If you are using a standalone nRF51822 module such as BLE Nano, you should wire J-Link to the module as explained in this post before connecting it to the PC. Once connected to the PC, open J-Link RTT Viewer application.
SEGGER EMBEDDED STUDIO IMPORT KEIL PC
This kit already includes a SEGGER chip and supports RTT off the self using the USB connection for the communication between the PC and the nRF51822 chip. Last week we attended a Bluetooth SIG seminar to learn about Bluetooth Developer Studio and we got a free Nordic nRF51 Development Kit. We will build on the installation that we detailed in the linked post, but you can easily use RTT in other environments like Keil as explained in Nordic's tutorial. The rest of this post asumes that you are using eclipse+gcc development toolchain for nRF51822. Due to the performance of the protocol, RTT can be used to do real time debugging even with the extrict timing constraints of Nordic's SoftDevice. change the value of a configuration parameter in real-time without having to recompile and reflash the code).
SEGGER EMBEDDED STUDIO IMPORT KEIL CODE
RTT enables bidirectional communication, so it can also be used to input data to the embedded code (e.g. The output of these functions can be viewed on the PC terminal or logged to a text file using J-Link RTT Viewer application. Similar to UART, RTT can print strings, values and variables using API functions like SEGGER_RTT_printf() or SEGGER_RTT_Write(). Basically only the time to do a single memcpy()" An average line of text can be output in one microsecond or less. Quoting SEGGER documentation: "The performance of SEGGER RTT is significantly higher than any other technology used to output data to a host PC.
SEGGER EMBEDDED STUDIO IMPORT KEIL SERIAL
It uses the Serial Wire Debug (SWD) protocol and pins.

SEGGER EMBEDDED STUDIO IMPORT KEIL SOFTWARE
It is called Real Time Terminal and is included as part of the J-Link software suite. Real Time Terminal (RTT)įortunately SEGGER has implemented a debugging/logging mechanism similar to a UART connection but that uses much less resources. In one real example we experienced accumulated delays in our code of more than 5 seconds. For example, if you are in the middle of a Bluetooth connection and need to log a long message, the Bluetooth functionality cannot be put on hold while the message is being printed to UART(tenths of a second).Īlthough Nordic nRF51822 Bluetooth Low Energy firmware implemented in their Software Device can cope with the delays of a UART connection, the timing implications are not negligible. In many scenarios this is not compatible with the real time requirements of the original program. Setting up and using a UART connection requires lots of resources and processing time from the hardware platform. You can print to the UART port/connection whatever you want: text, numeric values, variables, line numbers, etc. UART logging removes the limitations of LED debugging. However it is difficult if not impossible to see what the value of a variable is or what the actual flow of the code is. In practise, you can use a LED to indicate when the code passes by a certain point or when the internal state of the program changes to a given value. Unfortunately the information that a LED can provide is very limited: you can only play with the number of blinks and the duration of those blinks. Using LEDs to debug code is easy (you just have to change on/off state of an output PIN). The simplest techniques used in embedded debugging are blinking LEDs and UART logging. Engineers need to implement smart mechanisms to visualise the flow of their code and spot errors without impacting the performance and functionality of the original software. There is no terminal to display what is going on.
