Using the Freescale MC1322x Series ARM7 Processor with integrated 802.15.4
The purpose of this site is to
develop Open Source tools and
hardware for the
Freescale MC13224V
and MC13226V processor.
Guides and Documentation
Projects
Software Packages
The project currently contains the software packages described below:
- libmc1322x: Simple build
system, library, and test programs for mc13224v based hardware. Easy
to include into your own projects as a submodule to build stand-alone
programs.
- linux802154-serialdev: Firmware that implements the
Linux
802.15.4 serial device driver.
- contiki: the mainline Contiki code has a port for the MC1322x
- python-on-a-chip:
Working python-on-a-chip
port. See the econotag branch.
- mc1322x-rowley: MC13224v project files
for Rowley CrossWorks.
Getting the code
Toolchains
See the Toolchain Guide
libmc1322x
$ git clone git://git.devl.org/git/malvira/libmc1322x.git
Branches:
- master: stable mc1322x code --- use this
- adc: WIP code for the ADC. Just needs clean up at this point.
- injecting-isr: experimental maca isr using seq_inject ROM call --- doesn't work quite right but may avoid the need for check_maca
Linux serial driver for the mc13224v
$ git clone git://git.devl.org/git/malvira/linux802154-serialdev.git
Contiki
The MC1322x is part of the official Contiki tree:
git clone git://contiki.git.sourceforge.net/gitroot/contiki/contiki
The project's bleeding edge development occurs here:
$ git clone git://git.devl.org/git/malvira/contiki-2.x.git
Python on a chip
http://code.google.com/p/python-on-a-chip/
PyMite VM is working. Requires the following toolchain:
http://github.com/jsnyder/arm-eabi-toolchain
QEMU
$ git clone git://git.devl.org/git/malvira/qemu.git
Very basic support for qemu. No peripherals yet, but you can load
images to address 0x00000000 and 0x00400000.
See README.qemu.mc1322x
for details.
The machine does not support the NVM (onboard flash memory) which
might contain important factory calibration data. This would be very
nice to have.
Please see
our
development branch in
our qemu tree
for more details.
General Status
- Easy to install and use Toolchain (see the Toolchain Guide)
- Fully working GPIO code (see blink-allio.c)
- Fully working UART bootloader tool (see mc1322x-load.pl)
- Basic QEMU mc1322x machine
(see our qemu clone) including support for factory
ROM images (no NVM support yet).
- Fully working UART (see uart1-loopback.c)
- Working radio (MACA) (90% of features supported)
(see rftest-rx.c
and rftest-tx.c)
including set_power and set_channel (no energy_detect scan
yet). Performs the factory calibration that is stored in NVM and is
different for each chip. Option for NCD demodulation (which increased
receive sensitivity from -94dBm to -100dBm and current draw by
2mA). Queued TX and RX packets. Full speed DMA transfers (sustained
125 byte packets transferred and received at approx 210 kbps).
Supports hardware autoacking:
(see autoack-rx.c
and autoack-tx.c)
per 802.15.4 specified turnaround time (i.e. fast).
- Read, write, and erase support for on-board non-volatile storage (NVM)
- Working calls to ROM services (tested so far: _rom_data_init, NVM_Detect, NVM_Read, NVM_Write, NVM_Erase, NVMSetSVar)
- Working flash loader (flasher.bin and mc1322x-load.pl)
- Fully working interrupts
- Fully working timers (all modes)
- Working ADCs (sample code adc.h
and adc.c)
- Full AES encrytion engine support.
- Contiki support.
- Python-on-a-chip support.
-
Working Linux
802.15.4 serial
device driver.
Mailing List
The mailing list for this project
is mc1322x@devl.org. Click here
to subscribe. View
the archives.
Donate
If you like this project then send your bitcoins here:
1Nnj5w65E1pZWZpjSPnuBXBwf8hVgCBhq2
Patchworks tracker
Patches sent to the mailing list are caught by
our Patchworks
server located
here: http://patchwork.devl.org
mc1322x Website
This website is tracked in Git -
you can
browse its development history
or clone it from git://git.devl.org/git/malvira/mc1322x-homepage.git.
The site is covered by GPLv2
and maintained by Mariano Alvira.
This website is based on a design by Petr Baudis for GIT which was
based on a design by Jonas Fonseca
for the ELinks homepage.
Links
open-mc13224v --- these guys are also writing free mc1322x code.
Freaklabs.org --- open source zigbee stack
Contiki --- the easy way to
do TCP/IP and wireless networks is to have someone else do them!
Open-ZB --- open zigbee
Freescale --- product page for the MC13224V
Yargarto --- ARM toolchain for windows and mac.
Linux 802.15.4 stack
python-on-a-chip
Libcoap - CoAP stack in C
Copper - CoAP plugin for Firefox
Californium - CoAP Java stack
Coapy - CoAP stack in Python
http://www.kunen.org/uC/gnu_tool.html
Older documentation --- may or may not be useful