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

Сергей Борщ

Модератор
  • Постов

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

  • Посещение

  • Победитель дней

    31

Сообщения, опубликованные Сергей Борщ


  1. 2 часа назад, dimka76 сказал:

    А в вашем случае как ? Просто по адресам смотреть ?

    Плугин Embsysregview и самописные файлы с описанием регистров и битов в них. Привык уже, хватает. Кстати, в самой эклипсе появился Eclipse IDE for Embedded C/C++ Developers, там есть какие-то механизмы просмотра регистров.

  2. Транзистор p-канальный, открывается отрицательным относительно истока напряжением, то есть чтобы его открыть, нужно затвор соединить с землей. А чтобы закрыть - с истоком. Если это выход микроконтроллера - то 0/1 справятся с этими задачами, а если кнопка, как на схеме - то она должна замыкать затвор на землю и резистором затвор должен быть подтянут к истоку.

  3. 12 часов назад, dimka76 сказал:

    Может потому что я пытаюсь отлаживать GigaDevice, а в IDE настраиваю как STM ?

    Отлаживал устройство после замены STM32F100 на аналог от GD. Ничего в настройках среды не правил, все работало. Правда я использую не System Workbench for STM32, а чистый Eclipse IDE for C/C++ Developers под линухом.

  4. 2 часа назад, dimka76 сказал:

    shutdown command invoked

    В каком-то из скриптов или в командной строке встречается команда shutdown?

    Цитата
    Command: shutdown [error]

    Close the OpenOCD server, disconnecting all clients (GDB, telnet, other). If option error is used, OpenOCD will return a non-zero exit code to the parent process.

    If user types CTRL-C or kills OpenOCD, the command shutdown will be automatically executed to cause OpenOCD to exit.

     

  5. 10 минут назад, dimka76 сказал:

    порт 3333

    Это порт GDB и OOCD по-умолчанию использует порт 3333 для связи с GDB. Кроме этого порта OOCD использует еще два - 4444 для общения через telnet (постоянно использую) и 6666 для tcl (никогда не использовал). Вот последний и конфликтует с какой-то другой программой. У вас же есть какой-то openocd.cfg, в котором прописаны настройки OOCD под конкретный проект? Вот в него и впишите 

    tcl_port disabled

    Или вон в поле OpenOCD Options впишите

    -C "tcl_port disabled"

     

  6. Можно вместо лошади воспользоваться avreal, у него есть возможность задавать любую скорость. Да, avreal не имеет графической оболочки, поэтому вместо тыкания мышкой в галочки придется один раз написать командный файл запуска. Зато потом все программирование будет сводиться к запуску этого файла вместо кучи тыканий мышкой.

     

    И позволю себе задать провокационный вопрос: есть ли необходимость работать именно от часового кварца? Это же медленно. Почему бы кварц не повесить на PC6/PC7 (TOSC1/TOSC2), а ядру не работать быстро от внутреннего RC, проводя все появившееся свободное время в глубоком сне?

    • Like 1
    • Upvote 1
  7. 11 часов назад, dimka76 сказал:

    Error: couldn't bind tcl to socket on port 6666: No error

    Какая-то другая программа слушает порт 6666, поэтому OOCD не может его занять. Я не знаю, чем сейчас в виндовсе отслеживаются занявшие порт программы, как решение "на скорую руку" предложил бы в командной строке OOCD переключить его tcl-интерфейс на другой порт или вообще отключить, ведь с большой долей вероятности вы его все равно не используете.

    Цитата
    Config Command: tcl_port [number]

    Specify or query the port used for a simplified RPC connection that can be used by clients to issue TCL commands and get the output from the Tcl engine. Intended as a machine interface. When not specified during the configuration stage, the port number defaults to 6666. When specified as "disabled", this service is not activated.

    Во всяком случае это поможет установить, является ли эта ошибка причиной проблем.

  8. 1 час назад, flammmable сказал:

    Мне нужно, чтобы функционал моего приложения создавал в диспетчере устройств COM-порт в отсутствие внешних подключений.

    Но вы ни здесь, ни на исходниках так и не объяснили, чем вас не устраивает com0com? Он делает именно это и без всяких погружений в дебри драйверов.

  9. Я заменил пока только в одном экземпляре одного устройства, так что статистики не имею. Чуток пришлось поправить программу, в железо изменений вносить не пришлось. Программа работает и там и там одна и та же, без определения типа кристалла.

    Описанные вами симптомы очень похожи на тиристорное защелкивание, оно происходит когда на вход подается напряжение, выходящее за допустимые пределы с превышением максимального тока через защитные диоды. Где-то вы ток забыли ограничить последовательным резистором.

  10. 14 часов назад, aleksandr-zh сказал:

    Удивлю: Вам не хватит

    Модератор: Перечитал исходное сообщение темы дважды. Не увидел там вопроса об этом. При ответах учитывайте тематику этого раздела форума.

    3 часа назад, ericN сказал:

    Вы бпла на дровах и паровом двигателе будете делать?

    Модератор: А вы задаете уточняющие вопросы потому что вас заинтересовало предложение или просто проходя мимо набросить на вентилятор решили? Рекомендую ознакомиться с правилами этого раздела и соблюдать их. Правила раздела находятся тут:

    image.png.dbf8932ee65484618e2325d8b108f7ce.png

    На первый раз устное предупреждение.

  11. 15 минут назад, vvppvv сказал:

    Инструкция SWAP в ассемблерах мне встречалась часто, но вот чтобы её использовать в Си для AVR, приходится подключать и применять intrinsic-функции,

    У меня конструкция 

    byte = (byte >> 4)|(byte << 4);

    обычно оптимизировалась в swap. С включенной оптимизацией, разумеется (без оптимизации не компилирую).

  12. 3 часа назад, AlexBel сказал:

    В процессе экспериментов специально делал "висячки" - потребляемый ток увеличивался

    А нет ли у этого контроллера варианта с бОльшим количеством ног? Кристаллы в них обычно идут одинаковые и часть портов просто не подключаются к выводам корпуса, но их тоже нужно настраивать.

  13. Не знаю ничего об AT32, но, например, у STM32WLE в режиме Standby регистры настройки портов не работают, там есть отдельные регистры PWR->PDCRx и PWR->PUCRx, которыми можно включить подтяжки к земле и питанию, а без подтяжек висящие в воздухе ноги вполне могут вызывать повышенное потребление. Кроме этого есть выводы, у которых подтяжки включены по-умолчанию и эти подтяжки могут конфликтовать с внешними сигналами (у меня, например, в рабочем режиме конфликтовала подтяжка NJTRST). 

  14. 4 часа назад, Solonovatiy сказал:

    Это же считай обертка под проект, просто четко проводящая границу между железом, хал если он есть - ниже.

    Интересно, а как вы расшифроваете аббревиатуру "HAL"? Потому что весь остальной мир расшифровывает "HAL" как "Hardware abstraction layer", что буквально и означает "обертка, четко проводящая границу между железом и прикладным софтом". Или вы имели ввиду границу между железом и чем-то другим?

  15. Потому что при первом вызове функции a() стек условно пустой, а при втором вызове на стеке уже лежит переменная ii из функции b(). Что вы понимаете под понятием "статика" - мне неведомо.

    Ну погоняйте этот код под отладчиком до пониамния, что ли. Я пас.

  16. 1 час назад, jenya7 сказал:

    расположаться

    Что сделаютЬ?

    1 час назад, jenya7 сказал:

    на стаке

    А чего сразу не "на стацке"?

     

    Надеюсь, вы понимаете, что в общем случае при каждом входе в функцию эти адреса будут разные?

    Что-то мне подсказывает, что вы снова закатываете Солнце вручную и пытаетесь реализовать va_arg

×
×
  • Создать...