You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mynewt.apache.org by Michał Narajowski <mi...@codecoup.pl> on 2017/03/09 12:32:32 UTC

[RFC] Integrating SEGGER SystemView into Mynewt

Hi,
I'm working on wiring SEGGER SystemView to Mynewt. "SystemView can
record data from the target system while it is running. The recorded
data is analyzed and the system behavior is visualized in different
views." More info here: https://www.segger.com/systemview.html

Right now it is possible to run the app and see some events, tasks,
interrupts. It's still work in progress and some things might be off.
I include a screenshot of the application. It shows the visualization
of events when using bletiny app.

I would love to get your feedback on some things:
- package structure, file and folder naming
- tracing api
- (current and future) placement of tracing api calls

I'm also having some issues with unexpected ISR events showing up. As
you can see in the screenshot there are some PWM, PDM, SWI4_EGU4 and
QDEC. The problem is I never made trace calls from these ISRs. In
fact, I couldn't find any usages of ISR with these IDs in the source
tree. ISR trace functions do not have ISR ID as an argument.
SystemView checks specific address when receiving ISR event, so maybe
there is something wrong with this address.

Anyway, here is the link to my branch:
https://github.com/michal-narajowski/incubator-mynewt-core/tree/systemview.
I'm looking forward to any comments.

Best regards,
Michał Narajowski

Re: [RFC] Integrating SEGGER SystemView into Mynewt

Posted by Andrzej Kaczmarek <an...@codecoup.pl>.
Hi Michal,

On Thu, Mar 9, 2017 at 1:32 PM, Michał Narajowski <
michal.narajowski@codecoup.pl> wrote:

> Hi,
> I'm working on wiring SEGGER SystemView to Mynewt. "SystemView can
> record data from the target system while it is running. The recorded
> data is analyzed and the system behavior is visualized in different
> views." More info here: https://www.segger.com/systemview.html
>
> Right now it is possible to run the app and see some events, tasks,
> interrupts. It's still work in progress and some things might be off.
> I include a screenshot of the application. It shows the visualization
> of events when using bletiny app.
>
> I would love to get your feedback on some things:
> - package structure, file and folder naming
> - tracing api
> - (current and future) placement of tracing api calls
>
> I'm also having some issues with unexpected ISR events showing up. As
> you can see in the screenshot there are some PWM, PDM, SWI4_EGU4 and
> QDEC. The problem is I never made trace calls from these ISRs. In
> fact, I couldn't find any usages of ISR with these IDs in the source
> tree. ISR trace functions do not have ISR ID as an argument.
> SystemView checks specific address when receiving ISR event, so maybe
> there is something wrong with this address.
>

Seems like you put IRQn in description string instead of Interrupt ID so
they do not match:
https://github.com/michal-narajowski/incubator-mynewt-core/commit/2636b6027ebcbb73dfa36ab6129e087df4042ffa
​

The Interrupt ID is IRQn+16 so you just need to update numbers and it
should be fine then. See here for reference:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/Cihfaaha.html
(VECTACTIVE at the bottom).

