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

NikAn

Участник
  • Постов

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

  • Посещение

Репутация

0 Обычный

Информация о NikAn

  • Звание
    Участник
    Участник
  1. Добрый день (вечер/ночь/утро)! Пытаюсь вызвать программное прерывание путем записи номера прерывания в регистр STIR. Однако оно не происходит. Судя по юзер-мануалу никаких разрешающих/запрещающих флажков нет. Подскажите в чем проблема. Заранее благодарен
  2. Добрый вечер (ночь/утро/день)! Пожалуйста, по-подробней. Кто (что) такой Logic? И что за плата?
  3. Долгое время экспозиции может быть связано с тем, что Вы используете стекло, а не пластик или кварц. Хотя точно не знаю. Надо поэкспериментировать
  4. Чем проявлять? На сайте производителя (http://www.bungard.ru/seiten/material.htm) сказано, что у них для проявки свой химикат. Рецепт я там не нашел.
  5. Добрый вечер (ночь/утро/день)! Как у Вас обстоят дела с новой сборкой? Не терпится протестировать!
  6. Добрый вечер (ночь/утро/день) ! Я не правильно поставил вопрос. Я хотел узнать ключи компилятора, по которым он определяет для какого процессора генерировать код. Это конечно можно в интернете узнать и проверить на железке, но как раз ее у меня пока инет. У меня в конфигурационном файле для openocd есть такие слова: #interface interface parport parport_port 0x378 parport_cable wiggler На этот конфиг, я натравливал приложение с именем openocd-pp.exe. И драйвер какой-то был установлен. Теперь, если запустить Ваш openocd, появляется сообщение: Error: The specified JTAG interface was not found (parport) The following JTAG interfaces are available: 1: ft2232 2: presto То есть параллельный порт как бы и не подразумевается этим openocd, если я правильно понял. Непонятно. Нужна такая dll'ка, чтобы параллельный порт "прикинулся" ft2232, что ли? Вы говорите, что "эта процедура в инете описана". Напишите ссылку, пожалуйста. Заранее благодарен
  7. Уважаемый Klen Скажите, пожалуйста, для чего нужна libiconv-2.dll, и, как сделать так, чтобы arm-kgp-elf-g++.exe её находил. Также буду весьма благодарен, если Вы выложите примеры make-файлов, который можно использовать для компиляции standalone-приложений (.bin) для процессоров ARM7 (LPC2478) и Cortex-M3 (LPC1768) И еще вопрос: поддерживает ли предложенный Вами openocd примитивный программатор типа Wiggler? Заранее благодарен
  8. Добрый день (вечер/ночь/утро)! Пищу на C++ для ARM7. Компилятор arm-elf-g++. Подскажите, пожалуйста, что надо написать в скрипте для линкера, чтобы работали операторы new и delete?
  9. Доброе утро (день/вечер/ночь)! Прошу поделиться впечатлениями.
  10. Большее спасибо! :a14: Проблема разрешилась. Однако суть происходящего мне не очень ясна. Я правильно понимаю, что эта одноименная секция в выходном elf файле как-то неправильно описана (размер или конец не помечен), и поэтому objcopy выдает кривой bin файл? А есть какой-нибудь хороший-хороший мануал по работе линкера?
  11. Спасибо. Флаги -fno-exceptions -fno-rtti помогли. Извините, не понял. Вот фрагмент main.map .bss 0x40000004 0x154 *(.bss) .bss 0x40000004 0x0 strup.o .bss 0x40000004 0x0 std_def.o .bss 0x40000004 0x0 ChipResource.o .bss 0x40000004 0x0 SinglePort.o .bss 0x40000004 0x154 main.o 0x40000008 InputBuf 0x40000144 Chip 0x40000138 OutputBufTail 0x4000010c InputBufTail 0x40000140 flag 0x40000004 TIMER0_IntFunc и т.д. Глобальный объект Chip вызывает описанный выше косяк А вот скрипт линкера: MEMORY { rom (rx) : ORIGIN = 0x00000000, LENGTH = 512K ram (rw) : ORIGIN = 0x40000000, LENGTH = 64K } SECTIONS { .text : { *(.text) } >rom .data : { *(.data) } >ram .bss : { *(.bss) } }
  12. Добрый день (вечер/ночь/утро)! Пишу на С++. Проблема первая: Если обьект, определенного мной типа, расположить вне main (т.е. он будет глобальным), компоновщик генерирует странный elf файл. Странность его в том, что утилита arm-elf-objcopy делает из него бинарный файл размером 1ГБ (~1КБ эффективного кода + куча нулей). Проблема вторая: Имеется такой код int main(void) { CHIP Chip; SINGLE_PORT X13_20; // X13_20.Init(0, OUTPUT, PULL_UP); // X13_20.NewConnect(&Chip, P0, 4); /*.........................*/ } Если раскоментировать методы обьекта X13_20, компоновщик arm-elf-ld вываливает следующие сообщения: main.cpp:46: undefined reference to `_Unwind_SjLj_Register' main.cpp:67: undefined reference to `_Unwind_SjLj_Resume' main.cpp:67: undefined reference to `__gxx_personality_sj0' строки 46 и 67 соответственно начало и конец main Подскажите, чтобы это могло означать Заранее благодарен Косяк видимо связан с явными деструкторами (см. http://electronix.ru/forum/index.php?showtopic=49880)
  13. Посмотрите тему "Вопросы по OpenOCD" (http://electronix.ru/forum/index.php?showtopic=49523)
  14. Доброе утро (день/вечер/ночь)! За пэдээфку спасибо. Сейчас для ресета пользуюсь командой soft_reset_halt. Аппаратный ресет (monitor reset) устроить так и не получается. Я сейчас в эклипс пытаюсь сделать такую штуку: Выбираю внешний инструмент с именем, например, "prog". При этом запускается OpenOCD, выполняется скрипт с командами для прошивки контроллера и OpenOCD вырубается. Скрипт пытаюсь прицепить к событию "post_halt" (т.к. ресет не работает). Подскажите, в чем может быть косяк. Еще такой вопрос: нет ли у кого бинарников OpenOCD для маздая с поддержкой пар.порта по-новее? А то у меня версия r520. Заранее благодарен
  15. За soft_reset_halt огромное спасибо. При запросе справки OpenOCD о ней почему-то умалчивает. На сколько я понял, OpenOCD сам записывает в PC 0x00000000 и переводит проц в режим супервизора. А вот с monitor reset не получается. Файл конфигурации для OpenOCD содержит команду reset_config trst_and_srst srst_pulls_trst. При вводе monitor reset контроллер улетает черт знает куда и выдает такое сообщение: requested reset would assert trst value captured during scan didn't pass the requested check: captured: 0x00 check_vavue 0x01 check_mask: 0x0f Но в файле конфигурации у меня написано: jtag_device 4 0x1 0xf 0xe
×
×
  • Создать...