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

В 27.01.2023 в 21:58, RusikOk сказал:

а есть в кубе аналог такой очень полезной штуки?

сам не пробовал, посмотри тут

image.thumb.png.9e3834a03e38c20b503f0c364282633b.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 26.01.2023 в 14:52, razrab83 сказал:

если у вас STM32, то посмотрите регистр DBG

а есть похожий трюк, чтобы маскировать внешние прерывания на время когда программа остановлена для отладки?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 hours ago, RusikOk said:

а есть похожий трюк, чтобы маскировать внешние прерывания на время когда программа остановлена для отладки?

Вроде, нет такого. А зачем такое нужно? Просто понизить приоритет внешнего прерывания относительно обрабатываемого нельзя? Или тупо записать ручками, оказавшись в точке остановки, нолик в регистр разрешения прерывания?

Изменено пользователем tonyk_av

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, RusikOk сказал:

а есть похожий трюк, чтобы маскировать внешние прерывания на время когда программа остановлена для отладки?

Зачем?? Если программа остановлена (CPU остановлен), он априори не может реагировать ни на какие прерывания. Вопрос бессмысленный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 20.04.2023 в 11:48, jcxz сказал:

Зачем?? Если программа остановлена (CPU остановлен), он априори не может реагировать ни на какие прерывания. Вопрос бессмысленный.

ну реагировать может и не может. но перебрасывать меня в обработчик может. и это бесит. тем более если прерывание происходит несколько раз в секунду

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как запретить кубу заливать не пойми какую прошивку если в коде есть синтаксические ошибки? я считаю, что это очень странно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 minutes ago, RusikOk said:

как запретить кубу заливать не пойми какую прошивку если в коде есть синтаксические ошибки? я считаю, что это очень странно

Если в коде есть синтаксические ошибки, этот код не может быть откомпилирован. Следовательно, не будет файла *.bin или иного подобного. А это значит, что и прошивать в микроконтроллер нечего. Возможно, что что-то в настройках скрипта сборки не так, раз файл прошивки (*.bin, *.out и т.п.) не очищается перед линковкой новых объектных файлов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так я даже обновился а ничего не поменялось. при компиляции в логе видны красные строки но тем не менее IDE не считает, что стоит прекратить сборку. у меня такое наблюдается на 2х машинах. просто вынос мозга. один из проектов сгенерирован собственно кубом второй нет. я не знаю как работать на "этом"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прекрасно работается и на этом и на том.
Инструкцию просто надо прочитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 minutes ago, RusikOk said:

при компиляции в логе видны красные строки но тем не менее IDE не считает, что стоит прекратить сборку.

Не куб. Компилятор. И не должен. Компиляторы не прекращают компиляцию, найдя первую ошибку. К прошивке только это не имеет отношения. IAR действует точно также. Несколько сотен  ошибок запросто выведет в лог, если найдёт, конечно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, x893 сказал:

Прекрасно работается и на этом и на том.
Инструкцию просто надо прочитать.

и что там написано?)

или ткните носом где почитать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 6/14/2023 at 6:29 PM, haker_fox said:

Не куб. Компилятор. И не должен. Компиляторы не прекращают компиляцию, найдя первую ошибку. К прошивке только это не имеет отношения. IAR действует точно также. Несколько сотен  ошибок запросто выведет в лог, если найдёт, конечно.

Eclipse сам так же анализирует ошибки. И при не соответствии настроек мнения компилятора могут расходиться с мнением Eclipse.

On 6/14/2023 at 6:21 PM, RusikOk said:

так я даже обновился а ничего не поменялось. при компиляции в логе видны красные строки но тем не менее IDE не считает, что стоит прекратить сборку. у меня такое наблюдается на 2х машинах. просто вынос мозга. один из проектов сгенерирован собственно кубом второй нет. я не знаю как работать на "этом"

У Eclipse есть настройка Stop on first build error

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, dimka76 said:

Eclipse сам так же анализирует ошибки. И при не соответствии настроек мнения компилятора могут расходиться с мнением Eclipse.

А как это соотносится или противоречит тому, что я написал? Да, я знаю, что в Eclipse, Qt Creator и во многих других IDE подключен on-line (не к сети, конечно, а по принципу действия) анализатор кода.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте. Использовали на работе IAR, применяли атрибут __no_init к некоторым переменным. Решили попробовать перейти на CubeIDE. Столкнулись с проблемой. Создали секцию в памяти в файле .ld

  /*KEEP(*(.SettingsSection))
  *(.SettingsSection)*/
  .markerSettings (0x20000000):
  {
  KEEP(*(.SettingsSection))
  } >RAM

Создаём переменную по конкретному адресу в ОЗУ

TSettings Settings __attribute__((section(".SettingsSection")));

И тут проблема - компилятор создаёт бинарник размером в 300 Мб. Всё что далее программы одни нули. Т.е. он хочет проинициализировать её нулевыми данными. Как заставить его не инициализировать её? Искал и в инете и в guid, по словам init, attribute, attribute gcc, ничего нужного не нашёл. Подскажите, пожалуйста, как решается этот вопрос?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

И тут проблема - компилятор создаёт бинарник размером в 300 Мб. Всё что далее программы одни нули. Т.е. он хочет проинициализировать её нулевыми данными. Как заставить его не инициализировать её?

В IAR, чтобы оно правильно работало, кроме префикса __no_init у переменных, у вас в командном файле компоновщика для этой секции должно быть указано:

do not initialize  {section .SettingsSection};

По аналогии с IAR, можно предположить, что и здесь в скрипте компоновщика нужно указать нечто аналогичное. Вангую, что нужную инструкцию искать нужно в мануале на компоновщик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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