BTW, this is probably why SysTick was set to 15 by default in mentioned
commit (it's IRQn = -1).


> Anyway, here is the link to my branch:
> https://github.com/michal-narajowski/incubator-mynewt-core/tree/systemview
> .
> I'm looking forward to any comments.
>
> Best regards,
> Michał Narajowski
>

​Best regards,
Andrzej​

Re: [RFC] Integrating SEGGER SystemView into Mynewt

Posted by Michał Narajowski <mi...@codecoup.pl>.
The screenshot did not attach, so here is a link: http://imgur.com/a/ITmyC

2017-03-09 13:32 GMT+01:00 Michał Narajowski <mi...@codecoup.pl>:
> Hi,
> I'm working on wiring SEGGER SystemView to Mynewt. "SystemView can
> record data from the target system while it is running. The recorded
> data is analyzed and the system behavior is visualized in different
> views." More info here: https://www.segger.com/systemview.html
>
> Right now it is possible to run the app and see some events, tasks,
> interrupts. It's still work in progress and some things might be off.
> I include a screenshot of the application. It shows the visualization
> of events when using bletiny app.
>
> I would love to get your feedback on some things:
> - package structure, file and folder naming
> - tracing api
> - (current and future) placement of tracing api calls
>
> I'm also having some issues with unexpected ISR events showing up. As
> you can see in the screenshot there are some PWM, PDM, SWI4_EGU4 and
> QDEC. The problem is I never made trace calls from these ISRs. In
> fact, I couldn't find any usages of ISR with these IDs in the source
> tree. ISR trace functions do not have ISR ID as an argument.
> SystemView checks specific address when receiving ISR event, so maybe
> there is something wrong with this address.
>
> Anyway, here is the link to my branch:
> https://github.com/michal-narajowski/incubator-mynewt-core/tree/systemview.
> I'm looking forward to any comments.
>
> Best regards,
> Michał Narajowski

Re: [RFC] Integrating SEGGER SystemView into Mynewt

Posted by Michał Narajowski <mi...@codecoup.pl>.
Hi Andrzej,

That was the problem. Thanks!

Best regards,
Michał

2017-03-14 10:50 GMT+01:00 Michał Narajowski <mi...@codecoup.pl>:
> Hi Marcio,
>
> I'm replying to the mailing list too because it is important. Yes, it
> is possible to use SEGGER RTT console with SEGGER SystemView.
> SystemView is using a different channel than the console. And you can
> use it on my branch because SystemView was added on top of RTT.
>
> Best regards,
> Michał
>
> 2017-03-09 17:23 GMT+01:00 Marcio Montenegro <ma...@me.com>:
>> Hi,
>> Congratulations.Nice job😃
>> So using you branch it is possible to use Segger RTT console also?
>> Best regards,
>> Marcio
>>
>> Sent from my iPad
>>
>>> On 9 Mar 2017, at 09:32, Michał Narajowski <mi...@codecoup.pl> wrote:
>>>
>>> Hi,
>>> I'm working on wiring SEGGER SystemView to Mynewt. "SystemView can
>>> record data from the target system while it is running. The recorded
>>> data is analyzed and the system behavior is visualized in different
>>> views." More info here: https://www.segger.com/systemview.html
>>>
>>> Right now it is possible to run the app and see some events, tasks,
>>> interrupts. It's still work in progress and some things might be off.
>>> I include a screenshot of the application. It shows the visualization
>>> of events when using bletiny app.
>>>
>>> I would love to get your feedback on some things:
>>> - package structure, file and folder naming
>>> - tracing api
>>> - (current and future) placement of tracing api calls
>>>
>>> I'm also having some issues with unexpected ISR events showing up. As
>>> you can see in the screenshot there are some PWM, PDM, SWI4_EGU4 and
>>> QDEC. The problem is I never made trace calls from these ISRs. In
>>> fact, I couldn't find any usages of ISR with these IDs in the source
>>> tree. ISR trace functions do not have ISR ID as an argument.
>>> SystemView checks specific address when receiving ISR event, so maybe
>>> there is something wrong with this address.
>>>
>>> Anyway, here is the link to my branch:
>>> https://github.com/michal-narajowski/incubator-mynewt-core/tree/systemview.
>>> I'm looking forward to any comments.
>>>
>>> Best regards,
>>> Michał Narajowski

Re: [RFC] Integrating SEGGER SystemView into Mynewt

Posted by Michał Narajowski <mi...@codecoup.pl>.
Hi Marcio,

I'm replying to the mailing list too because it is important. Yes, it
is possible to use SEGGER RTT console with SEGGER SystemView.
SystemView is using a different channel than the console. And you can
use it on my branch because SystemView was added on top of RTT.

Best regards,
Michał

2017-03-09 17:23 GMT+01:00 Marcio Montenegro <ma...@me.com>:
> Hi,
> Congratulations.Nice job😃
> So using you branch it is possible to use Segger RTT console also?
> Best regards,
> Marcio
>
> Sent from my iPad
>
>> On 9 Mar 2017, at 09:32, Michał Narajowski <mi...@codecoup.pl> wrote:
>>
>> Hi,
>> I'm working on wiring SEGGER SystemView to Mynewt. "SystemView can
>> record data from the target system while it is running. The recorded
>> data is analyzed and the system behavior is visualized in different
>> views." More info here: https://www.segger.com/systemview.html
>>
>> Right now it is possible to run the app and see some events, tasks,
>> interrupts. It's still work in progress and some things might be off.
>> I include a screenshot of the application. It shows the visualization
>> of events when using bletiny app.
>>
>> I would love to get your feedback on some things:
>> - package structure, file and folder naming
>> - tracing api
>> - (current and future) placement of tracing api calls
>>
>> I'm also having some issues with unexpected ISR events showing up. As
>> you can see in the screenshot there are some PWM, PDM, SWI4_EGU4 and
>> QDEC. The problem is I never made trace calls from these ISRs. In
>> fact, I couldn't find any usages of ISR with these IDs in the source
>> tree. ISR trace functions do not have ISR ID as an argument.
>> SystemView checks specific address when receiving ISR event, so maybe
>> there is something wrong with this address.
>>
>> Anyway, here is the link to my branch:
>> https://github.com/michal-narajowski/incubator-mynewt-core/tree/systemview.
>> I'm looking forward to any comments.
>>
>> Best regards,
>> Michał Narajowski