Em::Blocks project template

This forum is about you. Feel free to discuss anything is related to embedded and electronics, your awesome projects, your ideas, your announcements, not necessarily related to ChibiOS but to embedded in general. This forum is NOT for support.
User avatar
Tectu
Posts: 1225
Joined: Thu May 10, 2012 9:50 am

Em::Blocks project template

Post by Tectu »

I attached a project template for the Em::Blocks IDE. The project is set up for the use with the STM32F407-Discovery board but there are only few changes required to use it with a different MCU/board. The main does only blink an LED, nothing else.
A template including uGFX will come soon™.

~ Tectu
Attachments
chibios_template.7z
(4.8 MiB) Downloaded 1173 times
User avatar
Giovanni
Site Admin
Posts: 14892
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Em::Blocks project template

Post by Giovanni »

hi,

Are you able to debug in that environment? I briefly gave it a try some years ago but then opted for Eclipse.

Giovanni
User avatar
Tectu
Posts: 1225
Joined: Thu May 10, 2012 9:50 am

Re: Em::Blocks project template

Post by Tectu »

Yes, I'm able to debug without any problems.

Some background: I recently moved from Linux to Windows (kinda was forced to and I don't want to maintain two OSes). I searched for a solution for embedded development and I just hate eclipse. Really, I cannot tell you how much I hate eclipse. If I'd have to write down how much I hate eclipse, your web hoster would probably write you an e-mail saying that you're out of HDD space.
Anyway, back to business: It's my first real day with Em::Blocks but I am very satisfied so far. Everything worked out of the box (Compiler, Debugger, GDB server etc.). There wasn't a single issue so far. It even includes cscope and doxygen which seem to work out of the box as well.
I'm currently talking a lot to the maintainer of the project as we plan to include a ChibiOS/RT viewer (similar to the eclipse plugin) and an uGFX designer.

If you want, I can leave you some more detailed feedback after a week or two.


~ Tectu
User avatar
Giovanni
Site Admin
Posts: 14892
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 996 times

Re: Em::Blocks project template

Post by Giovanni »

Very appreciated, thanks.

Giovanni
colin
Posts: 149
Joined: Thu Dec 22, 2011 7:44 pm

Re: Em::Blocks project template

Post by colin »

Hi Tectu,
I haven't used Em::Blocks but I'm thinking of trying it out. I use Eclipse daily (but I don't love it) because (a) it's the best tool I've found so far, and (b) Freescale ColdFire/PE Multilink universal debugger seems to only be usable in CodeWarrior (Freescale's bastardized Eclipse variant). I dislike Eclipse because it's a resource hog and it has tons of quirks and weird behaviors that seem to constantly be causing some problem or another. Eclipse does the job but it's not elegant.
User avatar
Tectu
Posts: 1225
Joined: Thu May 10, 2012 9:50 am

Re: Em::Blocks project template

Post by Tectu »

Hey colin,

I am still doing most of my development using a simple text editor and make. However, I can work with EMB without any problems. It seems to work reliably (no random crashes) and it's very fast (responsive) and does not require a lot of resources. The integrated OpenOCD server works as well as the ST-Link driver (I haven't tried any other programming interfaces). The GDB integration works perfectly and debugging appears to be easy.

To summarize: I am very happy with EMB.

Let me know when you need run into any kind of issues.


~ Tectu
Dvor_nik
Posts: 3
Joined: Tue Jan 27, 2015 6:04 pm

Re: Em::Blocks project template

Post by Dvor_nik »

Hi!
Thank you for this template (and for ugfx too). But I have a stupid questions: where is the make-file? :?
I used to configure ugfx/chibios with make-file. Could you tell me, how I should configure it (select drivers, boards etc) now with EmBlocks, please?
User avatar
Tectu
Posts: 1225
Joined: Thu May 10, 2012 9:50 am

Re: Em::Blocks project template

Post by Tectu »

Dvor_nik wrote:But I have a stupid questions: where is the make-file? :?

Not a stupid question ;-)
And the answer: nowhere. The Em::Blocks IDE can sadly not handle external make build systems. That's why all the files needed to be added manually to the project tree.

However, I'm not really sure what you mean by "configuring using the make file". Configuration happens in the various configuration files (halconf.h, chconf.h, mcuconf.h, gfxconf.h, ffconf.h, ...).


~ Tectu
Dvor_nik
Posts: 3
Joined: Tue Jan 27, 2015 6:04 pm

Re: Em::Blocks project template

Post by Dvor_nik »

Thanks for answer, Tectu! I try to understand, how I can create my own project, before start project with EmBlocks (it looks nice).
Should I use this window for addind files or just add files with project explorer ("add file recursively")?
Image

However, I'm not really sure what you mean by "configuring using the make file".

I mean the choosing ugfx drivers and board files and chibios board file. How I can select definite gdisp driver, for example? I have to add only necessary files (only one definite driver's folder) instead adding path to driver's make file to root make file, right?
User avatar
Chudik
Posts: 152
Joined: Fri Jan 16, 2015 7:51 am
Has thanked: 7 times
Been thanked: 1 time

Re: Em::Blocks project template

Post by Chudik »

Dvor_nik
Unfortunately Em::Blocks does not have configuration utility.
I analyzed project created by emblocks (author) and created my first ChibiOS project based on it and on Tectu's project as well. With some help from Giovanni, of course :)

I'm using project management like in the picture below
emblocks ptoject.PNG
emblocks ptoject.PNG (57.1 KiB) Viewed 13119 times


Please, note:
- boards directory includes the board description files (.c & .h)
- os->hal->platforms includes all required drivers. Note, that if in Linker settings you check "Remove unused sectors" item, they actually won't be used in the project and will not increase code size either.

If you need I can attach here my project, where you will need to make changes, related to your board (including LED and serial port) and your processor.

P.S. Your nick looks like Russian. Is it? :-)
Post Reply