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

 
 
2 страниц V   1 2 >  
Closed TopicStart new topic
> Можно ли код откомпилированный под ARM7TDMI-S использовать в ARM720T
Beginning
сообщение Aug 24 2007, 20:31
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Hello All! Всезнающая общественность, столкнулся со следующей проблемой. Знаю KEIL и есть наработки под ARM LPC2xxx. Влюбился в эту среду и её возможности. Но жизнь заставила писать проект под SHARP LH79525. Это ядро ARM720T. Но нет необходимости использовать периферию, кроме UART. MMU и кэш тоже не надо использовать. Если какие особенности при компиляции именно под это ядро? Если я будо писать под ARM7TDMI-S, а потом зашью в SHARP? Он не будет глючить?

Где почитать на русском про ядро ARM720T


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 09:46
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Что, никто мне не ответит?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
klop
сообщение Aug 25 2007, 10:07
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



Цитата(Beginning @ Aug 24 2007, 23:31) *
Если какие особенности при компиляции именно под это ядро?


Там наверняка должен быть какой нибудь рекомендованный стартап файл.
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 10:32
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



При компиляции С кода под ARM LH75xx, выскакивает ошибка:
*** Error: Referred Memory Range 'ROM1' is undefined.
Что это значит?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 25 2007, 12:17
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Beginning @ Aug 25 2007, 16:32) *
При компиляции С кода под ARM LH75xx, выскакивает ошибка:
*** Error: Referred Memory Range 'ROM1' is undefined.
Что это значит?

Если дословно, то "диапазон памяти под именем 'ROM1' на который что-то ссылается/обращается не определен". Видимо стартап не подходящий или программа рассчитана на MCU с другим объемом/распределением памяти.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 13:14
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 25 2007, 12:46) *
Что, никто мне не ответит?

А что ответить sad.gif Ядро редкое, какое-то полузаброшенное. Был немало удивлен, что Keil aka ARM не поддерживает (точнее похоже поддерживает, но в узкозаточенных версиях компилятора ).


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 13:27
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Ну почему же заброшенное, например NXP(Philips) 3 июля 2007 купило у SHARP лицензию. (http://www.symmetron.ua/news/news:Sharpamt) Я перебрал все процессоры в Keil и не нашёл ни одного с архитектурой ARM720. Например в IAR есть и архитектура, и процессор, но к IAR личная неприязнь.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 14:13
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 25 2007, 16:27) *
Например в IAR есть и архитектура, и процессор, но к IAR личная неприязнь.

А у меня нет личной неприязни ни к одному компилятору - подчеркиваю компилятору а не размалеванной IDE поставляемой с некоторыми компиляторами в комплекте (к коим у меня всем личная неприязнь smile.gif ). Берете номальный редактор, чего-нибудь make-образное и начинаете жизнь с ЛЮБЫМ компилятором, который необходим Вам для данной работы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 15:02
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Согласен, компилятор всё равно какой, просто, когда привыкни к хорошему (Keil) с его супер возможностями, да хотя бы возможность писать свои отладочные функции, а потом садишься на то что, тебе ужасно не нравится, то начинаешь, и соринки в глазах замечать.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 15:34
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 25 2007, 18:02) *
Согласен, компилятор всё равно какой, просто, когда привыкни к хорошему (Keil) с его супер возможностями

Keil безусловно хороший. Для некоторых ядер, пожалуй, максимально хороший. Но в общем ничем 'супер' не выдающийся среди группы других. Кроме того, жизнь течет, все меняется - лидеры не вечны. Осмотритесь вокруг.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 16:08
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



А что есть выбор? Keil, IAR, вроде CrossWorck. Чем я ещё могу воспользоватся для написания кода. Только чтобы это не было как в том анекдоте, когда гинеколог двигатель, через выхлопную трубу перебирал.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
klop
сообщение Aug 25 2007, 16:16
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788



