Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ST ARM STR710x; CrossWorks
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Evgeny_CD
Посмотрел я на 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)?

* общие впечатления от камня?

Заранее спасибо всем ответившим. cheers.gif
DASM
OFF без обид
Ну когда же наконец Евгений выберет САМЫЙ лучший проц на свете, с САМЫМ лучшим компилятором, отладчиком, осью и станет счастлив ?
Evgeny_CD
Цитата(DASM @ Dec 22 2005, 20:48) *
OFF без обид
Ну когда же наконец Евгений выберет САМЫЙ лучший проц на свете, с САМЫМ лучшим компилятором, отладчиком, осью и станет счастлив ?
cheers.gif Идеал не достижим.

Задачи меняются. Меняются оптимальные платформы для них.

Прогресс неудержим. Не хочется придерживаться старых решений только по принципу традиционности.

Все просто.

1. Я могу схватить первое попавшееся под руку, что -то накодить, и сделать проект. Потом, для нового проекта, повторить цикл.

2. Но очень хочется экономть усилия, и максимально долго использовать наработанное. Посему ненулевую часть времени я уделяю поискам и попыткам разобраться в тех областях, которые мне пока не понятны.

3. Я отношусь к той категории людей, которые предпочитают "спуститься в долину, а потом ... все стадо".
zltigo
Цитата(Evgeny_CD @ Dec 22 2005, 15:51) *
Посмотрел я на STR710 - хорошая штуковина!
....
* дешевые (относительно) поделочные платы за 65$.

1.Я тоже смотрю последние дни. В основном из-за HDLC.
2.По поводу плат - явки, пароли... ОЧЕНЬ интересуют.
Надо брать и пробовать.
Evgeny_CD
Цитата(zltigo @ Dec 22 2005, 21:33) *
2.По поводу плат - явки, пароли... ОЧЕНЬ интересуют.
Надо брать и пробовать.
http://www.terraelectronica.ru/ STR-P711
Конечно, пробовать. Но вначале хочется чуть-чуть узнать, что другие "напробовали". biggrin.gif

http://groups.yahoo.com/group/lpc2000/message/11667 - интересное сообщение.
DASM
ви будете смеятся, но я тоже STR буду пробовать =))))
Evgeny_CD
Цитата(DASM @ Dec 22 2005, 21:54) *
ви будете смеятся, но я тоже STR буду пробовать =))))
biggrin.gif Ну вот, щас все платы растащат.
DASM
неее.. мы со товарищи просто закажем на одной плате кучку всего, и под STR и под SAM7X и , может , ZigBee. 1300 р подготовка всего, и сколько удовольствия. Так что нам готового не надо =)
Balkana
STR712 запустил.
Нет какие-то проблемы.
Кажется недодумали контроллера прерывания ...
Другие периферии не запускал.
У меня интерес тоже на HDLC, но кажется бедноват.

Сделал проект Hello world (старт-ап / векторы) под гринхилс, могу послать если у кого-то хочется.

Собираюсь делать на STR710 + uclinux
zltigo
[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о....".
Evgeny_CD
Цитата(Balkana @ Dec 23 2005, 00:04) *
Кажется недодумали контроллера прерывания ...
...Собираюсь делать на STR710 + uclinux
А что именно они там недодумали в контроллере прерывания? Звучит угрожающе...
Насчет uClinux - думаю, медленный он там будет. 16 бит шина внешней памяти неторопливая.
Хотя есть порт uClinux от самого ST.

Луче уж eCOS портировать.
Balkana
zltigo:
>>1. Откуда 712 плата? Готовую купить можно?
712 пин-совместимый с 711; Схема олимекс-а изпользовал, сделал макетка
>>2. Для каких целей предполагается HDLC использовать?
HDLC - ето самый лучший способ передачи, когда нужен трансфер пакеты через синхронная серийная связь; Пример: передать ethernet пакетки через Е1 ...
>>3. Лично хотел-бы увидеть и "Hellо....".
Посылаю. (извините, недоделал, у меня была идейка сделать что то больше ... поетому называется led_blink smile.gif )

Evgeny_CD:
>> что именно они там недодумали в контроллере прерывания? Звучит угрожающе...
К сожалению, правда. Наи-плохой контроллер которой я касался.
Что у меня не нравится:
1. Конфигурация, понятно, нужно сделать .. но у него пишеш инструкция в регистр; в прерывании он модифицирует инструкцию, надо читать инструкция дла выполнения с регистр.
2. Вышеописанны механизм не позволяет легко сделать переключения контекста ... (см. примера)

>>Насчет uClinux - думаю, медленный он там будет. 16 бит шина внешней памяти неторопливая.
>>Хотя есть порт uClinux от самого ST.
Правда, но на мои требования - ето вполне достаточно ...
Самсунгский S3C4530 более обещающий, жду информации доставимости ...
zltigo
Цитата(Balkana @ Dec 23 2005, 00:47) *
zltigo:
>>1. Откуда 712 плата? Готовую купить можно?
712 пин-совместимый с 711; Схема олимекс-а изпользовал, сделал макетка
>>2. Для каких целей предполагается HDLC использовать?
HDLC - ето самый лучший способ передачи, когда нужен трансфер пакеты через синхронная серийная связь; Пример: передать ethernet пакетки через Е1 ...
>>3. Лично хотел-бы увидеть и "Hellо....".
Посылаю. (извините, недоделал, у меня была идейка сделать что то больше ... поетому называется led_blink smile.gif )

1. Понятно, я собираюсь тоже на Olimpex заменить чип.
2. Мне тоже E1/E2, правда только один таймслот (64Kbit)
3.Спасибо.
Balkana
Цитата(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 smile.gif )

1. Понятно, я собираюсь тоже на Olimpex заменить чип.
2. Мне тоже E1/E2, правда только один таймслот (64Kbit)
3.Спасибо.


На 64Кбит у меня увереность что хватит ... понятно что ST делали HDLC для того - такт один, нет возможности выбирать акттивный фронт такта TX и RX канала; нет какой-то DMA - индикация что контроллер разчитан на низкая скорость.
Evgeny_CD
Цитата(Balkana @ Dec 23 2005, 01:47) *
К сожалению, правда. Наи-плохой контроллер которой я касался.
Что у меня не нравится:
1. Конфигурация, понятно, нужно сделать .. но у него пишеш инструкция в регистр; в прерывании он модифицирует инструкцию, надо читать инструкция дла выполнения с регистр.
2. Вышеописанны механизм не позволяет легко сделать переключения контекста ... (см. примера)
wacko.gif Впечатляет! На этот счет есть апликуха
Interrupt handling for STR7 microcontrollers
http://www.st.com/stonline/products/literature/an/10334.pdf
yosephcz
работаю на STR712FR2T6 уже 1 год, уже 2000+ шт. (3 различные проекта), STR712 мне нравится. IRQ/FIQ нет проблема. HDLC я не пробовал.
Balkana
Цитата(yosephcz @ Dec 27 2005, 22:50) *
работаю на STR712FR2T6 уже 1 год, уже 2000+ шт. (3 различные проекта), STR712 мне нравится. IRQ/FIQ нет проблема. HDLC я не пробовал.


Можно поделитесь код IRQ демултиплексора ? Или он стандартный как ST советует ?
yosephcz
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
Balkana
Спасибо, yozephcz.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.