Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature suggestion: Better documentation of the IDE package in the GPR project file #150

Closed
sowebio opened this issue Jan 12, 2023 · 1 comment

Comments

@sowebio
Copy link

sowebio commented Jan 12, 2023

In AVR target mode, the communication between the AVR probe and GNAT Studio is TCP/IP based. We need to understand how this communication is established.

We found out that the interface information to the probe has to be placed in the project file, probably in an optional package named IDE. Neither in the GPR Tools User's Guide (please refer to you IDE documentation) nor in the GNAT Studio User's Guide (where only the scripting APIs can be found) is there a list of the attributes of the optional IDE package. To get a better idea of this, one has to search for 'IDE' (with the single quote) in the GNAT Studio User's Guide (22.0w) to indirectly get the list of attributes: Artifacts_Dir (p79), Default_Switches (p170), Program_Host (p291), Communication_Protocol (p291).

Digging into the GNAT Studio sources we also find: Connection_Tool & Connection_Config_File. To find out what values are accepted by the attributes... projects.py tells us more. There are dozens of attributes in the IDE package. For those of interest to us:

Program_Host name/IP:Port
Communication_Protocol remote, extended-remote, wtx, dfw, dfw-rtp or qnx
Connection_Tool OpenOCD, st-util or pyOCD
Connection_Config_File Used only when OpenOCD is set
Debugger_Command¹

¹Since the name is avr-gdb, a use Target=avr will do the trick (automatic prefixing of all GCC tool names with "avr-").

FYI, In board_support.py, AVR does not appear in the supported_targets (there are arm, powerpc, riscv, X86_64, leon3 and even 68020!) Also, the Connection_Tool attribute does not support any AVR probe interface.

We would like to see a better documentation of the IDE package in a GPR project file.

One could read this document for proper GNAT Studio AVR settings: https://github.com/sowebio/adam-doc/blob/master/Ada%20Development%20on%20AVR%20Microcontroller.pdf

@sowebio sowebio changed the title Feature: Better documentation of the IDE package in the GPR project file Feature suggestion: Better documentation of the IDE package in the GPR project file Jan 12, 2023
@ogorodnik
Copy link
Contributor

These preferences are suitable to be changed from GUI. Edit/Project Properties Embedded tab. It contains also descriptions.

board_support.py plugin can be used as an example how to create your own plugin for adding AVR support and provide it with your code on souceforge or put listing in the documentation like you did for creating the aditionl "Avr Ada" menu.

Do not hesitate to ask questions if you will have troubles/questions with how to create plugins.
It can me helpful to read GNAT Studio documentation, section 15.5.1 Customization files and plugins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants