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

 
 
 
Reply to this topicStart new topic
> Keil, LPC2000 , компиляция ARM/Thumb
Костян
сообщение Feb 5 2007, 15:00
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



День добрый. При компиляции из Keil не всегда удается перейти от Thumb к ARM mode линковшик выдает часто ошибку:

ERROR104 : MULTIPLE PUBLIC DEFINITIONS
SYNBOL : putchar?A
DEFINED : serial.obj

в проекте используется printf и include <stdio.h> . В файле serial.c находится описание фунцкий putchar и getchar .

В чем причина ?
Go to the top of the page
 
+Quote Post
d__
сообщение Feb 5 2007, 15:14
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Посмотри как это делается в C:\Keil\ARM\RV30\Examples\Hello\...
Go to the top of the page
 
+Quote Post
Костян
сообщение Feb 5 2007, 15:54
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Да забыл уточнить, компилятор Keil CARM
Для определенности вопроса, например поясните как скомпилировать под ARM инструкциях следуюший проект:
С:\Keil\ARM\Examples\Hello
Go to the top of the page
 
+Quote Post
VAI
сообщение Feb 5 2007, 16:12
Сообщение #4


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
Да забыл уточнить, компилятор Keil CARM

а почему карм? Сами себе создаете трудности, а все вместе мы их преодолевать будем?


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
d__
сообщение Feb 5 2007, 16:44
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



На вкладке компилера надо снять интерворкинг и телемаркет...
Go to the top of the page
 
+Quote Post
Костян
сообщение Feb 5 2007, 17:32
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(d__ @ Feb 5 2007, 11:44) *
На вкладке компилера надо снять интерворкинг и телемаркет...

Сорри за тормоза, но у CARM нету таких полей. И простое снятие галки thump приводит к приведенной выше ошибки
С:\Keil\ARM\Examples\Hello


Цитата
а почему карм? Сами себе создаете трудности, а все вместе мы их преодолевать будем?

Хм.. да вот примеры как с keil именно под ним ходят, аргуметнируйте если можно, чем он дурной ?
Go to the top of the page
 
+Quote Post
VAI
сообщение Feb 5 2007, 18:41
Сообщение #7


Профессионал
*****

Группа: Модераторы
Сообщений: 1 120
Регистрация: 17-06-04
Пользователь №: 37



Цитата
аргуметнируйте если можно, чем он дурной ?

1. Double не поддерживает. Точнее sizeof( double ) = sizeof( float ).
http://www.keil.com/support/docs/3209.htm
2. Поддержка прекращена из-за наличия компилятора RV в Кейле. В последних версиях (3.03, 3.04) МДК отсутствует.


--------------------
Если зайца бить, его можно и спички научить зажигать
Сколько дурака не бей - умнее не будет. Зато опытнее
Go to the top of the page
 
+Quote Post
Andy Great
сообщение Feb 5 2007, 18:58
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 793
Регистрация: 5-11-04
Из: Краматорск, Украина
Пользователь №: 1 057



Странно, что поддержка GCC не прекращена - есть же RV smile.gif Не совсем понимаю, чем им родной КАРМ помешал - места намного жрет.
Go to the top of the page
 
+Quote Post
Костян
сообщение Feb 5 2007, 20:05
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(VAI @ Feb 5 2007, 13:41) *
Цитата
аргуметнируйте если можно, чем он дурной ?

1. Double не поддерживает. Точнее sizeof( double ) = sizeof( float ).
http://www.keil.com/support/docs/3209.htm
2. Поддержка прекращена из-за наличия компилятора RV в Кейле. В последних версиях (3.03, 3.04) МДК отсутствует.

Пасиб за ответ , первое я заметил , а вот второе новость , причем убедительная.
Go to the top of the page
 
+Quote Post
Andrew2000
сообщение Feb 5 2007, 20:22
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 421
Регистрация: 25-12-04
Пользователь №: 1 675



Цитата(Andy Great @ Feb 5 2007, 18:58) *
Странно, что поддержка GCC не прекращена - есть же RV smile.gif Не совсем понимаю, чем им родной КАРМ помешал - места намного жрет.

А зачем тогда ARM покупал Keil-a?
(Для Infineon 16x Keil лучший компилятор сделала, и для ARM был бы лучшим, я так думаю...)
Go to the top of the page
 
+Quote Post
d__
сообщение Feb 5 2007, 20:27
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 197
Регистрация: 26-08-04
Пользователь №: 548



Извините, произошла ошибочка. По замотанности был открыт проект с похожим названием. В документации на CARM написано, что он генерит только чумб программы, так что в арм режиме, только на на асемблере... Еще раз извините...
Go to the top of the page
 
+Quote Post
Костян
сообщение Feb 6 2007, 11:50
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 740
Регистрация: 24-07-06
Из: Minsk
Пользователь №: 19 059



Цитата(d__ @ Feb 5 2007, 15:27) *
В документации на CARM написано, что он генерит только чумб программы, так что в арм режиме, только на на асемблере...

Да вроде нет, тот же FreeRTOS дает примеры в ARM и Thumb инструкциях, но почему в разных файлах проекта.
По крайней мере нашел способ через ж... изменять режим. В закладке компилера в поле "misc control" пробиваю INTERWORK , но что к чему нипонятно.
Может все же кто-то возмется из форумчан обьяснить , как изменять mode ? До сегодняшнего дня приходилось брать готовый пример в ARM инструкциях, оставлять из него только файл проекта, а исходники набивать свои.
Или все же имеет смысл перейти на RV compiler ? Хотя нехотелось бы это делать когда проект наполовину написан в CARM
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 20:55
Рейтинг@Mail.ru


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