Jump to content

Custom board build


David Kibble

Recommended Posts

Hi Guys.

I've got a simple problem which there must be a simple answer to, but I've not found it yet. With the 2.7 release of uGFX I took the opportunity to tidy up my projects and code so that I would not have any modified or non-uGFX files within the uGFX source tree. I have a custom board file for my production hardware which I moved to my project source tree and I use the standard Linux-SDL board for PC based testing. My problem is gfx.mk, it has the section;

# Include the boards and drivers
ifneq ($(GFXBOARD),)
    include $(GFXLIB)/boards/base/$(GFXBOARD)/board.mk
endif

So fairly obviously that fails to find my custom board in my source tree, but works fine when I switch to the standard "Linux-SDL" board.

I can modify gfx.mk to work with both my project based board and the standard UGFX boards, but that's breaking my aspiration to not fiddle with anything in the uGFX source tree.

What am I missing / not doing here? I've read the Wiki section on custom boards, but it doesn't seem to have any additional steps which I'm missing. My dev environment is Eclipse CDT running on Debian 8.

Many thanks

Dave

Link to comment
Share on other sites

All the board make does is add a makefile from the uGFX  boards directory. If you are running a custom board you can do ine of two things...

1. Just include your board level stuff into your project directory.

2. (Recommended) Create your own board directory with your own board files and a board makefile outside the uGFX tree. Include this makefile after the source macro definitions (but before the 3 master includes at the bottom) into your top level project makefile.

Link to comment
Share on other sites

Hi Guys.

Not having much luck with this. Following the above advice my project makefile looks like this;

GFXBOARD                = Linux-Framebuffer-Touch_A13
...
include /home/dkibble/workspace/TouchControl/Linux-Framebuffer-Touch_A13/board.mk

The TouchControl/Linux-Framebuffer-Touch_A13/board.mk looks like this:

GFXINC  += /home/dkibble/workspace/TouchControl/Linux-Framebuffer-Touch_A13
GFXSRC  +=
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
GFXLIBS += rt

include /home/dkibble/workspace/TouchControl/Linux-Framebuffer_A13/board.mk
include $(GFXLIB)/drivers/ginput/touch/Linux-Event/driver.mk

 

and the TouchControl/Linux-Framebuffer_A13/board.mk looks like thisl

GFXINC  += /home/dkibble/workspace/TouchControl/Linux-Framebuffer_A13
GFXSRC  +=
GFXDEFS += -DGFX_USE_OS_LINUX=TRUE
GFXLIBS += rt

include $(GFXLIB)/drivers/gdisp/framebuffer/driver.mk
 

Alas when I execute make I just get;

make -f makefile.arm clean 
/home/dkibble/ugfx/ugfx/gfx.mk:38: /home/dkibble/ugfx/ugfx/boards/base/Linux-Framebuffer-Touch_A13/board.mk: No such file or directory
make: *** No rule to make target '/home/dkibble/ugfx/ugfx/boards/base/Linux-Framebuffer-Touch_A13/board.mk'.  Stop.
 

and that line in the gfx.mk is;

# Include the boards and drivers
ifneq ($(GFXBOARD),)
    include $(GFXLIB)/boards/base/$(GFXBOARD)/board.mk
endif
 

Which was my original starting place.

Any ideas? I've copied the board.mk files from the ugfx source as that seemed logical. Is that my error? What should a custom board.mk look like?

Many thanks

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...