Здравствуйте.
Не могли бы вы помочь новичку. Хочу залить программу на контроллер AT91SAM7S256 через Openocd. Программа самая элементарная - мигание индикаторов. При выполнении скрипта загрузки во флеш выдаются следующие сообщения:
C:\AT91SAM7S\OpenProj>openocd_go_flash
Open On-Chip Debugger (2008-03-01 20:00 CET) svn: 423
Info: jtag.c:1304 jtag_examine_chain(): JTAG device found: 0x3f0f0f0f (Manufacturer: 0x787, Part: 0xf0f0, Version: 0x3)
Info: target.c:239 target_init_handler(): executing reset script 'openocd_at91sam7s_flash.script'
Warning: arm7_9_common.c:964 arm7_9_halt(): target was already halted
Info: options.c:50 configuration_output_handler(): dcc downloads are enabled
User: target.c:766 target_arch_state(): target state: halted
User: armv4_5.c:340 armv4_5_arch_state(): target halted in Thumb state due to debug request, current mode: Supervisor
cpsr: 0x000000b3 pc: 0x00200a10
Info: options.c:50 configuration_output_handler(): flash 'at91sam7' found at 0x00100000
Info: options.c:50 configuration_output_handler(): Command write not found
Warning: arm7_9_common.c:724 arm7_9_poll(): DBGACK set, but the target did not end up in the halted stated 1
Info: options.c:50 configuration_output_handler(): Timed out waiting for reset
В результате программа НЕ выполняется. Во всяком случае ни сразу, ни после нажатия кнопки reset.
В чем тут может быть дело? Помогите, пожалуйста. Буду очень признателен.
Ниже привожу скрипты.
Файл opencd_go_flash.cmd
@echo off
call openocd_install_info.cmd
if %OOCD_INTERFACE% == PP goto LAB_PP
if %OOCD_INTERFACE% == FTDI goto LAB_FTDI
echo ERROR - set interface in openocd_install_info
goto LAB_END
:LAB_FTDI
set OOCD_EXE=%OOCD_BIN_FTDI%
set OOCD_CFG=openocd_at91sam7s_flash_ftdi.cfg
goto LAB_DOIT
:LAB_PP
set OOCD_EXE=%OOCD_BIN_PP%
set OOCD_CFG=openocd_at91sam7s_flash_wiggler.cfg
:LAB_DOIT
rem set OOCD_DBG=-d 3
%OOCD_EXE% %OOCD_DBG% -f %OOCD_CFG%
:LAB_END
rem pause
Файл openocd_install_info.cmd
rem -
rem Modify this to the installed OpenOCD-binaries
rem The following is for the precompiled binaries from Michael Fischer
rem with sources from OpenOCD SVN-version 100 installed on a
rem PC running Windows-2000 (german)
rem -
set OOCD_INSTALLDIR=C:\openocd-r423\bin
set OOCD_BIN_FTDI=%OOCD_INSTALLDIR%\openocd-ftd2xx.exe
set OOCD_BIN_PP=%OOCD_INSTALLDIR%\openocd-pp.exe
rem The used interface either FTDI(=WinARM-JTAG, JTAGKEY etc.) or PP(="Wiggler")
rem set OOCD_INTERFACE=FTDI
set OOCD_INTERFACE=PP
Файл openocd_at91sam7s_flash_wiggler.cfg
#daemon configuration
telnet_port 4444
gdb_port 3333
#interface
interface parport
parport_port 0x378
parport_cable wiggler
jtag_speed 0
#use combined on interfaces or targets that can't set TRST/SRST separately
reset_config srst_only srst_pulls_trst
#jtag scan chain
#format L IRC IRCM IDCODE (Length, IR Capture, IR Capture Mask, IDCODE)
jtag_device 4 0x1 0xf 0xe
#target configuration
daemon_startup reset
#target <type> <startup mode>
#target arm7tdmi <reset mode> <chainpos> <endianness> <variant>
target arm7tdmi little run_and_init 0 arm7tdmi
run_and_halt_time 0 30
# flash-options AT91
target_script 0 reset openocd_at91sam7s_flash.script
working_area 0 0x00100000 0x1000 nobackup
flash bank at91sam7 0 0 0 0 0
Файл openocd_at91sam7s_flash.script
halt
sleep 10
# Init - taken form the script openocd_at91sam7_ecr.script
mww 0xfffffd44 0x00008000 # disable watchdog
mww 0xfffffd08 0xa5000001 # enable user reset
mww 0xfffffc20 0x00000601 # CKGR_MOR : enable the main oscillator
sleep 10
mww 0xfffffc2c 0x00481c0e # CKGR_PLLR: 96.1097 MHz
sleep 10
mww 0xfffffc30 0x00000007 # PMC_MCKR : MCK = PLL / 2 ~= 48 MHz
sleep 10
mww 0xffffff60 0x003c0100 # MC_FMR: flash mode (FWS=1,FMCN=60)
sleep 100
# arm7_9 force_hw_bkpts enable # program resides in flash
# AT91SAM7 flash command-"batch"
# adapted by Martin Thomas based on information from Dominic Rath - Thanks
arm7_9 dcc_downloads enable
sleep 10
poll
flash probe 0
flash write_binary 0 blink.bin 0x200
reset run
sleep 10
shutdown
------------------------------------------------------------------------------------------------------------
P.S.: Заливаю по параллельному порту.