Цитата(Beginning @ Aug 25 2007, 19:08) *
А что есть выбор? Keil, IAR, вроде CrossWorck. Чем я ещё могу воспользоватся для написания кода. Только чтобы это не было как в том анекдоте, когда гинеколог двигатель, через выхлопную трубу перебирал.

+ GHS,gcc,ARM
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 16:30
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 25 2007, 19:08) *
А что есть выбор?

Keil(который RVCT ), IAR, GCC - это вполне очевидный и уже достаточный выбор.
Rowley можо, пожалуй. Остальные предположительно заметно послабее.
Цитата
Чем я ещё могу воспользоватся для написания кода

Начните с IAR 5.10 smile.gif, поскольку Keil не прогнозируем для данного применения.

Цитата(Beginning @ Aug 25 2007, 19:08) *
Только чтобы это не было как в том анекдоте, когда гинеколог двигатель, через выхлопную трубу перебирал.

Кажется слышал, а причем тут он? Простите, проблема была в Гинекологе, а не в инстументарии.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 25 2007, 17:27
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



У меня есть IAR ARM 4.31A плюс кряк. 5.1 это последняя версия? Есть ли к ней кряк? И сколько весит, а то сотню мегабайт… не знаю, что они не так делают, что бы среда столько кода занимала, nop-ами чтоли забивают biggrin.gif . И стоит ли её качать, или они ни чем не отличаются?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 25 2007, 18:41
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 25 2007, 20:27) *
У меня есть IAR ARM 4.31A

Уже далеко не свежий, даже в ветке 4.X
Цитата
5.1 это последняя версия?

Да последняя, если нет, как я понимаю, никаких причин использовать ветку 4.X, то начинайте именно с нее, поскольку отличия весьма заметны, начина с несовместимости IDE smile.gif, "проектов" и принципиально другого формата выходных файлов и линкера. В целом это большой шаг к стандартизации компиляторов.
P.S.
Веточка по 5.10 на форуме была.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 26 2007, 15:28
Сообщение #16


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Есть следующий код:
Цитата
#define REG8(x) (*((volatile unsigned char *)(x)))
#define REG16(x) (*((volatile unsigned short *)(x)))
#define REG32(x) (*((volatile unsigned long *)(x)))

typedef struct {
reg16 dr; /* Data Register */
reg16 pad0;
reg8 rsr_ecr; /* Receive Status Reg. (Read) / Error Clear Reg. (Write) */
reg8 pad1[3];
reg32 rsrvd1[4];
reg16 fr; /* Flag Register */
reg16 pad2;
reg32 rsrvd2[2];
reg16 ibrd; /* Integer Baud Rate Divisor Register */
reg16 pad3;
reg16 fbrd; /* Fractional Baud Rate Divisor Register */
reg16 pad4;
reg16 lcr_h; /* Line Control Register, High Byte */
reg16 pad5;
reg16 cr; /* Control Register */
reg16 pad6;
reg16 ifls; /* Interrupt FIFO Level Select */
reg16 pad7;
reg16 imsc; /* Interrupt Mask Set/Clear */
reg16 pad8;
reg16 ris; /* Raw Interrupt Status */
reg16 pad9;
reg16 mis; /* Masked Interrupt Status */
reg16 padA;
reg16 icr; /* Interrupt Clear Register */
reg16 padB;
reg16 dmacr; /* DMA Control Register */
reg16 padC;
} UART;

#define UART0 ((UART *)(UART0_BASE))
#define UART1 ((UART *)(UART1_BASE))

Не могу понять почему не прокатывает выражение типа
Цитата
x=UART1.dr

Ругается на это так:
Цитата
App\main.c(95): error: #154: expression must have struct or union type


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2007, 15:47
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



x=UART1->dr;


Говорите среду кейловскую освоили и полюбили всй душой? Осталось с основами основ языка 'C' ознакомиться.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 26 2007, 15:55
Сообщение #18


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Спасибо за ответ, попробую.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 26 2007, 15:58
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 26 2007, 18:55) *
... попробую.

