Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT




Loading

OpenOCD and AT91SAM7 flash programming

Posted by Adam Turowski on May 17, 2009
I am trying to get OpenOCD working and I've managed to connect it with GDB and AT91SAM7X256. Debugging seems to work fine. Unfortunately I've tried to use OpenOCD to program MCU internal flash, but without success. Can you please provide me example of OpenOCD/GDB configuration file/commands which allows you to program internal flash?

Thanks,
Adam

RE: OpenOCD and AT91SAM7 flash programming

Posted by Richard on May 17, 2009
There are some example scripts in the FreeRTOS download - with documentation provided on the FreeRTOS.org WEB site. However the version in the download is rather old and the commands are different if you are using a newer version of OpenOCD.

You can also use the Atmel provided SAM-BA program to program the flash rather than using OpenOCD for this.

Regards.

RE: OpenOCD and AT91SAM7 flash programming

Posted by Joel cote on June 30, 2009
I already use SAM-BA to program the flash and it's work, but I need to program the flash with the JTAGkey_tiny Amontec. I want a know if someone have some cfg file with the new command who work with open ocd 0.1.0. when I try to program the flash with open ocd with the external tool of eclipse i have this error :

OLD SYNTAX: DEPRECATED - translating to new syntax
jtag newtap CHIP TAP -irlen 4 -ircapture 0x1 -irvalue 0xf
Example: STM32 has 2 taps, the cortexM3(len4) + boundryscan(len5)
jtag newtap stm32 cortexm3 ....., thus creating the tap: "stm32.cortexm3"
jtag newtap stm32 boundry ....., and the tap: "stm32.boundery"
And then refer to the taps by the dotted name.
NEW COMMAND:
Runtime error, file "C:\0Data\SAM7_flash.cfg", line 23:
bad option "arm7tdmi": must be one of count, create, current, names, number, or types

Can someone help me?, I really don't know what to do.

thank

Joël

RE: OpenOCD and AT91SAM7 flash programming

Posted by Joel cote on June 30, 2009
I have also this error

NEW COMMAND:
invalid command name "daemon_startup_reset"

RE: OpenOCD and AT91SAM7 flash programming

Posted by Joel cote on June 30, 2009
I have also this error

NEW COMMAND:
invalid command name "daemon_startup_reset"

RE: OpenOCD and AT91SAM7 flash programming

Posted by Stefano Oliveri on July 3, 2009
Hi all,

I received a working configuration file for AT91SAM7x / OpenOCD 0.1.0 / Amontec JTAGkey-Tiny. It uses only one big .cfg file. I can't test it because I have not board based on that MCU! But people are reporting that this file work fine, and... you can quickly try it!

Regards,
Stefano

SAM7_flash.cfg
----------------------------------------------------------------------------------------------------------------------
#JC default ports
telnet_port 4444
gdb_port 3333
tcl_port 6666

# tell gdb our flash memory map
# and enable flash programming
gdb_memory_map enable
gdb_flash_program enable

#interface
interface ft2232
ft2232_device_desc "Amontec JTAGkey A"
ft2232_layout jtagkey
ft2232_vid_pid 0x0403 0xcff8

jtag_khz 2000

jtag_nsrst_delay 200
jtag_ntrst_delay 200


#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config srst_only srst_pulls_trst

if { [info exists CHIPNAME] } {
set _CHIPNAME $CHIPNAME
} else {
set _CHIPNAME sam7x256
}

if { [info exists ENDIAN] } {
set _ENDIAN $ENDIAN
} else {
set _ENDIAN little
}

if { [info exists CPUTAPID ] } {
set _CPUTAPID $CPUTAPID
} else {
set _CPUTAPID 0x3f0f0f0f
}

jtag newtap $_CHIPNAME cpu -irlen 4 -ircapture 0x1 -irmask 0xf -expected-id $_CPUTAPID

set _TARGETNAME [format "%s.cpu" $_CHIPNAME]

target create $_TARGETNAME arm7tdmi -endian $_ENDIAN -chain-position $_TARGETNAME -variant arm7tdmi
$_TARGETNAME configure -event reset-init {
# disable watchdog
mww 0xfffffd44 0x00008000
# enable user reset
mww 0xfffffd08 0xa5000001
# CKGR_MOR : enable the main oscillator
mww 0xfffffc20 0x00000601
sleep 10
# CKGR_PLLR: 96.1097 MHz
mww 0xfffffc2c 0x00481c0e
sleep 10
# PMC_MCKR : MCK = PLL / 2 ~= 48 MHz
mww 0xfffffc30 0x00000007
sleep 10
# MC_FMR: flash mode (FWS=1,FMCN=60)
mww 0xffffff60 0x003c0100
sleep 100
}

$_TARGETNAME configure -work-area-virt 0 -work-area-phys 0x00200000 -work-area-size 0x4000 -work-area-backup 0

#flash bank <driver> <base> <size> <chip_width> <bus_width>
flash bank at91sam7 0 0 0 0 0

# For more information about the configuration files, take a look at:
# openocd.texi


#jc truc ajouté
init
reset halt
#flash write_image erase C:\0Data\AxesNetwork\0Firm\ARM7\SourceEL\getting-started-project-1.3-at91sam7x-ek\getting-started-project\bin\getting-started-project-at91sam7x256-flash.elf 0x0 elf
flash write_image C:/0Data/AxesNetwork/0Firm/ARM7/FreeRTOSV5.2.0/Demo/ARM7_AT91SAM7X256_Eclipse/RTOSDemo/RTOSDemo.bin 0x00100000 bin
#verify_image getting-started-project-at91sam7x256-flash.elf
reset run
shutdown
----------------------------------------------------------------------------------------------------------------------

RE: OpenOCD and AT91SAM7 flash programming

Posted by Joel cote on July 7, 2009
Thank for your post stefano, I forgot to post that I have find the answer. Also this file is the one I wrote and send you be e-mail.


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS kernel V10 is available for immediate download. Now MIT licensed.


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS