|
Можно ли код откомпилированный под ARM7TDMI-S использовать в ARM720T |
|
|
|
Aug 25 2007, 10:07
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

|
Цитата(Beginning @ Aug 24 2007, 23:31)  Если какие особенности при компиляции именно под это ядро? Там наверняка должен быть какой нибудь рекомендованный стартап файл.
|
|
|
|
|
Aug 25 2007, 15:02
|

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

|
Согласен, компилятор всё равно какой, просто, когда привыкни к хорошему (Keil) с его супер возможностями, да хотя бы возможность писать свои отладочные функции, а потом садишься на то что, тебе ужасно не нравится, то начинаешь, и соринки в глазах замечать.
--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
|
|
|
|
|
Aug 25 2007, 15:34
|

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

|
Цитата(Beginning @ Aug 25 2007, 18:02)  Согласен, компилятор всё равно какой, просто, когда привыкни к хорошему (Keil) с его супер возможностями Keil безусловно хороший. Для некоторых ядер, пожалуй, максимально хороший. Но в общем ничем 'супер' не выдающийся среди группы других. Кроме того, жизнь течет, все меняется - лидеры не вечны. Осмотритесь вокруг.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 25 2007, 16:16
|
Местный
  
Группа: Свой
Сообщений: 433
Регистрация: 28-02-06
Пользователь №: 14 788

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

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

|
Цитата(Beginning @ Aug 25 2007, 19:08)  А что есть выбор? Keil(который RVCT ), IAR, GCC - это вполне очевидный и уже достаточный выбор. Rowley можо, пожалуй. Остальные предположительно заметно послабее. Цитата Чем я ещё могу воспользоватся для написания кода Начните с IAR 5.10  , поскольку Keil не прогнозируем для данного применения. Цитата(Beginning @ Aug 25 2007, 19:08)  Только чтобы это не было как в том анекдоте, когда гинеколог двигатель, через выхлопную трубу перебирал. Кажется слышал, а причем тут он? Простите, проблема была в Гинекологе, а не в инстументарии.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 25 2007, 18:41
|

Гуру
     
Группа: Свой
Сообщений: 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  , "проектов" и принципиально другого формата выходных файлов и линкера. В целом это большой шаг к стандартизации компиляторов. P.S. Веточка по 5.10 на форуме была.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Aug 26 2007, 15:28
|

Знающий
   
Группа: Свой
Сообщений: 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
--------------------
Если хочешь вбить гвоздь, не ищи обходных путей, просто бери молоток и бей по этому чёртовому гвоздю!
|
|
|
|
|
Aug 26 2007, 18:52
|
Местный
  
Группа: Свой
Сообщений: 231
Регистрация: 7-12-06
Из: Киев
Пользователь №: 23 248

|
Основные различия между ARM7TDMI и ARM720T: - наличие встроенного сопроцессора MMU (memory management unit), наличие кеша и буфера записи. - у ARM720T существуют дополнительные команды для работы с сопроцессорами MCR и MRC. Когда MMU не включен (а он такой после сброса) ARM720T-ый камень это чистой воды ARM7TDMI. "Послекейловские" программы работают на ура! На сколько мне известно MMU это та штука, которая необходима для Linux и Windows CE. На ARM720T можно запустить Windows CE. Сам вплотную работаю с Cirrus Logic EP7312 и использую MMU. Ну очччень полезная штука!!! С его помощью можно легко "перекроить" карту памяти и "сшить" так как тебе надо. Супер-инструмент для реализации мультипотокового проекта, где каждый поток это типичная программа для ARM7. С сопроцессором работаю на асме.
|
|
|
|
|
Aug 29 2007, 12:24
|

Гуру
     
Группа: Свой
Сообщений: 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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|