We need to get the GSoC 2016 ideas page filled NOW
Sven Brauch
mail at svenbrauch.de
Tue Feb 16 21:34:12 UTC 2016
On 16/02/16 20:57, Laurent Navet wrote:
>> On 16/02/16 11:20, Laurent Navet wrote:
>>> Is there any sort of Roadmap or Todo List on this theme ?
>> Hmm. I could compile a list of possible useful features, then we could
>> discuss what of that is doable/useful, if you like.
>
> Ok, go for it. That's the kind of feature I'd like to work on.
> And should be useful with all those affordable boards and IoT
Ok.
- First of all, a controller-specific debugger would be cool. As the debugger backend, you usually use gdb; but what commercial IDEs do and which is really nice is having a tool view which allows to inspect the controller's hardware registers without typing all the addresses. Let me make an example: You have this code in one of the project's headers:
typedef struct { /*!< SGPIO Structure */
__IO uint32_t OUT_MUX_CFG[16]; /*!< Pin multiplexer configurationregisters. */
__IO uint32_t SGPIO_MUX_CFG[16]; /*!< SGPIO multiplexer configuration registers. */
...[snip]...
__O uint32_t CTR_STATUS_3; /*!< Input bit match interrupt clear status */
__O uint32_t SET_STATUS_3; /*!< Shift clock interrupt set status */
} IP_SGPIO_001_T;
[...]
#define LPC_SGPIO ((IP_SGPIO_001_T*) 0x40101000)
It would now be very nice to show this structure with this base address in a toolview (i.e. members and current values). You need some heuristics to discover those, but I think it's mostly done in exactly that way.
- In the debugger, somewhere display the current stack pointer and program counter, and maybe stack size.
- An action to reset the board (can usually be done through gdb).
- An action to program the board (can be done through gdb but might also be an external script). It would be good to have this as a possible item in the "build" dependency chain. This probably arcs over into apol's "deployment infrastructure" plans.
- Would be nice to have some working templates for some common chips.
- "Implement function" for (undeclared?) extern functions, maybe needs to look at __attribute__(weak) and similar nonstandard C stuff
- Sometimes it would be nice to display the absolute memory address of a struct member for structs like above in the tooltip.
- A lot of headers in my project are not highlighted at all, and there's no completion for functions from them. Not sure what's wrong there, but it seems to be a general issue (I know this doesn't help, it's just to indicate that some work is needed on that front as well).
- Lots of C functions have 8143834 parameters. Maybe one could display the parameter name when moving the mouse over the argument which is passed in? That'd also be nice for cpp sometimes.
- Completion support for C's Foo foo = { .member = value } syntax
- Maybe there's an easy way to find out how much space a function's code takes up in memory?
Just a list of ideas, probably you can kill off half of them as pointless if you discuss a bit.
Best,
Sven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20160216/001bbf1f/attachment.sig>
More information about the KDevelop-devel
mailing list