|
STR91x - поделитесь впечатлениями |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
Sep 7 2006, 09:21
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 4-08-05
Из: г. Саратов
Пользователь №: 7 351

|
Цитата(VAI @ Sep 7 2006, 12:34)  Спасибо, но это я уже видел. Мне хочется большего  , так сказать "личных впечатлений" от общения с этими камнями: как ведёт себя периферия, есть ли какие ошибки (ерату я уже смотрел), ну т.д. и т.п. Попутно еще вопрос: кто у нас (в России) этим реально торгует. Просто я делал поиск поставщиков и результаты очень меня расстроили  . Практически ноль.
|
|
|
|
|
Sep 8 2006, 12:51
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ek74 @ Sep 7 2006, 12:51)  Цитата(VAI @ Sep 7 2006, 12:34)  Спасибо, но это я уже видел. Мне хочется большего  , так сказать "личных впечатлений" от общения с этими камнями: как ведёт себя периферия, есть ли какие ошибки (ерату я уже смотрел), ну т.д. и т.п. Попутно еще вопрос: кто у нас (в России) этим реально торгует. Просто я делал поиск поставщиков и результаты очень меня расстроили  . Практически ноль. Все еще не протестировал, но проблем подозрительно много. Ошибки в документации, например, неправильно указан формат записи в регистры адресов банков Flash. Кривизна - таймеры сбрасываются не в 0, а в 0xFFFC Глюки - при выборе тактирования от PLL 96 МГц ULink почему-то делает ошибку при флешировании ячеек с 0x0000 по 0x0003. В других режимах шьет нормально. Скрытая информация - например, в startupe KEIL есть следы установки регистра конфигурирования Flash, но только следы потому что непосредственой команды записи нет. В доке же говорится, что регистр доступен только по JTAG. Это напоминает ситуацию с LPC и предсказывает еще много чудных глюков.
|
|
|
|
|
Sep 8 2006, 13:36
|
Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 4-08-05
Из: г. Саратов
Пользователь №: 7 351

|
Цитата(AlexandrY @ Sep 8 2006, 16:51)  Все еще не протестировал, но проблем подозрительно много. Понял, спасибо. Получается, что пока нет смысла их использовать. Обидно, уж больно "вкусный" камушек.
|
|
|
|
|
Sep 9 2006, 05:02
|
Участник

Группа: Свой
Сообщений: 51
Регистрация: 20-07-04
Пользователь №: 342

|
Я работаю с STR912 но думаю что впечатления будут справедливы и для вашего случая. Общее впечатление об контроллере: периферию делали програмисты, уж очень непривычно (мягко сказано) она выглядит. Кофигурирование портов разбросано по разным местам, но всё вроде работает. UART - FIFO прерывания сделаны криво -послав один байт вы никогда не дождётессь прерывания по передаче, один вектор прерывания на передачу и приём что не совсем удобно. В результате работаю без FIFO это оказалось проще чем дополнительно контролировать длину пакета. PLL работает, нареканий не вызвал. Таймер убогий нет даже автоперезагрузки, что существенно ограничивает его возможности. SPI -вроде бы работает, протестировал не доконца. Общее впечатление - работать можно несмотря на некоторую кособокость. Впечатления о средствах разработки: Кеил не показывает периферию, такое впечатление что лекарство помогает не до конца. Сижу на кейле из за ULINK. Виглер подключить не удалось.
|
|
|
|
|
Sep 9 2006, 10:36
|

Местный
  
Группа: Свой
Сообщений: 290
Регистрация: 27-06-05
Из: Киев
Пользователь №: 6 345

|
Цитата(AlexandrY @ Sep 9 2006, 13:31)  Цитата(КонстантинТ @ Sep 9 2006, 13:23)  Подняли на нем USB и сетку (плата своя, два слоя). TCP/IP стек - LWIP. На внешнюю шину подключили 512 SRAM,. Полет нормальный. Мелкая серия покажет надежность кристалла в работе (у ST обычно с этим нареканий нет). Вигглер работает без проблем в CW1.5 . Сделали свои map файлы, переписали лоадер, добавили его в визард. Поменял GCC на 4.1. Смысла переползать на другие компилеры не вижу. Библиотеки используем стандартные.
А на какой частоте запустили внутреннюю FLASH? У меня не получается сделать рестарт на 96 МГц, виснет. А зачем лоадер переписывали, и разве есть где исходники оригинального чтобы можно было переписать? 96 МГц и два вайтстейта. Переписали стандартный лоадер, входящий в комплект CW1.5.
--------------------
Если в сердце дверь закрыта - надо в печень постучать..
|
|
|
|
|
Sep 11 2006, 14:05
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ek74 @ Sep 11 2006, 10:40)  А АЦП у них кто-нибудь проверял, как оно работает и соответствует ли документации (Throughput Rate fADC = 25 MHz 1400 ksps) АЦП мне понравился. Работает надежно. Разгонял STR912FW44 до 133 Мгц, делал предделитель у АЦП = 1 т.е. подавал все 133 Мгц, а он продолжал работать как ни в чем не бывало. Только показания ушли где-то на пол бита по сравнению с показаниями на 25 МГц. Измерял среднее и среднеквадратическое на 1000 отсчетов. Линейность АЦП я не проверял, но оверсамплингом легко можно добиться 4-х стоячих десятичных разрядов на середине шкалы (1.5 В). Среднеквадратическое на 1000 отсчетов на всем диапазоне входных напряжения не превышало 0.25 бита Проверял на переменном резисторе 10К на eval плате от ST. Ревизия кристалла - D
|
|
|
|
|
Sep 12 2006, 04:07
|
Участник

