|
ST ARM STR710x; CrossWorks, кто что скажет? |
|
|
|
Dec 22 2005, 13:51
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Посмотрел я на STR710 - хорошая штуковина! * 256K FLASH, 64K RAM * набор периферии внушительный - один HDLC чего стоит! * внешняя шина - хоть и не быстрая и 16 битная, но зато какой-нибудь АCEX 1K за 9$ поставил - и твори нестандартную периферию. * цена * доcтупность здесь на складах * дешевые (относительно) поделочные платы за 65$. * заявлена поддержка CrossWorks К процу ОЧЕНЬ нехилая библиотека софта в исходниках прилагается. Сама либа http://www.st.com/stonline/products/suppor...tr71xlibstd.zipМануал http://www.st.com/stonline/products/literature/um/10780.pdfВопросы. * что насчет глючности и несоответствия доке: - ремапер памяти - контроллер прерываний - он там прерывания не пропускает? - UART - I2C - SPI - таймера - HDLC * реальная скорость на 50 Мгц при выполнении из FLASH - ARM mode - THUMB mode * сколь хорошо камень поддержан CrossWorks (например, по сравнению с LPCxxx)? * общие впечатления от камня? Заранее спасибо всем ответившим.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 18)
|
Dec 22 2005, 18:18
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(DASM @ Dec 22 2005, 20:48)  OFF без обид Ну когда же наконец Евгений выберет САМЫЙ лучший проц на свете, с САМЫМ лучшим компилятором, отладчиком, осью и станет счастлив ?  Идеал не достижим. Задачи меняются. Меняются оптимальные платформы для них. Прогресс неудержим. Не хочется придерживаться старых решений только по принципу традиционности. Все просто. 1. Я могу схватить первое попавшееся под руку, что -то накодить, и сделать проект. Потом, для нового проекта, повторить цикл. 2. Но очень хочется экономть усилия, и максимально долго использовать наработанное. Посему ненулевую часть времени я уделяю поискам и попыткам разобраться в тех областях, которые мне пока не понятны. 3. Я отношусь к той категории людей, которые предпочитают "спуститься в долину, а потом ... все стадо".
|
|
|
|
|
Dec 22 2005, 18:33
|

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

|
Цитата(Evgeny_CD @ Dec 22 2005, 15:51)  Посмотрел я на STR710 - хорошая штуковина! .... * дешевые (относительно) поделочные платы за 65$. 1.Я тоже смотрю последние дни. В основном из-за HDLC. 2.По поводу плат - явки, пароли... ОЧЕНЬ интересуют. Надо брать и пробовать.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 22 2005, 21:04
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 14-02-05
Из: Болгария
Пользователь №: 2 641

|
STR712 запустил. Нет какие-то проблемы. Кажется недодумали контроллера прерывания ... Другие периферии не запускал. У меня интерес тоже на HDLC, но кажется бедноват.
Сделал проект Hello world (старт-ап / векторы) под гринхилс, могу послать если у кого-то хочется.
Собираюсь делать на STR710 + uclinux
|
|
|
|
|
Dec 22 2005, 22:18
|

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

|
[quote name='Evgeny_CD' date='Dec 22 2005, 20:49' post='73691'] Надо брать и пробовать.[/quote] http://www.terraelectronica.ru/ STR-P711 [/quote] С Olimex ясно - только 711, мне-бы хотелость CAN+HDLC (710 или 712) а USB без особой надобности. Но в принципе других вариантов не нашел :-( По ссылке, кстати, "временно отсутствует", что может означать все, что угодно. Хотя вроде официальные представители есть надежда, что действительно временно. Еще MT-System поминаетя в официальных распространителях, но они скорее всего непочешутся непрофильную плату заказывать. Ну вообще можно и прямо из Болгарии заказывать, только немного стремно... [quote name='DASM' date='Dec 22 2005, 21:22' post='73700'] неее.. мы со товарищи просто закажем на одной плате кучку всего, и под STR и под SAM7X и , может , ZigBee. 1300 р подготовка всего, и сколько удовольствия. Так что нам готового не надо =) [/quote] И насколько эти планы близки к началу осуществления? А готовое оно на первый раз все-таки предпочтительнее определенными гарантиями работоспособности. Есть шансы для посторонних получить готовое для экспериментов? [quote name='Balkana' date='Dec 22 2005, 23:04' post='73731'] 1.STR712 запустил. .... 2.У меня интерес тоже на HDLC, но кажется бедноват. .... 3.Сделал проект Hello world (старт-ап / векторы) под гринхилс, могу послать если у кого-то хочется. [/quote] 1. Откуда 712 плата? Готовую купить можно? 2. Для каких целей предполагается HDLC использовать? 3. Лично хотел-бы увидеть и "Hellо....".
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 22 2005, 22:18
|
Гуру
     
