Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: использование компилятора Keil
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Punk
Привет! Возникла необходимость скомпилить пару программ для LPC2129. Был взят диск от книжки Тревора Мартина (ее наверно все знают...). Установлен Кейл, успешно подлечен. Открываю необходимый мне пример взятый с этого же диска CANRX, дописываю строки, которые рекомендовалось дописать в книге. Компиляю. Борода....не компилится, ругается на строчку:
unsigned int StandartFilter[2] _at_ 0xe0038000;

а имеено на *_at_* . Не знаю говорит этого. Посмотрел установлена ли галка Use Keil ARM Tools, оказывается она не установлена, а установлена GNU, меняю галку и компилю,вываливается огромная гора ошибок по поводу стартового кода...... Возникает вопрос - Что делать? Если в этой программе используется гнутый компилер как мне переписать строчку unsigned int StandartFilter[2] _at_ 0xe0038000; ?

Danke
Dr.Craft
В книге примеры для KARM компилятора, а он теперь уже не поддерживается, только Real View и GNU,
необходимо творчески переработать примеры.
gregory812
Также возникла проблема с компиляцией. Скачал версию uVision 3.11, создал проект на базе ADuC2128, выставил Use Keil CARM Compiler. Си файл состоит только из пустой функции main. При компиляции выдается следующая ошибка:

assembling ADuC712x.s...
--- Error: failed to execute 'C:\Program files\Keil311\ARM\BIN\AA'

Не пойму почему компилятор ищет файлы, которые не были установлены при инсталляции? Может быть это какая-то урезанная версия?
VAI
Цитата
Use Keil CARM Compiler

В ответе выше написано
Цитата
а он теперь уже не поддерживается, только Real View и GNU

вот Вам и пишет, что не смог запустить файл...
Punk
И всетаки как переписать строчку unsigned int StandartFilter[2] _at_ 0xe0038000; ?
net
Цитата(Punk @ Oct 8 2007, 17:38) *
И всетаки как переписать строчку unsigned int StandartFilter[2] _at_ 0xe0038000; ?


надо сделать include и все будет нормально
VAI
Цитата
И всетаки как переписать строчку unsigned int StandartFilter[2] _at_ 0xe0038000; ?

Смотрим файл
...\Keil\ARM\Hlp\Release_Notes.htm, там ищем "__at".
Там написано, что с версии 3.03a в RV используется "__at". И есть маленький примерчик.
Для более глубокого изучения смотрим файл ..\Keil\ARM\Hlp\armlink.chm и там тему "Using __at sections to place sections at a specific address"
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.