Friday, March 4, 2011

AT91SAM7S-EK linux toolchain


AT91SAM series, equipped with USB device capability, provide SAM-BA interface for easy downloading their firmware without JTAGs or any ISP tools.  First, you may want ATMEL SAM-BA software for linux here. Depending on your linux settings (kernel maybe) you may need usbserial module also.

Just plug in your SAM board to the usb port and see what happens. lsusb shows how your linux box recognize your SAM board:

Bus 002 Device 023: ID 03eb:6124 Atmel Corp. ......

The vendor id 0x03eb is dedicated to Atmel. Then you can check how you linux box connect it to a device driver by running dmesg

[50341.865033] cdc-acm 2-5.2:1.0: ttyACM0: USB ACM device

If you find the message like above, you probably have newly created device in /dev:

crw-rw---- 1 root dialout 166, 0 2011-03-04 12:15 /dev/ttyACM0

Since SAM-BA uses /dev/ttyUSBx, you have to create a symbolic link:

$ sudo ln -s /dev/ttyACM0 /dev/ttyUSB0

Now, you are ready to fire up the SAM-BA

$ ./sam-ba

If the above senario is not the case for you, you may need usbserial kernel module, which is explained in the README.linux file of the SAM-BA linux software, i.e., you load the usbserial module:

$ sudo modprobe usbserial vendor=0x03eb product=0x6124

Then you will have /dev/ttyUSBx device when you plug in your SAM board.

No comments:

Post a Comment