Группа: СуперМодераторы
Сообщений: 2 065
Регистрация: 11-01-05
Из: Москва
Пользователь №: 1 892

|
Цитата(Balkana @ Dec 23 2005, 00:04)  Кажется недодумали контроллера прерывания ... ...Собираюсь делать на STR710 + uclinux А что именно они там недодумали в контроллере прерывания? Звучит угрожающе... Насчет uClinux - думаю, медленный он там будет. 16 бит шина внешней памяти неторопливая. Хотя есть порт uClinux от самого ST. Луче уж eCOS портировать.
|
|
|
|
|
Dec 22 2005, 22:47
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 14-02-05
Из: Болгария
Пользователь №: 2 641

|
zltigo: >>1. Откуда 712 плата? Готовую купить можно? 712 пин-совместимый с 711; Схема олимекс-а изпользовал, сделал макетка >>2. Для каких целей предполагается HDLC использовать? HDLC - ето самый лучший способ передачи, когда нужен трансфер пакеты через синхронная серийная связь; Пример: передать ethernet пакетки через Е1 ... >>3. Лично хотел-бы увидеть и "Hellо....". Посылаю. (извините, недоделал, у меня была идейка сделать что то больше ... поетому называется led_blink  ) Evgeny_CD: >> что именно они там недодумали в контроллере прерывания? Звучит угрожающе... К сожалению, правда. Наи-плохой контроллер которой я касался. Что у меня не нравится: 1. Конфигурация, понятно, нужно сделать .. но у него пишеш инструкция в регистр; в прерывании он модифицирует инструкцию, надо читать инструкция дла выполнения с регистр. 2. Вышеописанны механизм не позволяет легко сделать переключения контекста ... (см. примера) >>Насчет uClinux - думаю, медленный он там будет. 16 бит шина внешней памяти неторопливая. >>Хотя есть порт uClinux от самого ST. Правда, но на мои требования - ето вполне достаточно ... Самсунгский S3C4530 более обещающий, жду информации доставимости ...
|
|
|
|
|
Dec 22 2005, 22:57
|

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

|
Цитата(Balkana @ Dec 23 2005, 00:47)  zltigo: >>1. Откуда 712 плата? Готовую купить можно? 712 пин-совместимый с 711; Схема олимекс-а изпользовал, сделал макетка >>2. Для каких целей предполагается HDLC использовать? HDLC - ето самый лучший способ передачи, когда нужен трансфер пакеты через синхронная серийная связь; Пример: передать ethernet пакетки через Е1 ... >>3. Лично хотел-бы увидеть и "Hellо....". Посылаю. (извините, недоделал, у меня была идейка сделать что то больше ... поетому называется led_blink  ) 1. Понятно, я собираюсь тоже на Olimpex заменить чип. 2. Мне тоже E1/E2, правда только один таймслот (64Kbit) 3.Спасибо.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 22 2005, 23:30
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 14-02-05
Из: Болгария
Пользователь №: 2 641

|
Цитата(zltigo @ Dec 23 2005, 00:57)  Цитата(Balkana @ Dec 23 2005, 00:47)  zltigo: >>1. Откуда 712 плата? Готовую купить можно? 712 пин-совместимый с 711; Схема олимекс-а изпользовал, сделал макетка >>2. Для каких целей предполагается HDLC использовать? HDLC - ето самый лучший способ передачи, когда нужен трансфер пакеты через синхронная серийная связь; Пример: передать ethernet пакетки через Е1 ... >>3. Лично хотел-бы увидеть и "Hellо....". Посылаю. (извините, недоделал, у меня была идейка сделать что то больше ... поетому называется led_blink  ) 1. Понятно, я собираюсь тоже на Olimpex заменить чип. 2. Мне тоже E1/E2, правда только один таймслот (64Kbit) 3.Спасибо. На 64Кбит у меня увереность что хватит ... понятно что ST делали HDLC для того - такт один, нет возможности выбирать акттивный фронт такта TX и RX канала; нет какой-то DMA - индикация что контроллер разчитан на низкая скорость.
|
|
|
|
|
Dec 27 2005, 20:50
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 30-06-04
Пользователь №: 223

