The official git repository for OSD-Contiki, the open source OS for the Internet of Things
Find a file
Jim Paris 0a41939407 Makefile cleanup.
This is an attempt to fix and cleanup all of the rules, and get rid of
some of the recursion.  We still need to invoke make several times
when we're building for more than one board, and some things can get a
bit weird when that happens, but it should generally work.  A single
BOARD=foo build should be fully correct, now.

I attempted to keep things compatible, so existing Makefiles that
include libmc1322x/Makefile.include should still work correctly.
2010-09-24 16:29:43 -04:00
board Makefile cleanup. 2010-09-24 16:29:43 -04:00
doc use check_maca in rftests 2010-04-06 17:10:28 -04:00
lib Makefile cleanup. 2010-09-24 16:29:43 -04:00
src Makefile cleanup. 2010-09-24 16:29:43 -04:00
tests modify flasher.c to not create a vaild boot magic number if the length 2010-09-06 12:05:34 -04:00
tools Add script to invoke kermit with a particular port and speed 2010-09-18 16:44:57 -04:00
.gitignore ignore generated files 2010-08-20 12:01:44 -04:00
config.mk turn on -Werror 2010-03-10 11:21:05 -05:00
COPYING add attribution and license headers to source files. TODO item about 2010-05-08 13:03:36 -04:00
CREDITS now BSD license. 2010-05-08 12:55:32 -04:00
Makefile.include Makefile cleanup. 2010-09-24 16:29:43 -04:00
mc1322x.lds Now you can build targets with or without the reserved ROM var space. 2010-03-02 10:38:32 -05:00
README small clarifications to the README. 2010-02-28 09:17:58 -05:00
TODO add attribution and license headers to source files. TODO item about 2010-05-08 13:03:36 -04:00

libmc1322x is a library, build system, test code, and utilities for
using the mc13224v from Freescale.

Getting Started
---------------
$ cd tests
$ make

this will build all the test files in libmc1322x/tests for each board
defined in libmc1322x/board. You will have programs like:

  rftest-tx_redbee-dev.bin
  rftest-tx_redbee-r1.bin

  rftest-rx_redbee-dev.bin
  rftest-rx_redbee-r1.bin

if you only wanted to build binaries for one board you can do:

$ make BOARD=redbee-dev

You can use mc1322x-load.pl in libmc1322x/tools to run your code:

$ ../tools/mc1322x-load.pl -f rftest-tx_redbee-dev.bin


Incorporating libmc1322x into your own code
-------------------------------------------

The best way to incorporate libmc1322x into your code is as a git
submodule:

$ mkdir newproject
$ cd newproject
$ git init

   Initialized empty Git repository in /home/malvira/newproject/.git/

$ git submodule add git://git.devl.org/git/malvira/libmc1322x.git

This will add libmc1322x to your repository. Now to setup the
Makefile:

$ cp libmc1322x/tests/Makefile .

You need to edit the Makefile to point MC1322X to your libmc1322x
submodule:

Change line 1

   MC1322X := ..

to 

   MC1322X := libmc1322x

and edit COBJS and TARGETS accordings. COBJS are all of your common
code for any of your programs. TARGETS are the names of your programs.

For instance, you can have a common routine that prints a welcome
message that is used by two programs a and b. You would add common.o
to COBJS:

   COBJS:= common.o

and your target line would read:

   TARGETS := a b 

COBJS are made for each board --- so it is ok to have board specific
code in there. As an example, tests uses this in tests.c to print the
name of the board in the welcome message. You could also use this to
change your GPIO mappings between boards.