Пробовать не надо - сразу заработает, однако, ибо UART1 это у Вас ничто иное, как указатель на структуру.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
SergeyDDD
сообщение Aug 26 2007, 18:52
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248



Основные различия между ARM7TDMI и ARM720T:
- наличие встроенного сопроцессора MMU (memory management unit), наличие кеша и буфера записи.
- у ARM720T существуют дополнительные команды для работы с сопроцессорами MCR и MRC.

Когда MMU не включен (а он такой после сброса) ARM720T-ый камень это чистой воды ARM7TDMI.
"Послекейловские" программы работают на ура! smile.gif

На сколько мне известно MMU это та штука, которая необходима для Linux и Windows CE.
На ARM720T можно запустить Windows CE.

Сам вплотную работаю с Cirrus Logic EP7312 и использую MMU. Ну очччень полезная штука!!!
С его помощью можно легко "перекроить" карту памяти и "сшить" так как тебе надо.
Супер-инструмент для реализации мультипотокового проекта, где каждый поток это типичная программа для ARM7.
С сопроцессором работаю на асме.
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 28 2007, 14:08
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Вообщем, код откомпилированный в Keil? запускается sharp. Но есть много неприятностей. Например, когда запускаешь дебугер пишет:
*** Error: 'C:\Program Files\Keil\ARM\BIN\DARMSH.DLL' not found, или нет возможности посмотреть периферийные регистры. Вобщем, все-таки решил писать в IAR. По сему возникло несколько вопросов. Как в IAR пишется стартовый код? Где взять пару проектов, чтобы поучится и посмотреть особенности. Язык С. Инициализация на asm.


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 17:22
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 28 2007, 17:08) *
Где взять пару проектов, чтобы поучится и посмотреть особенности. Язык С. Инициализация на asm.

Как это не удивительно smile.gif, но проекты в большом количестве идут вместе с компилятором. Документы по нюансам реализации 'C' (ASM/Link/Tools/...) - тоже. Документация у IAR вполне хороша.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 28 2007, 21:05
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Ктонибудь может показать пример грамотного инициализовочного файла для IAR?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 28 2007, 21:33
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 29 2007, 00:05) *
Ктонибудь может показать пример грамотного инициализовочного файла для IAR?

Грамотность startup, она, простите не компилятором определяется а решаемой задачей. Те, что в примерах лежат вполне грамотны в рамках решаемой ими задачи. Один из своих (вполне грамотно решаеющий МОИ задачи) в качестве примера соответствия версий 5.10 и 4.xx выкладывал буквально сегодня.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 29 2007, 07:10
Сообщение #25


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



a ссылку, или название темы с startup?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
Beginning
сообщение Aug 29 2007, 12:13
Сообщение #26


Знающий
****

Группа: Свой
Сообщений: 511
Регистрация: 24-08-07
Из: БРЕСТ
Пользователь №: 30 053



Обнаружил очень неприятную засаду в IAR. Суть: В других оболочках когда мне было необходимо посмотреть, что компилятор вытворил на asm, я делал так: копировал cntrl+С сишную строку, запускал дебагер, и cntrl+F cntrl+V быстро находил то место где находится сишная строка. В IAR в дебагере поика нет. Как мне быть?


--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 29 2007, 12:24
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Beginning @ Aug 29 2007, 15:13) *
необходимо посмотреть, что компилятор вытворил на asm, я делал так....

Обалденная "технология".
Вообще-то всегда и везде независимо от компилятора, отладчика, IDE, для этого просто читают листинги или сгенеренный ASM файл.
Почтайте документацию на компилятор перед сном - очень помогает.

P.S.
А эту тему я закрываю. Ответ на основной вопрос дан исчерпывающий.
Все остальные вопросы пошли не по теме и на уровне ветки для начинающих - просьба туда их и постить.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Closed TopicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 11:15
Рейтинг@Mail.ru


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