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

scmRTOS для EWARM 5.11

Здравствуйте! Есть небольшой проектик под 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 ? Спасибо.

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


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

Поднимем темку. Сегодня поставил себе ИАР 5.30 для АРМа, а в нем оказывается сильно поменяли асм. У кого-нть есть порт OS_Target_asm под новый асм?

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


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

Из данной же области.

Для ARM смотрю, есть порт для версии IAR 4.30

Имею 5.10, ругань на асм.

Вопрос: где скачать 4.30? Или таргетовские файлоики для более поздней версии IAR.

 

 

зы

офтоп: умеет ли freertos работать с классами, или не далее чем С?

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


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

Имею 5.10, ругань на асм.

Берете документ по миграции на V5 и правите.

умеет ли freertos работать с классами, или не далее чем С?

Вы хоть сами поняли, что написали?

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


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

Берете документ по миграции на V5 и правите.

Хорошо.

Но не понятно, по идее, поблема должна быть актуальной.

Значит, она или архитривиальная, или неимоверно сложная.

 

Вы хоть сами поняли, что написали?

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

 

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

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


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

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

 

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

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

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


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

Спасибо за подсказку!

 

В смущение ввело то, что когда-то портировал проект с С на С++ для Атмеги.

И уповал на то, что С - подмоножество С++ и портирование будет элементарным.

Ошибался....

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


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

Спасибо за подсказку!

 

В смущение ввело то, что когда-то портировал проект с С на С++ для Атмеги.

И уповал на то, что С - подмоножество С++ и портирование будет элементарным.

Ошибался....

Ну и где же были ошибки???

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


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

Ну и где же были ошибки???

В особенностях дооформления стандартных библиотечных функций.

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

 

Аналогично сейчас.

Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.

Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.

И таких условиях корректно сформулировать вопрос не всегда получается. И сам ведь не понимаешь, а чем некорректность - база знаний маловата.

 

ЗЫ

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

 

нечто по теме:

http://electronix.ru/forum/index.php?showt...t=0#entry557862

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


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

Аналогично сейчас.

Есть безосьный элементраный мигатель светодиодами на SAM7S64. Писаный на С. Работающий.

Подключаю С++, и линкер вдруг перестает обнаруживать lowlevel_init. Чес гря, я и не полнимал, кто его раньше вызывал, и каким образом соотвтествует С стандарту.

И таких условиях корректно сформулировать вопрос не всегда получается. И сам ведь не понимаешь, а чем некорректность - база знаний маловата.

Объявите эту функцию как extern "C". Поизучайте тему Name Mangling в С++.

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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