Pull to refresh

Comments 8

почему на третьем рисунке файл RTX_CM0.lib включен дважды
и что значит красная отметка на этом файле?
Для этого проекта у меня было создано 2 target-a, для разных чипов — NRF51422 и NRF51822. Разные target-ы могут использовать разные файлы, в данном случае нижний файл не используется, о чем и говорит значок. Вот ссылочка на документацию
А можно про rtos_suspend подробнее. РТОС для STM32, не найду эту переменную.
rtos_suspend появилась из-за режимов энергосбережения, мы ее добавили сами, когда инициализировали таймеры для ядра RTOS. По умолчанию, что для STM32, что для NRF этой переменной нет нигде в RTOS, и ее нужно будет добавить ручками, если используются спящие режимы. По сути это просто флаг разрешения/запрета уйти в сон.
UFO just landed and posted this here
Приведу свой пример: я разрабатывал приложение, в котором были долгие не очень важные задачи и менее долгие, но более важные, которые должны были прерывать выполнение первых. Чтобы выстроить приоритетную систему прерываний, где задачи выполнялись бы в обработчиках, мне просто не хватило периферии на NRF51. Поэтому вытесняющая РТОС спасла положение
Решил пройти гайд по шагам в целях обучения. После правки в разделе Global Functions код уже не собирается. Линкер сообщает об повторной декларации функции .\_build\nrf51422_xxac_s130.axf: Error: L6200E: Symbol RTC1_IRQHandler multiply defined (by .\_build\app_timer.o and .\_build\rtx_conf_cm.o).
Что я мог сделать не так?
Спасибо за комментарий. Ошибка появляется из-за того, что RTX хочет использовать прерывание RTC1, которое уже определено. Для решения этой проблемы нужно в менеджере Run-Time Environment во вкладке nRF_Libraries найти app_timer и выбрать вариант с пометкой Rtx:

Sign up to leave a comment.

Articles