background preloader


Facebook Twitter

Liquidware. AVR MacPack. CrossPack is a development environment for Atmel’s AVR® microcontrollers running on Apple’s Mac OS X, similar to AVR Studio on Windows.

AVR MacPack

It consists of the GNU compiler suite, a C library for the AVR, the AVRDUDE uploader and several other useful tools. Features Does not depend on Xcode for building AVR code. Runs on Mac OS X 10.6 and higher. Supports 8 bit AVR microcontrollers including XMEGA devices. For a list of included software packages and versions see the Release Notes. Getting Started Since CrossPack consists of command line tools only (except the HTML manual which is linked to your Applications folder), you need to know some basic command names. Bash$ cd Desktop bash$ avr-project Demo bash$ cd Demo bash$ ls -l total 0 drwxr-xr-x 3 cs cs 102 Nov 22 18:29 Demo.xcodeproj drwxr-xr-x 4 cs cs 136 Nov 22 18:29 firmware bash$ cd firmware bash$ ls -l total 24 -rw-r--r-- 1 cs cs 4139 Nov 22 18:29 Makefile -rw-r--r-- 1 cs cs 348 Nov 22 18:29 main.c. Driving high-power loads with a microprocessor. By Roger Arrick. This tutorial offers suggestions about controlling large loads with a microprocessor.

This is often an issue with those building robots who need to control devices such as lights, motors, vacuums, and other accessories found on robots. We will only deal here with devices that need to be switched ON and OFF - not devices that need the power reversed. Obviously drive motors and other devices need to be switched ON/OFF and also have the power reversed in order to reverse the direction of the motors. That normally requires an H-bridge which is a much more complicated circuit. Microprocessor output strength: Most microprocessors have outputs that are not very strong. Protecting the Microprocessor: You always want to protect the micro's inputs and output pins. Another way is to use the following circuit which clamps out-of-range voltages: For loads < 200ma: Many loads are small but just too big for a micro to drive.

R2 may be needed to limit the current through the load. » Howto use AVR Dragon Jtag on Linux (Avarice + avr-gdb +DDD) on Jkx@home » Blog Archive. I bought a couple of months ago a little AVR Dragon card.

» Howto use AVR Dragon Jtag on Linux (Avarice + avr-gdb +DDD) on Jkx@home » Blog Archive

My initial plan was to use it for debuging programs with the embbeded JTAG. But I run into several issue with that, mainly because the lack of doc on this topic. So, here we are ;) The AVR Dragon is nice because you can use it as a small developpement device without any other requirement: Simply drop the needed ATMega on the board, some little wrapping for : Jtag + power supply. As you can see, this is compact and nothing else is needed. I use the Jtag connector, so now I can use a real debugger instead of playing with the UART.

So, how to use this with a Linux OS ? First you need to use AVaRICE to program the ATMega with a command like this : avarice -g -j usb --erase --program --file main.hex :4242 Here the result: AVaRICE flash the hex file to the ATMega, and wait for a GDB connection on port 4242. Let’s take a look at DDD file main.out target remote localhost:4242 And the final command, just launch DDD like this : Enjoy bug ? Modify an Arduino for DebugWIRE « The inability to follow simple instructions. This article talks about the Diecimila, but there is a newer article that talks about the Duemilanove Here’s a departure.

Modify an Arduino for DebugWIRE « The inability to follow simple instructions

Today I’m going to give a little instruction in how to modify an Arduino board so you can actually do something useful with it – like debug it. But first, since my regular reader expects music, here’s some music. If you hated that, you’ll probably hate all my other music, too. No warranty is expressed or implied in this. The Arduino ( is a very nice idea. What’s nice about the Arduino is the hardware isn’t particularly bound to the pseudo-Processing-C++ language. Speaking from my background, I do some embedded system stuff, and the frustrating part of the Arduino is the lack of an “ICE” (In-Circuit-Emulation)/”OCD” (On-Chip-Debugging) workflow.

With previous Atmel microcontrollers I’ve worked with they have an interface called JTAG. Problem: The chip on the Arduino Diecimila/Duemilanove (ATMega168 or ATMega328), doesn’t have JTAG. Enter… the Dragon.