Help on AT91SAM7S256-USART_USB_SAM7S-IAR4_31A-1_00 project

This project runs a test of the AT91SAM7Sxx device include an USB port and his corresponding Evaluation Kit, the AT91SAM7Sxx-EK.

This project implements a USB to USART communication using the on-chip USB device with a PC application.

I downloaded the IAR Project AT91SAM7S256-USART_USB_SAM7S-IAR4_31A-1_00 for AT91SAM7S256-EK kit, but could not get it work.

At first, I used IAR kickstart to compile the code but failed. (I did not change anything in the code). The error message displayed was:

Building configuration: BasicUSART_USB_SAM7S - RAM_Debug

Updating build tree…

Linking

Warning[w7]: Module ?RESET declared twice, once as program and once as library. Redeclared in file C:\Program

Files\IAR Systems\Embedded Workbench 4.0 Kickstart\arm\LIB\dl4tptinl8n.r79, ignoring library module

Fatal Error[e72]: Segment INTRAMEND_REMAP must be defined in a segment definition option (-Z, -b or -P)

Total number of errors: 1

Total number of warnings: 1

Then I tried Keil to compile the project by simply changing the IAR startup codes to the generic AT91SAM7S256 startup codes for Keil. (I prefer to use Keil for this project, since the entire firmware of our product is developped under Keil, my USB communication part should also be developped under Keil). The code could be compiled without any error.

Later I wanted to download the project to the flash of AT91SAM7S256 by using ULink ARM debugger. The options for target were set as follows:

  1. Device: select ATMEL->AT91SAM256

  2. Target: Xtal(MHz): 18.432, click “Use On-Chip ROM” and “Use On-chip RAM”, Operating System None.

  3. Debug: select ULINK ARM Debugger, no initialization file, others all ticked. Inside Settings of ULINK, add the tick “Download to Flash”.

  4. Utilities: choose ULINK ARM Debugger, tick “Update Target before Debugging”. Inside Settings: click Erase Full Chip program Verify Reset and Run;RAM for Algorithm :start 0x00200000 size:0x0800; Add the AT91SAM7S256 Flash.

After I clicked the “load” button, the output window showed:

No Algorithm found for: 00000000H - 000000EFH

Programming Done.

Verify OK.

Application running …

What was the cause of “No Algorithm found for :00000000H-000000EFH”? I have touched on ARM only for about 2 weeks, really inexperienced. Can anybody give me some hints on that?

I want to get this sample project work asap, since it is the base of my USB project.

Thanks in advance. Reallly need your help.