реклама на сайте
подробности

 
 
> Портирование uCOS под CrossWorks, Кто-нибудь портировал uCOS под CrossWorks?
Lemist
сообщение Apr 29 2010, 14:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 28-04-10
Из: город Харьков
Пользователь №: 56 948



Кто-нибудь портировал uCOS под CrossWorks? Если да, подскажите, как в этой среде сделать, чтобы CrossWorks понимала PRIMASK, PSP и другие специальные регистры. И вообще, откуда взялись ошибки типа
STM R0, {R4-R11} Io register required
LDM R0, {R4-R11} Io register required
POP {R14} unvalid register list to push/pop instruction (при этом команда PUSH {R14} прошла без вопросов)
ORR LR, LR, #0x04 unshifted register required
Ассемблерные команды вроде бы правильные, соответствуют архитектуре Cortex, но...
Отзовитесь, плиз.
Пожалуйста, не удаляйте эту тему.

Сообщение отредактировал Lemist - Apr 29 2010, 15:23
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Lemist
сообщение May 11 2010, 13:50
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 28-04-10
Из: город Харьков
Пользователь №: 56 948



И главная проблема в компиляции проектов под CrossWorks, так и осталась за кадром.
Дело вот в чем: если при настройке под синтаксис CrossWorks указать директиву
.code 32
то CrossWorks просто весь последующий код понимает как набор ARM-инструкций и на каждую строку ругается примерно так:
Error: attempt to use an ARM instruction on a Thumb-only processor -- `bx LR'
А если указать директиву
.code 16
выдается сообщение другого вида:
C:/Program Files/Rowley Associates Limited/CrossWorks for ARM 1.7/gcc/bin/ld: region UNPLACED_SECTIONS is full (THUMB Flash Debug/LPC1756_Test.elf section .code)
В то же время в datasheet на Cortex (конкретно это микроконтроллер LPC1758) нет никаких указаний, что ARM-инструкции запрещены - они там расписаны, как положено. Впечатление такое, что в CrossWorks где-то есть фича, которую можно установить, и CrossWorks будет все понимать. Но я пока такую фичу НЕ НАШЕЛ. А пока она не установлена, ARM-инструкции для CrossWorks останутся persona non grata, хотя это неправильно.
Есть ли выход из этой ситуации?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01349 секунд с 7
ELECTRONIX ©2004-2016