Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: scmRTOS для EWARM 5.11
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > scmRTOS
Ykidia
Здравствуйте! Есть небольшой проектик под scmRTOS, ранее созданный для IAR EWARM 4.41, микроконтроллер LPC2148. Поставил EWARM 5.11 для пробы, но как-то не удается сделать так, чтобы, как и раньше, в векторах по адресам #00-#3F мирно сосуществовали как части из стандартного cstartup, так и части из OS_Target_asm. Поменял сегменты на секции, ORG на LTORG и т.д., но при компиляции в векторах присутствует либо только код из cstartup (т.е. нет частей ОС для программного и аппаратных IRQ/FIQ прерываний), либо только из OS_Target_asm (т.е. по 0-му вектору например находится какой-то мусор). Пытался менять :ROOT(x) в строках объявлений секций, что и приводило к вытеснению либо содержимого cstartup.s, либо OS_Target_asm.s.
Что нужно сделать либо есть может у кого уже адаптированный OS_Target_asm.s для EWARM 5.11 ? Спасибо.
gladov
Поднимем темку. Сегодня поставил себе ИАР 5.30 для АРМа, а в нем оказывается сильно поменяли асм. У кого-нть есть порт OS_Target_asm под новый асм?
buddazvon
Из данной же области.
Для ARM смотрю, есть порт для версии IAR 4.30
Имею 5.10, ругань на асм.
Вопрос: где скачать 4.30? Или таргетовские файлоики для более поздней версии IAR.


зы
офтоп: умеет ли freertos работать с классами, или не далее чем С?
zltigo
Цитата(buddazvon @ Aug 24 2009, 08:36) *
Имею 5.10, ругань на асм.

Берете документ по миграции на V5 и правите.
Цитата
умеет ли freertos работать с классами, или не далее чем С?

Вы хоть сами поняли, что написали?
buddazvon
Цитата(zltigo @ Aug 24 2009, 10:07) *
Берете документ по миграции на V5 и правите.

Хорошо.
Но не понятно, по идее, поблема должна быть актуальной.
Значит, она или архитривиальная, или неимоверно сложная.

Цитата(zltigo @ Aug 24 2009, 10:07) *
Вы хоть сами поняли, что написали?

Видимо, у меня довольно низкая квалификация, и я не могу понять, что непоянтного сказал?

Хочу ООП для работы с ОС и ARM. Нигде не видел, чтоб писали, что под IAR ARM FReeRTOS можно былоб скомпилировать под С++
dxp
Цитата(buddazvon @ Aug 24 2009, 15:50) *
Видимо, у меня довольно низкая квалификация, и я не могу понять, что непоянтного сказал?

Хочу ООП для работы с ОС и ARM. Нигде не видел, чтоб писали, что под IAR ARM FReeRTOS можно былоб скомпилировать под С++

FreeRTOS - это точно такая же программа, как и любая другая. Написана она на С, и это никак не ограничивает кого бы то ни было в использовании других языковых средств. Если используемый компилятор позволяет писать на С++, то пишите, а связь с компонентами FreeRTOS будет как с обычным С-кодом, т.е. никаких проблем быть не должно, ведь С за редким исключением является подмножеством С++. Вот это вам и хотели сказать.
buddazvon
Спасибо за подсказку!

В смущение ввело то, что когда-то портировал проект с С на С++ для Атмеги.
И уповал на то, что С - подмоножество С++ и портирование будет элементарным.
Ошибался....
jorikdima
Цитата(buddazvon @ Aug 24 2009, 14:28) *
Спасибо за подсказку!

В смущение ввело то, что когда-то портировал проект с С на С++ для Атмеги.
И уповал на то, что С - подмоножество С++ и портирование будет элементарным.
Ошибался....

Ну и где же были ошибки???
buddazvon
Цитата(jorikdima @ Aug 24 2009, 14:13) *
Ну и где же были ошибки???

В особенностях дооформления стандартных библиотечных функций.
+ стековые параметры. Всё наложилось друг на друга, и, или не компилилось, или работало неожиданно не так.

Аналогично сейчас.
Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.
Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.
И таких условиях корректно сформулировать вопрос не всегда получается. И сам ведь не понимаешь, а чем некорректность - база знаний маловата.

ЗЫ
"Берете документ по миграции на V5 и правите." Взял, посмотрел, и, вот как-то усомнился, что, руководствуясь, одним этим документом можно вообще что-то сделать.

нечто по теме:
http://electronix.ru/forum/index.php?showt...t=0#entry557862
dxp
Цитата(buddazvon @ Aug 24 2009, 20:31) *
Аналогично сейчас.
Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.
Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.
И таких условиях корректно сформулировать вопрос не всегда получается. И сам ведь не понимаешь, а чем некорректность - база знаний маловата.

Объявите эту функцию как extern "C". Поизучайте тему Name Mangling в С++.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.