Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
EB Monitor and Semihosting poorly explained
#1
We are using the EMBitz IDE and are satisfied with the standard options.
But the debugging features "Semihosting" and "EBmon" are not working as expected.
A simple "Hello World" example with stdio.h include file doesn`t show any output on both options (Semihosting/EBMon).
F.e. the semihosting flag is set in the menues.
Can somebody list the preferences necassery to use that features ? (What are living variables ? How to declare ?).
Are there any manuals ?
If possible give us a step by step explanation or an example.


Thank you very much.

Bitscrambler
Reply
#2
(02-02-2018, 10:59 AM)Bitscrambler Wrote: We are using the EMBitz IDE and are satisfied with the standard options.
But the debugging features "Semihosting" and "EBmon" are not working as expected.
A simple "Hello World" example with stdio.h include file doesn`t show any output on both options (Semihosting/EBMon).
F.e. the semihosting flag is set in the menues.
Can somebody list the preferences necassery to use that features ? (What are living variables ? How to declare ?).
Are there any manuals ?
If possible give us a step by step explanation or an example.


Thank you very much.

Bitscrambler
My current practice is to avoid Semihosting and use only the EBmonitor.  In the system settings, check that
1) Settings -> Tools... -> EB monitor -> Enable EB monitor is checked
2) Project -> Build options... -> Linker settings -> Categories (Debug Features) -> Use EB monitor plugin is checked

In the main file, use declarations for

Code:
void    EBmonitor_buffer(FILE* , char*, uint16_t);
#define EBM_outLength 128       // EB Monitor is used for debugging
#define EBM_inLength 64
char    EBM_out[EBM_outLength];
char    EBM_in[EBM_inLength];

and initialization for
Code:
 EBmonitor_buffer(stdout, EBM_out, EBM_outLength);
 EBmonitor_buffer(stdin,  EBM_in,  EBM_inLength);
 printf("\fI am alive message\n");
Cheers, Ollie
Reply
#3
(03-02-2018, 07:05 PM)OliviliK Wrote:
(02-02-2018, 10:59 AM)Bitscrambler Wrote: We are using the EMBitz IDE and are satisfied with the standard options.
But the debugging features "Semihosting" and "EBmon" are not working as expected.
A simple "Hello World" example with stdio.h include file doesn`t show any output on both options (Semihosting/EBMon).
F.e. the semihosting flag is set in the menues.
Can somebody list the preferences necassery to use that features ? (What are living variables ? How to declare ?).
Are there any manuals ?
If possible give us a step by step explanation or an example.


Thank you very much.

Bitscrambler
My current practice is to avoid Semihosting and use only the EBmonitor.  In the system settings, check that
1) Settings -> Tools... -> EB monitor -> Enable EB monitor is checked
2) Project -> Build options... -> Linker settings -> Categories (Debug Features) -> Use EB monitor plugin is checked

In the main file, use declarations for

Code:
void    EBmonitor_buffer(FILE* , char*, uint16_t);
#define EBM_outLength 128       // EB Monitor is used for debugging
#define EBM_inLength 64
char    EBM_out[EBM_outLength];
char    EBM_in[EBM_inLength];

and initialization for
Code:
 EBmonitor_buffer(stdout, EBM_out, EBM_outLength);
 EBmonitor_buffer(stdin,  EBM_in,  EBM_inLength);
 printf("\fI am alive message\n");

Thank you for your help.
We will try it with our present main code and inform you.
Question: is EBMonitor able to show local variables  of subroutines or have they to be transferred to global variables ?
Reg., Bitscrambler
Reply
#4
EBmonitor works with formatted print function and can show anything.

In my example, the special codes have the following meanings
- \f clears the EB monitor panel
- \n flushes the content as a line in EB monitor panel

The two other mechanisms are
- watch panel where the variables in the current function are shown
- live variables which are updated when the cursor stays on top of a variable

You can manually add any variables in the watch window and they will stay there when exiting from a function
Cheers, Ollie
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)