|
работаю на STR712FR2T6 уже 1 год, уже 2000+ шт. (3 различные проекта), STR712 мне нравится. IRQ/FIQ нет проблема. HDLC я не пробовал.
|
|
|
|
|
Dec 27 2005, 22:49
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 14-02-05
Из: Болгария
Пользователь №: 2 641

|
Цитата(yosephcz @ Dec 27 2005, 22:50)  работаю на STR712FR2T6 уже 1 год, уже 2000+ шт. (3 различные проекта), STR712 мне нравится. IRQ/FIQ нет проблема. HDLC я не пробовал. Можно поделитесь код IRQ демултиплексора ? Или он стандартный как ST советует ?
|
|
|
|
|
Dec 28 2005, 15:59
|
Участник

Группа: Свой
Сообщений: 54
Регистрация: 30-06-04
Пользователь №: 223

|
Izvinite, ja budu pisat' po English, segodn'ja u menja net russkoj klaviatury:
First - Startup.s from CW:
.section .vectors, "ax" .code 32 .align 0 /***************************************************************************** * Exception Vectors * *****************************************************************************/ _vectors: ldr pc, [pc, #reset_handler_address - . - 8] /* reset */ ldr pc, [pc, #undef_handler_address - . - 8] /* undefined instruction */ ldr pc, [pc, #swi_handler_address - . - 8] /* swi handler */ ldr pc, [pc, #pabort_handler_address - . - 8] /* abort prefetch */ ldr pc, [pc, #dabort_handler_address - . - 8] /* abort data */ nop ldr pc, [pc, #-0x0808] //by yosephcz - EIC_IVR register ////ldr pc, [pc, #irq_handler_address - . - 8] /* irq */
ldr pc, [pc, #fiq_handler_address - . - 8] /* fiq */ ...
Second - you must properly configure EIC - for example:
#define SIR(n) (*(&EIC_SIR0 + n)) ... EIC_IVR = 0x40000000; ... SIR(ivector_) = priority_ | ((UINT32)pISRfce_ << 16); ... enable IRQ etc. ....
Where: A/ "((UINT32)pISRfunction_ << 16)" is lower 16bits of address of your ISR routine. "pISRfunction_" is pointer to your ISR routine. This 16bits will be filled in lower 16bits of EIC_IVR register when IRQ appears. Higher 16bits of EIC_IVR register is filled in my CPU init code "EIC_IVR = 0x40000000;". B/ priority_ is IRQ priority
ACTION: When IRQ appears, EIC_IVR is filled with address of your ISR routine and CPU jumps to the address which is filled in EIC_IVR register. EIC_IVR is filled automatically by CPU according to the active interrupt source. For more please see STR71x user manual - EIC (Enhanced Interrupt Controller).
Note: make sure that 0x40000000 is correct offset of your ISR routine. I have for example created flash memory section from 0x40002000, where my ISR routines are linked. I have theoretically 0xE000 Bytes for ISR code.
I think that this situation is much better on Philips LPC2xxx devices, where you can fill 32bit address of your ISR routine. On STR71x you can fill only 16bits and higher 16bits you must fill for ALL ISR functions to the EIC_IVR register = your ISR functions must be linked in 0xFFFF Bytes memory block (it means max. 64kB "only").
This mechanism is the fastest solution of IRQ handling. This mechanism is very similar to the LPC2xxx. Or you can do the other method whis is written in ST examples, but this mechanism is slower.
YOSEPHCZ
|
|
|
|
|
Dec 28 2005, 17:33
|
Участник

Группа: Новичок
Сообщений: 28
Регистрация: 14-02-05
Из: Болгария
Пользователь №: 2 641

|
Спасибо, yozephcz.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|