Группа: Свой
Сообщений: 51
Регистрация: 20-07-04
Пользователь №: 342

|
Ulink нормально работает на 96MHz, единствунный ньюанс, при первом включении компютера не находит его и приходится каждый раз передёргивать USB разьём. Тайминги все стоят по умолчанию я их не трогал. KEIL версии 3.02, с 3.00 будет виснуть.
|
|
|
|
|
Sep 12 2006, 16:09
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(ek74 @ Sep 12 2006, 12:08)  Ещё вопрос, вернее проясните ситуацию с таймерами.
To AlexandrY: Вы пишите таймеры сбрасываются не в 0, а в 0xFFFC, т.е. имеется в виду вот это - Writing in the TIM_CNTR register resets the free running counter to the FFFCh value (STR91xF reference manual, стр. 126). Судя по тому, что регистр TIM_CNTR доступен только на чтение, запись в него любого значения приводит к сбросу регистра счёта в состояние 0xFFFC. Я правильно понял? Да именно так, записываю туда че нить, а он сбрасывается в 0xFFFC. Немного неудобно. В фирменной библиотеке туда пишут 0x1234 почему-то. Я писал 0 - тот же эффект. Отсутствие автоперегрузки (наверно произвольным значением имелось в виду) счетчика таймера не такой уж и сильный недостаток, compare логика и четыре блока таймеров вполне позволяет его приодолеть для формирования произвольных временных интервалов. Но счетчики 16-и разрядные, вот это неудобство. Зато есть источник тактирования от RTC независимый от тактовой ядра с периодом тиков очень удобным при портировании RTOS. Еще ценное свойство - остановка периферии и счетчиков в том числе при захвате ядра JTAG-ом. Такого ни у кого из uC на ARM-ах еще не видел. Вообщем, по периферии, по моему, паритет с конкурентами.
|
|
|
|
|
Sep 12 2006, 18:31
|
Местный
  
Группа: Свой
Сообщений: 251
Регистрация: 23-06-04
Пользователь №: 154

|
Цитата(AlexandrY @ Sep 12 2006, 19:09)  Еще ценное свойство - остановка периферии и счетчиков в том числе при захвате ядра JTAG-ом. Такого ни у кого из uC на ARM-ах еще не видел. Netsilicon NS9xxx тоже это умеет.
|
|
|
|
|
Sep 29 2006, 08:58
|
Профессионал
    
Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387

|
Цитата(zltigo @ Sep 28 2006, 23:29)  Цитата(sensor_ua @ Sep 28 2006, 21:52)  Отказался от LPC2138 - нужно хранящееся от батарейки SRAM
LPC23xx уже в прайслистах появились, скоро и живьем появятся - это к вопросу о SRAM с батарейкой. Спасибо, смотрел уже. Там только 2К от батарейки можно держать. Неплохо, конечно, но мне нужно больше 32К. Как вариант делал "мюнхаузеновскую схему" горячей отключаемой подпитки LPC2138 от батарейки и на один из SPI вешал FRAM для перегрузки содержимого ОЗУ перед отключением. В принципе могло бы и устроить, но аккуратности с программой требуется побольше, чем у наших программистов;(
--------------------
aka Vit
|
|
|
|
|
Oct 11 2006, 04:39
|
Участник

Группа: Свой
Сообщений: 51
Регистрация: 20-07-04
Пользователь №: 342

|
Проблема с прерываниями Имеется контроллер STR912FW44X6 ревизия D код 610. Одновременно работают таймер TIM3, АЦП и UART1. Таймер и ацп заведены на VIC0, UART1 подключён к VIC1.Обработчики прерываний написаны на С Кеil_3.02. При интенсивном обмене по UART1, на скорости 115200 выкачивается содержимое ОЗУ, происходит вылет программы на нулевой адрес в режиме IRQ. По отдельности всё работает. Перенос UART1 на FIQ нечего не дал. Иследования показали что дело скорее всего в арбитраже между VIC0 и VIC1. Чтото похожее описывается в ерате: "2.1 VIC interrupt controller wrong vector fetch."Хотелось бы услышать мнение общества: кто нибудь сталкивался с подобной проблемой или первопричина в кривизне моей программы.
|
|
|
|
|
Feb 5 2008, 14:27
|
Группа: Новичок
Сообщений: 9
Регистрация: 29-03-07
Пользователь №: 26 595

|
Цитата(SGP @ Oct 11 2006, 07:39)  Проблема с прерываниями Та же ерунда и у меня! Когда использую прерывания одного контроллера - всё нормально, если задействую оба - вылетает. Эта проблема уже почти год обсуждается в форуме ST (английский). Одни говорят, что в новых ревизиях этой проблемы уже нет. Другие снова обнаруживают... Может проблема уже решена?
|
|
|
|
|
Feb 5 2008, 15:18
|
Местный
  
Группа: Участник
Сообщений: 273
Регистрация: 3-11-05
Пользователь №: 10 442

|
Цитата(Andy_ry @ Feb 5 2008, 16:27)  Та же ерунда и у меня! Когда использую прерывания одного контроллера - всё нормально, если задействую оба - вылетает. Эта проблема уже почти год обсуждается в форуме ST (английский). Одни говорят, что в новых ревизиях этой проблемы уже нет. Другие снова обнаруживают... Может проблема уже решена? Меня както просвещал AlexandrY: Цитата 1. Обязательно считывать вектора из обоих VIC во время прерывания, а то зависнет VIC. А прога будет крутиться дальше.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|