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