Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Wow, v2 is here ! :-)
#1
Thank you very much for the v2 version! 

I started a simple project for a stm32f103 BluePill. It seems to work, debugging is working too. Compiling and debugging response is very fast. :-)

I have some basic questions.
- Usually I start a stm32 project using stm32CubeMx. What is the practical way to import the CubeMx project?
- Is there a tutorial, manual, video etc. about using Embitz and Eblink? (I am familiar with debugging (Keil&Jlink, Ozone etc), but not with Eblink. How to use EbMonitor etc.
- About live variables: running the program, a global variable is living under the mouse cursor, but not in the watch window.

Answering my own live variables question: right click on the variable in the Watches window, and mark Live updates. :-)
Reply
#2
Yes it's very fast indeed. I wouldn't be surprised if it's the fastest available at this moment and by just using standard STlink's.

(27-10-2021, 01:17 AM)vorosj Wrote: - Usually I start a stm32 project using stm32CubeMx. What is the practical way to import the CubeMx project?

Wait a bit longer till the CubeMX importer is finished.  I already started with it but I had the feeling that I couldn't stretch the launch of this 2.0 any longer.
2.0 was in the pipeline for a long time because it had to wait until EBlink was mature enough with almost no tooth pain anymore.

Meanwhile, how I do it (I have the same workflow as you I guess), just import sources with the recursively menu and copy the compiler defines by peeking at the eclipse .project file. It's not ideal but if you did it several times you will become an expert in it and have the code running in about 10 minutes. But again, it's not ideal.

