EmbDev.net

Forum: ARM programming with GCC/GNU tools USB Interface for SAM7X256


von Lidya K. (bluetude)


Rate this post
0 useful
not useful
I need to start working with SAM7X256 but I don't have any background
with hardware stuffs.
What I need to do is to provide a USB interface to support the
communication between my PC (running a C++ application) and the
SAM7-EX256 board (from Olimex) by using USB cable.

I've seen an "AT91SAM7S USB Examples" in
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ which use
"IAR Embedded Workbench IDE". I think this IDE is used commercially and
prefer to use the Yagarto/Eclipse.

Is there someone who has an idea about the steps I need to take?

von Jonathan D. (dumarjo)


Rate this post
0 useful
not useful
Lidya Kosasih wrote:
> I need to start working with SAM7X256 but I don't have any background
> with hardware stuffs.
> What I need to do is to provide a USB interface to support the
> communication between my PC (running a C++ application) and the
> SAM7-EX256 board (from Olimex) by using USB cable.
>
> I've seen an "AT91SAM7S USB Examples" in
> http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ which use
> "IAR Embedded Workbench IDE". I think this IDE is used commercially and
> prefer to use the Yagarto/Eclipse.
>
> Is there someone who has an idea about the steps I need to take?

for the sam7x you can look at freertos, he have a sample program thas
embeded the web server and a usb framwork. He can be a good start for
you. and also it's use the gcc makefile and gcc toolchain. the example
is lwip with sam7x chip.

good luck

Jonathan

von Martin Thomas (Guest)


Rate this post
0 useful
not useful
Lidya Kosasih wrote:

> I've seen an "AT91SAM7S USB Examples" in
> http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects/ which use
> "IAR Embedded Workbench IDE".

No, this is wrong. Where did you find this statement on my pages? The
code from my pages are ports of original IAR or ADS/RV-code provided by
Atmel (from atmel.com or at91.com) to the GNU arm-elf toolchain (as in
Yagarto, WinARM etc.).

> Is there someone who has an idea about the steps I need to take?

Atmel provides the "USB framework" for different AT91 on atmel.com. My
GNU-port of the framework should also work with different targets since
I have tried to port the configuration-options too (Core+HID has been
tested with AT91SAM7S256 and AT91SAM7A3). See my port of the Atmel
USB-framework from the above page: Makefile and mt_defs.mk

Martin Thomas

von Lidya K. (bluetude)


Rate this post
0 useful
not useful
Jonathan Dumaresq wrote:
> for the sam7x you can look at freertos, he have a sample program thas
> embeded the web server and a usb framwork. He can be a good start for
> you. and also it's use the gcc makefile and gcc toolchain. the example
> is lwip with sam7x chip.

Thanks for the reference.
For couple of days, I've tried to run the demo program. I used parallel
JTAG (not USB JTAG), Olimex SAM7EX256 board, "OpenOCD, Toolchain,
Eclipse IDE" from Yagarto.

Unfortunately, I can't compile using Eclipse (although I've change my
makefile). So I compile it using "make all" from "windows cmd" and it
works. The debuging ("using Eclipse + GDB" or insight tools that I took
from Yagarto) won't work too. It stucks up while trying to do this
process : searching for compile errors.

So what I did was wrote the bin file to the flash using OpenOCD and
Telnet. It works. After reset and shutdown the device, the program runs
by blinking the LCD and gave a sound every time the LCD blinks.
(This is not the condition expected from the demo, surely because I used
different dev. board but with the same source code :))

But, my PC can detect the USB connection and install the driver.
Unfortunately, the Ethernet is not as nice as USB. My computer cannot
detect the LAN connection, although I've use a crossover cable to
connect the board (runs the demo program) with my PC.


Lidya

von Jonathan D. (dumarjo)


Rate this post
0 useful
not useful
Lidya Kosasih wrote:
> Jonathan Dumaresq wrote:
>> for the sam7x you can look at freertos, he have a sample program thas
>> embeded the web server and a usb framwork. He can be a good start for
>> you. and also it's use the gcc makefile and gcc toolchain. the example
>> is lwip with sam7x chip.
>
> Thanks for the reference.
> For couple of days, I've tried to run the demo program. I used parallel
> JTAG (not USB JTAG), Olimex SAM7EX256 board, "OpenOCD, Toolchain,
> Eclipse IDE" from Yagarto.
>
> Unfortunately, I can't compile using Eclipse (although I've change my
> makefile). So I compile it using "make all" from "windows cmd" and it
> works. The debuging ("using Eclipse + GDB" or insight tools that I took
> from Yagarto) won't work too. It stucks up while trying to do this
> process : searching for compile errors.
>
> So what I did was wrote the bin file to the flash using OpenOCD and
> Telnet. It works. After reset and shutdown the device, the program runs
> by blinking the LCD and gave a sound every time the LCD blinks.
> (This is not the condition expected from the demo, surely because I used
> different dev. board but with the same source code :))
>
> But, my PC can detect the USB connection and install the driver.
> Unfortunately, the Ethernet is not as nice as USB. My computer cannot
> detect the LAN connection, although I've use a crossover cable to
> connect the board (runs the demo program) with my PC.
>
>
> Lidya

take a look at this document for the debugging process.

http://gnuarm.alexthegeek.com/

Jonathan

Reply

Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]




Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.