-
Notifications
You must be signed in to change notification settings - Fork 20
The following notes explain how to setup a Mac running OS X to build libmc1322x. My work focuses on the EconoTAG, your target may vary.
At this time, development on a Mac is pretty raw. No IDE, no OpenEmbedded, no bitbake, just command line tools: the compiler and the bootloader communication tool.
-
Install FTDI's FT2232H VCP driver. When the FTDI device is plugged in, 2 new devices are available (your exact device name may vary based on which USB port you are using):
/dev/tty.usbserial-000030FDA # This is jtag device /dev/tty.usbserial-000030FDB # This is MC1322X's UART1 -
Install the Device::SerialPort Perl module used by
tools/mc1322x-load.pl{.docutils .literal}:sudo cpan Device::SerialPort
You can get the most up-to-date and well-tested toolchain via homebrew:
- Install homebrew if you haven't already.
- Make sure your homebrew installation is up-to-date:
brew update - Add a tap to darconeous/embedded:
brew tap darconeous/embedded - Install libftdi:
brew install libftdi - Install OpenOCD:
brew install open-ocd - Install the Code Sourcery arm-2008q3 toolchain:
brew install arm-2008q3-gcc
-
Obtain the library source from the git repository:
$ git clone git://git.devl.org/git/malvira/libmc1322x.git -
Edit the makefile to use the proper toolchain (and make a backup of the original):
$ cd libmc1322x $ sed -i .bak 's/arm-linux/arm-elf/g' Makefile.include -
Build for your target:
$ cd tests $ make BOARD=redbee-econotag -
There are build errors, but the library (
../src/libmc1322x.a{.docutils .literal}) and most binaries get built
-
The EconoTAG has a bootloader that works over the serial port. The command line tool to load binaries into RAM is
tools/mc1322x-load.pl{.docutils .literal}. -
Use the command line below and when you see periods, press the target's RESET button:
$ ../tools/mc1322x-load.pl -f blink-green_redbee-econotag.bin -t /dev/tty.usbserial-000030FDB .............................. ........CONNECT Size: 2520 bytes Sending blink-allio_redbee-econotag.bin done sending files.
-
Get the OpenOCD config file for mc1322x:
$ curl -G http://mc1322x.devl.org/files/openocd.cfg > openocd.cfg -
Plug your target device into USB port
-
Run OpenOCD:
$ openocd Open On-Chip Debugger 0.4.0 (2010-04-13-21:34) Licensed under GNU GPL v2 For bug reports, read http://openocd.berlios.de/doc/doxygen/bugs.html srst_only separate srst_gates_jtag srst_open_drain jtag_ntrst_delay: 200 2000 kHz Info : max TCK change to: 30000 kHz Info : clock speed 2000 kHz Info : JTAG tap: mc13224.cpu tap/device found: 0x1f1f001d (mfg: 0x00e, part: 0xf1f0, ver: 0x1) Info : Embedded ICE version 7 Error: EmbeddedICE v7 handling might be broken Info : mc13224.cpu: hardware has 2 breakpoint/watchpoint units
© 2013 Mariano Alvira. Distributed under the GNU FDL v1.3 <script type="text/javascript"> var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-9770084-1']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); </script>