Vitaliy_ARM
Свой-
Постов
508 -
Зарегистрирован
-
Посещение
Весь контент Vitaliy_ARM
-
LPC2378 Bootloader
Vitaliy_ARM ответил uriy тема в ARM
Попробуйте P2.10 запаять на землю. Потом включить и попробовать опять прошить -
Значит файл корректный. А вы не пробовали просто поотлаживать без предварительной прошивки? Я начал пока с этого. Ааа. Пардон. Не увидел . В любом случае у меня такого не возникало.
-
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Пробовал, потом убрал. Роли не играет. А как аппаратные брейкпоинты работают. Они во флешь прошиваются или в озу или в спец регистры? -
Скорее всего компановка неправильная, или выравнивания нету или просто черт знает куда линкуется или еще что-нибудь.
-
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Посмотрел. Приведу на всякий случай окно инициализации своего gdb: Продолжаем разбираться. :rolleyes: -
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
А я все никак не могу подружить 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: -
Nxp собирается разродиться камнями на Cortex-M3
Vitaliy_ARM ответил iShustov тема в ARM
В новой версии IAR появилась поддержка камней этого семейства и есть один пример кода :rolleyes: -
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Тоже испытываю трудности с отладчиком. Но эту победил. Просто у вас не стартует OpenOCD и все. Разберитесь почему. -
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Задам еще, наверное глупый вопрос. Может ли кто-нибудь прокомментировать строки скрипта? 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: -
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Спасибо! -
WiFi
Vitaliy_ARM ответил Y311 тема в RF & Microwave Design
С этими нет, но предыдущие были остойные. -
скрипт Linkera
Vitaliy_ARM ответил SergeyVas тема в GNU/OpenSource средства разработки
Как здесь разместить вектора перерывания по указанному адресу? (аналог IAR : place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; ) -
Все о ARM GCC4.3
Vitaliy_ARM ответил Vitaliy_ARM тема в GNU/OpenSource средства разработки
Да, уже разобрался. Есть еще некоторые непонятности. Как я понимаю OpenOCD уже научился поддерживать J-Link и еще кучу всяких Jtag. Но для этого надо ли его пересобрать? Кто-нибудь пользуется связкой Eclipse+GCC+OpenOCD+J-Link? -
Все о ARM GCC4.3
Vitaliy_ARM ответил Vitaliy_ARM тема в GNU/OpenSource средства разработки
Генерирование отладочной информации в коде процессора - подскажите, что это такое и с чем его едят? Где можно почитать об этом (строчки в скрипте компоновщика)? /* 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) } -
Все о ARM GCC4.3
Vitaliy_ARM ответил Vitaliy_ARM тема в GNU/OpenSource средства разработки
В моем случае уже не стоит этим заниматься, два огромных проекта написано. Нет смысла их переделывать заново. Чревато новыми ошибками. -
Все о ARM GCC4.3
Vitaliy_ARM ответил Vitaliy_ARM тема в GNU/OpenSource средства разработки
Ага, а как тогда с ай пи адресами и маками? Вместе с загрузчиком зашиваются адреса по умолчанию. Программа должна перешивать и то и другое. А загрузчик должен это использовать, так как абгрейд должен осуществляться по одним и тем же адресам. -
Все о ARM GCC4.3
Vitaliy_ARM ответил Vitaliy_ARM тема в GNU/OpenSource средства разработки
В моей задаче это просто не возможно. Бутлодер + Программа имеют две константы - мак адрес и ай пи адрес, строго расположенные в указанных местах. И то и то должно иметь доступ к этим ячейкам. Прощание с "дурной привычкой" не позволить сделать программу и бутлодер независымыми :( . -
Все о ARM GCC4.3
Vitaliy_ARM опубликовал тема в GNU/OpenSource средства разработки
Все больше прощаюсь с IAR. Разбираюсь с компановщиком. Документация на него не впечатлила :07: . Есть ли у кого готовый пример скрипта размещения констант по указанному адресу во Flash LPC2xxx или другого арма? -
А можно конечный кусок кода увидеть
-
В общем поменял расширение Rc6.c на cpp. Помогло. Этот вариант мне подходит. Спасибо!
-
Вот консоль. 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++ и выдавал ошибки, если этот класс непосредственно был использован. А можно ли сделать и здесь сделать игнорирование? Исправил Согласен, вопрос разросся.
-
Расширение файла правильное - cpp. Где эту строчку можно посмотреть? На всякий случай положу майкфайл. Makefile.zip
-
Не хотелось плодить тем, поэтому напишу прямо сюда. В общем проект создан на C++. Не пойму в чем дело, компилятор не хочет компилировать заголовки классов в h-файлах. Яр эту конструкцию кушает нормально. В чем может быть дело?
-
Подключил плату к блекфину и больше пока не пробовал. "Разобрался" с файлом, который выложил _4afc_. Собственно те команды, помоему, погоды большой не делают. По умолчанию камера выдает что-то - скорее всего это и есть jpeg 320x240, после нового года буду продолжать ковырять. По даташиту можно ориентироваться методом научного тыка :) , так как информации действительно маловато. Если демоплата работает корректно, то скорее всего имеет смысл запарсить I2c и делать точно также. Если не против, можем в дальнейшем обмениваться информацией.
-
Ага. Заработало. По вашему коду понял, что мне нехватало Remap. Вот код инициализации. monitor reset monitor speed 30 monitor speed auto break main load monitor long 0xE01FC040 = 0x00000002 # MEMMAP = 2 continue