(27-10-2021, 01:17 AM)vorosj Wrote: - Is there a tutorial, manual, video etc. about using Embitz and Eblink? (I am familiar with debugging (Keil&Jlink, Ozone etc), but not with Eblink. How to use EbMonitor etc.

With an active target goto Debug->plugins->EBmonitor
- Check enable EBmonitor
- Normally you don't need the High-performance option (always start without this option until you are missing info)
- Hit the button "Add sources to target"
- Rebuild project

Now you can use printf to put text on the EBmonitor pane, the form feed character ('\f') will act as clear screen command.
This is very convenient for assertions etc and there is almost no cost in regard to target performance (as semihosting does).
EBmonitor is bidirectional, you can use scanf to get info from the EmBitz terminal into yout target. In this way it's
very easy to make a quick menu system for testing or debugging.

There is an EBmonitor API "int  EBmonitor_kbhit()"  which you can use to check if there is any input on the stdin pipe.

The EBmonitor in EB 1.11 had a bug on debugger stop condition which could it make going mad. That's solved in this version by a totally redesign of the EBmonitor plugin.

(27-10-2021, 01:17 AM)vorosj Wrote: - About live variables: running the program, a global variable is living under the mouse cursor, but not in the watch window.

As you already found, with the context menu but you can also select the watch expression and hit 'L' key to toggle live or 'U' key for snap update.
Reply
#3
Vorosje,
I'm not sure if you can generate code for Atollic (this is now owned bySTmicro) in CubeMX but EmBitz has an Atollic project importer.
Reply
#4
(27-10-2021, 06:09 AM)embitz Wrote: Yes it's very fast indeed. I wouldn't be surprised if it's the fastest available at this moment and by just using standard STlink's.

(27-10-2021, 01:17 AM)vorosj Wrote: - Usually I start a stm32 project using stm32CubeMx. What is the practical way to import the CubeMx project?

Wait a bit longer till the CubeMX importer is finished.  I already started with it but I had the feeling that I couldn't stretch the launch of this 2.0 any longer.
2.0 was in the pipeline for a long time because it had to wait until EBlink was mature enough with almost no tooth pain anymore.

Meanwhile, how I do it (I have the same workflow as you I guess), just import sources with the recursively menu and copy the compiler defines by peeking at the eclipse .project file. It's not ideal but if you did it several times you will become an expert in it and have the code running in about 10 minutes. But again, it's not ideal.

(27-10-2021, 01:17 AM)vorosj Wrote: - Is there a tutorial, manual, video etc. about using Embitz and Eblink? (I am familiar with debugging (Keil&Jlink, Ozone etc), but not with Eblink. How to use EbMonitor etc.

With an active target goto Debug->plugins->EBmonitor
- Check enable EBmonitor
- Normally you don't need the High-performance option (always start without this option until you are missing info)
- Hit the button "Add sources to target"
- Rebuild project

Now you can use printf to put text on the EBmonitor pane, the form feed character ('\f') will act as clear screen command.
This is very convenient for assertions etc and there is almost no cost in regard to target performance (as semihosting does).
EBmonitor is bidirectional, you can use scanf to get info from the EmBitz terminal into yout target. In this way it's
very easy to make a quick menu system for testing or debugging.

There is an EBmonitor API "int  EBmonitor_kbhit()"  which you can use to check if there is any input on the stdin pipe.

The EBmonitor in EB 1.11 had a bug on debugger stop condition which could it make going mad. That's solved in this version by a totally redesign of the EBmonitor plugin.

(27-10-2021, 01:17 AM)vorosj Wrote: - About live variables: running the program, a global variable is living under the mouse cursor, but not in the watch window.

As you already found, with the context menu but you can also select the watch expression and hit 'L' key to toggle live or 'U' key for snap update.

I would like to ask you for adding gnu-17 c++ language standard into C++ Flags sections, cause you changed compiler to gcc 9.3 yet keep previous flags from old gcc version.
Thank you in advance!
Reply
#5
(27-10-2021, 10:45 AM)harchenko_pavel Wrote: I would like to ask you for adding gnu-17 c++ language standard into C++ Flags sections, cause you changed compiler to gcc 9.3 yet keep previous flags from old gcc version.
Thank you in advance!

Yip added, will be there in the next release. Thanks.
Reply
#6
"I'm not sure if you can generate code for Atollic (this is now owned bySTmicro) in CubeMX but EmBitz has an Atollic project importer."

Where is it? There is only MPLab, Coocox and Embitz in the Import project menu.

I had no luck with EBMonitor. Nothing happens on printf(). In debug mode, if I try to jump into printf(), it just skips the line.
Reply
#7
Ah, you are right.
Perhaps it's outdated and that I removed it from the installer.
Attached the atollic importer plugin.

About EBmonitor, what is the message in the EBmonitor pane?

Below a overview. With the button where the arrow points to you can add the code to your project. If it's already there then you can disable the code for the target such as in this case of the picture.
The checkbox that EBmoitor is enabled should be checked.

   
Reply
#8
Thank you for the fast reply.
It's strange, everything looks exact same here as your pictures, except my EBMonitor window is empty. ;-)

(My debug adapter is a chinese clone stlink v2.)

How can I use the Atollic importer?

EBMonitor:
The EB monitor variables are not found.

Check if:
- You have added the EB monitor source files to your target.
Menu: Debug->Plugins->EB monitor.

- Enable debug information at the compiler settings.
- Have a debugger probe with live variables capabilities.

I tried the atollic import, the Atollic appeared in the import menu, but the imported project is just a gray rectangle in the project manager, nothing happens if I click is.
Reply
#9
Attolic:
So that's the reason that I removed it from the installer. It's outdated.

EBmonitor:
GDB can not find the variables needed to pickup the data as explained by the text in the terminal.
The chinese probe wont give a problem I think so somehow there is no debug information, is the -g switch on for the target?
Reply
#10
(28-10-2021, 06:40 AM)embitz Wrote: Attolic:
So that's the reason that I removed it from the installer. It's outdated.

EBmonitor:
GDB can not find the variables needed to pickup the data as explained by the text in the terminal.
The chinese probe wont give a problem I think so somehow there is no debug information, is the -g switch on for the target?

I don't know where to search for this -g switch?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)