Hey all,
I've been playing a bit with my AT91SAM7X-EK (AT91SAM7X256) development
board from Atmel and doing the whole flash, verify, run dance. It seems
that the verify image may be a bit broken. For some reason, it keeps
kicking the target into the run mode when I tell it to verify. By the
looks of the debug output, it has to do it, but for some reason it
thinks the board isn't halting although I can see that the board isn't
actually doing anything. The PWM program just makes some LEDs dim in
and out, so I can see when it isn't running. Other than that, the SAM7
flash stuff seems to work really well. I ran through some tests to make
sure I could write and read different things both from telnet and GDB,
so I think the "new" driver should be good for the AT91SAM7x256. I've
included my steps and the level 3 debug output for the verify_image piece.
> reset halt
JTAG tap: sam7x256.cpu tap/device found: 0x3f0f0f0f (Manufacturer:
0x787, Part: 0xf0f0, Version: 0x3)
JTAG Tap/device matched
srst pulls trst - can not reset into halted mode. Issuing halt after reset.
target state: halted
target halted in ARM state due to debug-request, current mode: Supervisor
cpsr: 0x400000d3 pc: 0x00100f50
> flash write_bank 0 /home/dnglaze/workspace/pwm.bin 0
wrote 6464 byte from file /home/dnglaze/workspace/pwm.bin to flash bank
0 at offset 0x00000000 in 1.189278s (5.307842 kb/s)
> verify_image /home/dnglaze/workspace/pwm.bin 0x100000
timed out while waiting for target halted
error executing arm7_9 crc algorithm
target not halted
Runtime error, file "command.c", line 453:
>
Debug Level 3 output after verify_image:
Debug: 668 440555 command.c:88 script_command(): script_command -
verify_image
Debug: 669 440556 command.c:105 script_command(): script_command -
verify_image, argv[0]=ocd_verify_image
Debug: 670 440556 command.c:105 script_command(): script_command -
verify_image, argv[1]=/home/dnglaze/workspace/pwm.bin
Debug: 671 440556 command.c:105 script_command(): script_command -
verify_image, argv[2]=0x100000
Debug: 672 440556 configuration.c:83 find_file(): found
/home/dnglaze/workspace/pwm.bin
Debug: 673 440556 configuration.c:83 find_file(): found
/home/dnglaze/workspace/pwm.bin
Debug: 674 440556 image.c:1002 image_calculate_checksum(): Calculating
checksum
Debug: 675 440557 image.c:1033 image_calculate_checksum(): Calculating
checksum done
Debug: 676 440557 target.c:807 target_alloc_working_area(): allocating
new working area
Debug: 677 440557 target.c:1230 target_write_u32(): address: 0x00200000,
value: 0xe1a02000
Debug: 678 440557 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 679 440673 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 680 440680 target.c:1230 target_write_u32(): address: 0x00200004,
value: 0xe3e00000
Debug: 681 440680 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 682 440790 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 683 440792 target.c:1230 target_write_u32(): address: 0x00200008,
value: 0xe1a03001
Debug: 684 440792 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 685 440899 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 686 440901 target.c:1230 target_write_u32(): address: 0x0020000c,
value: 0xe3a04000
Debug: 687 440901 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 688 441008 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 689 441010 target.c:1230 target_write_u32(): address: 0x00200010,
value: 0xea00000b
Debug: 690 441010 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 692 441117 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 693 441119 target.c:1230 target_write_u32(): address: 0x00200014,
value: 0xe7d21004
Debug: 694 441119 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 695 441228 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 696 441232 target.c:1230 target_write_u32(): address: 0x00200018,
value: 0xe59f7030
Debug: 697 441232 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 698 441341 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 699 441343 target.c:1230 target_write_u32(): address: 0x0020001c,
value: 0xe0200c01
Debug: 700 441343 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 701 441450 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 702 441452 target.c:1230 target_write_u32(): address: 0x00200020,
value: 0xe3a05000
Debug: 703 441452 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 705 441559 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 706 441561 target.c:1230 target_write_u32(): address: 0x00200024,
value: 0xe3500000
Debug: 707 441561 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 708 441669 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 709 441671 target.c:1230 target_write_u32(): address: 0x00200028,
value: 0xe1a06080
Debug: 710 441671 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 711 441778 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 712 441780 target.c:1230 target_write_u32(): address: 0x0020002c,
value: 0xe2855001
Debug: 713 441781 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 714 441891 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 715 441893 target.c:1230 target_write_u32(): address: 0x00200030,
value: 0xe1a00006
Debug: 716 441893 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 717 442000 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 718 442002 target.c:1230 target_write_u32(): address: 0x00200034,
value: 0xb0260007
Debug: 719 442002 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 721 442109 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 722 442111 target.c:1230 target_write_u32(): address: 0x00200038,
value: 0xe3550008
Debug: 723 442111 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 724 442221 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 725 442223 target.c:1230 target_write_u32(): address: 0x0020003c,
value: 0x1afffff8
Debug: 726 442223 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 727 442330 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 728 442332 target.c:1230 target_write_u32(): address: 0x00200040,
value: 0xe2844001
Debug: 729 442332 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 730 442439 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 731 442441 target.c:1230 target_write_u32(): address: 0x00200044,
value: 0xe1540003
Debug: 732 442441 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 733 442548 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 734 442550 target.c:1230 target_write_u32(): address: 0x00200048,
value: 0x1afffff1
Debug: 735 442550 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 737 442665 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 738 442667 target.c:1230 target_write_u32(): address: 0x0020004c,
value: 0xeafffffe
Debug: 739 442667 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 740 442775 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 741 442777 target.c:1230 target_write_u32(): address: 0x00200050,
value: 0x04c11db7
Debug: 742 442777 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 743 442885 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000005
Debug: 744 442887 armv4_5.c:529 armv4_5_run_algorithm_inner(): Running
algorithm
Debug: 745 442887 armv4_5.c:596 armv4_5_run_algorithm_inner(): setting
core_mode: 0x13
Debug: 746 442887 embeddedice.c:363 embeddedice_write_reg(): 12: 0x00000000
Debug: 747 442887 embeddedice.c:363 embeddedice_write_reg(): 20: 0x00000000
Debug: 748 442889 embeddedice.c:363 embeddedice_write_reg(): 8: 0x0020004c
Debug: 749 442889 embeddedice.c:363 embeddedice_write_reg(): 9: 0x00000003
Debug: 750 442889 embeddedice.c:363 embeddedice_write_reg(): 11: 0xffffffff
Debug: 751 442889 embeddedice.c:363 embeddedice_write_reg(): 13: 0x000000f7
Debug: 752 442889 embeddedice.c:363 embeddedice_write_reg(): 12: 0x00000100
Debug: 753 442891 breakpoints.c:89 breakpoint_add(): added hardware
breakpoint at 0x0020004c of length 0x00000004
Debug: 754 442891 arm7_9_common.c:1526 arm7_9_resume(): -
Debug: 755 442891 embeddedice.c:363 embeddedice_write_reg(): 8: 0x0020004c
Debug: 756 442891 embeddedice.c:363 embeddedice_write_reg(): 9: 0x00000003
Debug: 757 442891 embeddedice.c:363 embeddedice_write_reg(): 11: 0xffffffff
Debug: 758 442891 embeddedice.c:363 embeddedice_write_reg(): 13: 0x000000f7
Debug: 759 442891 embeddedice.c:363 embeddedice_write_reg(): 12: 0x00000100
Debug: 760 442893 arm7_9_common.c:1345 arm7_9_restore_context(): -
Debug: 761 442893 arm7_9_common.c:1364 arm7_9_restore_context():
examining User mode
Debug: 762 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r0
Debug: 763 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r1
Debug: 764 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r2
Debug: 765 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r3
Debug: 766 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r4
Debug: 767 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r5
Debug: 768 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r6
Debug: 769 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r7
Debug: 770 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r8
Debug: 771 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r9
Debug: 772 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r10
Debug: 773 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r11
Debug: 774 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r12
Debug: 775 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 776 442893 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: cpsr
Debug: 777 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 0 of mode User with value 0x00100000
Debug: 778 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 1 of mode User with value 0x00001940
Debug: 779 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 2 of mode User with value 0xfffffcff
Debug: 780 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 3 of mode User with value 0xfffffcff
Debug: 781 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 4 of mode User with value 0x00210000
Debug: 782 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 5 of mode User with value 0x00100ab4
Debug: 783 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 6 of mode User with value 0x00100db4
Debug: 784 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 7 of mode User with value 0x04c11db7
Debug: 785 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 8 of mode User with value 0x00000053
Debug: 786 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 9 of mode User with value 0x00000053
Debug: 787 442893 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 10 of mode User with value 0x00000053
Debug: 788 442894 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 11 of mode User with value 0x00000053
Debug: 789 442894 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 12 of mode User with value 0x00000400
Debug: 790 442894 arm7_9_common.c:1364 arm7_9_restore_context():
examining FIQ mode
Debug: 791 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 792 442894 arm7_9_common.c:1364 arm7_9_restore_context():
examining IRQ mode
Debug: 793 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 794 442894 arm7_9_common.c:1364 arm7_9_restore_context():
examining Supervisor mode
Debug: 795 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: r13_svc
Debug: 796 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: lr_svc
Debug: 797 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 798 442894 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 13 of mode Supervisor with value 0x0020fff8
Debug: 799 442894 arm7_9_common.c:1426 arm7_9_restore_context(): writing
register 14 of mode Supervisor with value 0x0010001c
Debug: 800 442894 arm7_9_common.c:1364 arm7_9_restore_context():
examining Abort mode
Debug: 801 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 802 442894 arm7_9_common.c:1364 arm7_9_restore_context():
examining Undefined mode
Debug: 803 442894 arm7_9_common.c:1378 arm7_9_restore_context():
examining dirty reg: pc
Debug: 804 442894 arm7_9_common.c:1459 arm7_9_restore_context(): writing
cpsr with value 0x400000d3
Debug: 805 442894 arm7tdmi.c:459 arm7tdmi_write_xpsr(): xpsr: 400000d3,
spsr: 0
Debug: 806 442894 arm7_9_common.c:1466 arm7_9_restore_context(): writing
PC with value 0x00200000
Debug: 807 442894 embeddedice.c:363 embeddedice_write_reg(): 0: 0x00000004
Debug: 808 442898 target.c:684 target_call_event_callbacks(): target
event 23 (debug-resumed)
Debug: 809 442898 target.c:3084 target_handle_event(): event: 23
debug-resumed - no action
Debug: 810 442898 arm7_9_common.c:1673 arm7_9_resume(): target resumed
Debug: 811 442900 target.c:1722 target_wait_state(): waiting for target
halted...
Error: 851 462901 target.c:1733 target_wait_state(): timed out while
waiting for target halted
Debug: 852 462902 embeddedice.c:363 embeddedice_write_reg(): 12: 0x00000000
Debug: 853 462904 embeddedice.c:363 embeddedice_write_reg(): 12: 0x00000000
Debug: 854 462904 embeddedice.c:363 embeddedice_write_reg(): 20: 0x00000000
Error: 855 462906 arm7_9_common.c:2497 arm7_9_checksum_memory(): error
executing arm7_9 crc algorithm
Debug: 856 462907 target.c:1027 target_read_buffer(): reading buffer of
6464 byte at 0x00100000
Debug: 857 462907 arm7_9_common.c:1965 arm7_9_read_memory(): address:
0x00100000, size: 0x00000004, count: 0x00000650
Warn : 858 462907 arm7_9_common.c:1969 arm7_9_read_memory(): target not
halted
Debug: 859 462907 command.c:424 run_command(): Command failed with error
code -304
User : 860 462908 command.c:626 openocd_jim_vfprintf(): Runtime error,
file "command.c", line 453:
User : 861 462908 command.c:626 openocd_jim_vfprintf():
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development