Перейти к содержанию
    

Vitaliy_ARM

Свой
  • Постов

    508
  • Зарегистрирован

  • Посещение

Весь контент Vitaliy_ARM


  1. LPC2378 Bootloader

    Попробуйте P2.10 запаять на землю. Потом включить и попробовать опять прошить
  2. Значит файл корректный. А вы не пробовали просто поотлаживать без предварительной прошивки? Я начал пока с этого. Ааа. Пардон. Не увидел . В любом случае у меня такого не возникало.
  3. Пробовал, потом убрал. Роли не играет. А как аппаратные брейкпоинты работают. Они во флешь прошиваются или в озу или в спец регистры?
  4. Скорее всего компановка неправильная, или выравнивания нету или просто черт знает куда линкуется или еще что-нибудь.
  5. Посмотрел. Приведу на всякий случай окно инициализации своего gdb: Продолжаем разбираться. :rolleyes:
  6. А я все никак не могу подружить ARM-USB-OCD с OpenOCD и LPC2378. Пишет, что не может выполнить Halt reset. Может кто знает в чем дело? Вот лог: Open On-Chip Debugger (2008-06-19 19:00) svn: 717 URL: http://svn.berlios.de/svnroot/repos/openocd/trunk Info: options.c:50 configuration_output_handler(): jtag_speed: 3, 3 Info: options.c:50 configuration_output_handler(): Open On-Chip Debugger (2008-06-19 19:00) svn: 717 Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4) Warning: embeddedice.c:185 embeddedice_build_reg_cache(): EmbeddedICE version 7 detected, EmbeddedICE handling might be broken Info: jtag.c:1389 jtag_examine_chain(): JTAG device found: 0x4f1f0f0f (Manufacturer: 0x787, Part: 0xf1f0, Version: 0x4) User: target.c:436 target_process_reset(): Timed out waiting for halt after reset Info: server.c:78 add_connection(): accepting 'gdb' connection from 0 Warning: gdb_server.c:416 gdb_get_packet_inner(): acknowledgment received, but no packet pending Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Info: server.c:395 server_loop(): dropped 'gdb' connection Info: server.c:78 add_connection(): accepting 'gdb' connection from 0 Warning: gdb_server.c:416 gdb_get_packet_inner(): acknowledgment received, but no packet pending Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Warning: arm7_9_common.c:1829 arm7_9_read_memory(): target not halted Заработало но появилась другая проблема: Добавил две строчки в конфигурационный файл OpenOCD, в общем приведу весь, дабы уменьшить проблемы тем, кто будет проходить этот же путь :rolleyes: #daemon configuration telnet_port 4444 gdb_port 3333 # tell gdb our flash memory map # and enable flash programming gdb_memory_map enable gdb_flash_program enable #interface interface ft2232 ft2232_device_desc "Olimex OpenOCD JTAG A" ft2232_layout "olimex-jtag" ft2232_vid_pid 0x15BA 0x0003 jtag_speed 3 jtag_nsrst_delay 200 # <- заработало после добавления вот этого jtag_ntrst_delay 200 # <- #use combined on interfaces or targets that can't set TRST/SRST separately reset_config trst_and_srst 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_halt 0 arm7tdmi-s_r4 run_and_halt_time 0 30 working_area 0 0x40000000 0x4000 nobackup #flash configuration #flash bank lpc2000 <base> <size> 0 0 <target#> <variant> flash bank lpc2000 0x0 0x40000 0 0 0 lpc2000_v1 14765 calc_checksum # For more information about the configuration files, take a look at: # http://openfacts.berlios.de/index-en.phtml...n-Chip+Debugger В данный момент не работают точки останова на функции main() и любые другие, если перезапустить программу. Если уже запущенную программу остановить и поставить точки останова, а потом опять запустить - они вновь начинают работать. Как победить? :cranky:
  7. В новой версии IAR появилась поддержка камней этого семейства и есть один пример кода :rolleyes:
  8. Тоже испытываю трудности с отладчиком. Но эту победил. Просто у вас не стартует OpenOCD и все. Разберитесь почему.
  9. Задам еще, наверное глупый вопрос. Может ли кто-нибудь прокомментировать строки скрипта? SECTIONS { /* first section is .text which is used for code */ .text : { KEEP(*(.RESET)) /* Startup code from .init-section */ -- что это за статап код, это вектора прерываний? Что означает KEEP() *(.text .text.*) /* remaining code */ -- с этим понятно, память команд, сюда линкуются весь код команд по умолчанию *(.gnu.linkonce.t.*) // не известно!? *(.glue_7) // не известно! в этом пдф тоже не знают http://www.atmel.com/dyn/resources/prod_documents/atmel_tutorial_source.zip, зачем это надо *(.glue_7t) // не известно! тоже атмел не знает, зачем нужна эта строчка *(.gcc_except_table) // тоже не известно *(.rodata) /* read-only data (constants) */ -- сюда линкуются все флешь константы, строки и т.п. *(.rodata*) // -- сюда линкуются все константные указатели и указатели на строки и т.п. *(.gnu.linkonce.r.*) // не известно!? . = ALIGN(4); } > ROM } :1111493779: :smile3046:
  10. WiFi

    С этими нет, но предыдущие были остойные.
  11. Как здесь разместить вектора перерывания по указанному адресу? (аналог IAR : place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; )
  12. Да, уже разобрался. Есть еще некоторые непонятности. Как я понимаю OpenOCD уже научился поддерживать J-Link и еще кучу всяких Jtag. Но для этого надо ли его пересобрать? Кто-нибудь пользуется связкой Eclipse+GCC+OpenOCD+J-Link?
  13. Генерирование отладочной информации в коде процессора - подскажите, что это такое и с чем его едят? Где можно почитать об этом (строчки в скрипте компоновщика)? /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1 */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2 */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2 */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) }
  14. В моем случае уже не стоит этим заниматься, два огромных проекта написано. Нет смысла их переделывать заново. Чревато новыми ошибками.
  15. Ага, а как тогда с ай пи адресами и маками? Вместе с загрузчиком зашиваются адреса по умолчанию. Программа должна перешивать и то и другое. А загрузчик должен это использовать, так как абгрейд должен осуществляться по одним и тем же адресам.
  16. В моей задаче это просто не возможно. Бутлодер + Программа имеют две константы - мак адрес и ай пи адрес, строго расположенные в указанных местах. И то и то должно иметь доступ к этим ячейкам. Прощание с "дурной привычкой" не позволить сделать программу и бутлодер независымыми :( .
  17. Все больше прощаюсь с IAR. Разбираюсь с компановщиком. Документация на него не впечатлила :07: . Есть ли у кого готовый пример скрипта размещения констант по указанному адресу во Flash LPC2xxx или другого арма?
  18. В общем поменял расширение Rc6.c на cpp. Помогло. Этот вариант мне подходит. Спасибо!
  19. Вот консоль. Assembling (ARM-only): crt0.S arm-elf-gcc -c -mcpu=arm7tdmi-s -I. -x assembler-with-cpp -DRAM_RUN -D__WinARM__ -D__WINARMSUBMDL_LPC2468__ -Wa,-adhlns=crt0.lst,-gdwarf-2 crt0.S -o crt0.o Compiling C: Rc6\Rc6.c arm-elf-gcc -c -mcpu=arm7tdmi-s -I. -gdwarf-2 -DRAM_RUN -D__WinARM__ -D__WINARMSUBMDL_LPC2468__ -Os -Wall -Wcast-align -Wimplicit -Wpointer-arith -Wswitch -ffunction-sections -fdata-sections -Wredundant-decls -Wreturn-type -Wshadow -Wunused -Wa,-adhlns=Rc6\Rc6.lst -ICommon/inc -Wcast-qual -MD -MP -MF .dep/Rc6.o.d -Wnested-externs -std=gnu99 -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations Rc6\Rc6.c -o Rc6\Rc6.o In file included from Rc6\/..\includes.h:30, from Rc6\Rc6.c:5: Rc6\/..\/Target\Trg.h:64: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LPCTARGET' Rc6\/..\/Target\Trg.h:71: warning: data definition has no type or storage class Rc6\/..\/Target\Trg.h:71: warning: type defaults to 'int' in declaration of 'TARGET' Rc6\/..\/Target\Trg.h:71: warning: type defaults to 'int' in declaration of 'pTARGET' make: *** [Rc6\Rc6.o] Error 1 Подключены через один глобальный файл! Этого я не знал. Всегда делал так в одном глобальном файле прописывал все инклюды и потом его уже цеплял во всех исходниках. При этом IAR игнорировал слова C++ и выдавал ошибки, если этот класс непосредственно был использован. А можно ли сделать и здесь сделать игнорирование? Исправил Согласен, вопрос разросся.
  20. Расширение файла правильное - cpp. Где эту строчку можно посмотреть? На всякий случай положу майкфайл. Makefile.zip
  21. Не хотелось плодить тем, поэтому напишу прямо сюда. В общем проект создан на C++. Не пойму в чем дело, компилятор не хочет компилировать заголовки классов в h-файлах. Яр эту конструкцию кушает нормально. В чем может быть дело?
  22. Подключил плату к блекфину и больше пока не пробовал. "Разобрался" с файлом, который выложил _4afc_. Собственно те команды, помоему, погоды большой не делают. По умолчанию камера выдает что-то - скорее всего это и есть jpeg 320x240, после нового года буду продолжать ковырять. По даташиту можно ориентироваться методом научного тыка :) , так как информации действительно маловато. Если демоплата работает корректно, то скорее всего имеет смысл запарсить I2c и делать точно также. Если не против, можем в дальнейшем обмениваться информацией.
  23. Ага. Заработало. По вашему коду понял, что мне нехватало Remap. Вот код инициализации. monitor reset monitor speed 30 monitor speed auto break main load monitor long 0xE01FC040 = 0x00000002 # MEMMAP = 2 continue
×
×
  • Создать...