CrazyAlex
Свой-
Постов
55 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о CrazyAlex
-
Звание
Участник
- День рождения 31.01.1980
Контакты
-
Сайт
Array
-
ICQ
Array
Информация
-
Город
Array
Посетители профиля
1 281 просмотр профиля
-
Господа знающие, вопрос все еще актуален. Помогите, плиз, чем можете...
-
как правильно сконфигурировать dma применительно к p2p
CrazyAlex опубликовал тема в ARM, 32bit
Не хватает соображалки, чтобы правильно сконфигурировать контроллер dma и периферию, чтобы скопировать 512 байт из SSP0 (spi ) в MCI (sd-card) через DMA. Смысл всего этого такой: На SD карту нужно писать лог. Не быстро и небольшими порциями. Для минимизации операций записи стоит FRAM на SPI, т.е. лог пишется во фрам, накопилось 512 байт - переписываем их на карту. Именно внешняя память, а не буфер в памяти, для того чтобы не потерять данные при потере питания. читать/писать в SSP через DMA умею. читать/писать в MCI через DMA умею. а вот как соеденить вместе, не могу сообразить. работать через две операции не хотелось бы... Покажите, плиз, кусок кода на эту тему или ответьте на вопросы: 1. Кого правильнее назначить FlowControl'ом? 2. Нужно ли выставлять биты Enable в MCI_DATA_CTRL и SSP0DMACR и в каком порядке? 3. Как правильнее отследить завершение транзакции (по чьему прерыванию: dma, mci или ssp)? -
Спасибо огромное всем кто откликнулся. Напомнили мне пару вещей, которые надо бы использовать в программах. Я в свою очередь с"катализировал" работу мысли у народа. :) А ларчик открывался просто: глючный (полуубитый) преобразователь 232-485 от ADAM. поставил новый такой же и все стало ОК. Еще раз всем спасибо.
-
Спасибо всем за участие, попробую ответить, может натолкнет на что-то еще. to Dog Pawlowa Проверял терминалкой, в порт уходит нужное число байт. Смотрел, все остается как было, ничего не портится. to Александр Куличок Передача по TXint (по опустошению ВСЕХ регистров, участвующих в передаче) осуществляется столько раз сколько записано в UDR, т.е. после записи последнего байта, прерывание вызовется последний раз, и поскольку больше обращения к UDR не было, то и прерывание больше не возникнет. В readhr1 и sethr1 осуществляется первая запись в UDR которая и вызывает первое прерывание Uart1TXint(). to Laksus Ноги такой работы с уартом растут из моего опыта работы с 51. Хотя изначально в Меге я использовал прерывание по UDRE, мне не понравилось. что надо разрешать/запрещать прерывания и я "ушел" на TXC. Мне лично оно кажется более логичным. Пробовал, не помогает. Мысль интересная,попробую проверить. В общем то, расчет был на то что кто-нибудь сталкивался с подобным. Дело в том что ImageCraft трудно отнести к нормальным компиляторам :-), но за неимением гербовой... А эту структуру они сами настоятельно рекомендуют использовать. В модбасе сначала идет младший байт срс, а потом старший. Не помню как это правильно называется, навскидку вспоминается "экспоненциальное слаживание" и "скользящее среднее". В данном случае получается усреднение по 256 выборкам (почти среднее, математики оспорят, но меня устраивает). Еще раз хочу обратить внимание, что на все запросы чтения ответ идет правильный, и на отдельные запросы записи тоже. Битые ответы, идут на строго фиксированные запросы, т.е. на 511 - все ок, на 512 - битый. и еще на некоторые другие запросы (78, 1101).
-
Думаю что ждать его будет мега. Если помотреть исходники, то видно, что все это в прерывании. Но все равно спасибо за участие.
-
не могу понять в чем дело: устройство: Мега->485->Adam->PC софт: iccAVR6.31a, AVRstudio, jtag ice mk2 (не совсем софт), на PC самописный модбас-мастер (проверен временем), а также терминалка. протокол модбас RTU, чтение регистров (03) идет на ура, запись (06) в регистр значение 511 - все отвечает правильно. запись значения 512 - вместо ответа какая-то хрень, число байт хрени совпадает с числом байт в ответе. причем эта самая хрень каждый раз разная. хотя запрос один и тот же. смотрю в авр студии. пакет приходит, регистр меняется на нужное значение, формируется в буферном массиве frame1 ответ (правильный ответ). Портится на этапе UDR1=frame1[0], UDR1=frame1[outbytecnt]. т.е. в UDR1 или пишется что-то не то, или в нем самом портится..., т.е. PC принимает совсем не то что я записываю в UDR. Если поставить точку останова на UDR1=frame1[0], и потом по шагам, то все отвечает нормально. Исходники прилагаю. Уже мозг сломал. Подскажите кто-нибудь где копать??? m64uart.ZIP
-
Спасибо за помощь. Натолкнула на мысль фраза о повторных граблях. Уже было такое очень давно, поэтому забыл. В разделе настроек препроцессора нужно было добавить VECTORED_IRQ_INTERRUPTS. Блин!!!
-
dac.zipПлата olimex H2138, софт Rowley CrossStudio 1.6 build 3, использую wiggler или mt-link. Проект изначально взят с 2214. на нем работал. Проверил настройки, вроде все соответствует 2138. Пытаюсь запустить на 2138 - вылетаю в dabort_handler или в irq_handler или в reset_wait Выглядит это примерно так. Ставлю точку останова в прервании таймера, тогда при отладке по шагам ходит по кругу: -> прерывание //((CTL_ISR_FN_t)VICVectAddr)(); ldr r4, =0xFFFFF030 ldr r3, [r4] mov lr, pc bx r3 -> прерывание Если точку останова убираю, запускаю, приостанавливаю - стоит на dabort_handler Гляньте, кому не сложно, плиз. Подскажите где я не прав. Или приветствуется работающий пример...
-
Ramtron FM31256
CrazyAlex опубликовал тема в Все остальные микроконтроллеры
Впервые применили данный девайс. С памятью работаю нормально, а часы упорно не поддаются. На одном устройстве часы шли в 3 раза быстрее и в регистрах часов была чушь (например в регистре 02h были числа типа 0x2f). На втором устройстве часы вообще не тикают. На первом осцилографом не смотрел (не было), на втором с частотой все нормально. Может кто сталкивался помогите, плиз. в архиве мои исходники. проц - cygnal 020 I2C.zip -
Особо по надежности ничего сказать не могу-выборка мала, но: Результаты: Партия из 10 устройств (F124) работает 1 год без какого либа участия человека. Никаких нареканий нет. Условия работы не слишком приятные: питание так себе, помехи. Правда из периферии используются только оба уарта и все (работает как конвертер протоколов). Впечатления: Очень приятно работать. Единственно на что стоит обратить внимание, это на переключение страниц. Несколько раз наступал на эти грабли, пока не привык.
-
Программатор для х51
CrazyAlex ответил kurtis тема в Все остальные микроконтроллеры
Имеет смысл посмотреть на кристаллы серии AT89C51RC2/RD2/ED2. Они несколько подороже, но побогаче начинка и программируются через последовательный порт. Нужно только скачать Flip с сайта Atmel и спаять шнур, 3 провода и две перемычки. Работали с ними - достаточно приятно. -
Странно. Можно поподробнее? Что говорит студия? Как ведут себя другие программы (любая терминалка)? Драйвера стоят? У меня студия работает с JtagICE через усб<->RS232 на ком5. Не вижу принципиальной разницы с вашей ситуацией.
-
LCD GSM
CrazyAlex ответил tonjo тема в RF & Microwave Design
Раз уж возникла такая тема, может кто подскажет... Есть желание поработать с телефоном Sony J-Х. Там на борту кристалл на базе ARM7, народ под него пишет программы, но под родной "осью". Хотелось бы написать с нуля, причем нужны не телефонные функции, а дисплей, клавиатура, ком-порт. Соответственно нужна пр. схема. Может кто подскажет ссылки или любую другую информацию? -
Объем памяти и Windows 98
CrazyAlex ответил bve тема в Операционные системы
Не сталкивался ни разу. на одной машине 2х256, на другой 4х256. На обе 98 встает из под ДОСа без всяких вопросов, ну и работает соответственно тоже без вопросов (задачи: оцифровка и кодирование видео). Только не проверял модули обьемом больше 256, с ними могут быть проблемы, хотя интуиция подсказывает, что не должно быть. -
Вышел в свет кейл 2.20 для ARM. >Keil CARM Version 2.20 is now available. This update adds support for function >inlining and cross function inlining. The linker removes unused >functions. Compiler warnings are enhanced and several minor problems are >corrected. Список изменений во вложении. Качать как обычно с http://www.keil.com/demo/eval/arm.htm P.S. Ставится поверх 2.11 без вопросов. P.P.S. Там же: ARTX-ARM Version 1.01 Update Version 1.01 of the ARTX Advanced RTOS for ARM is now available. This update includes TCP/IP support and new configurations for LPC2000, AT91SAM7Sxx, STR71x, and ADuC702x devices. The kernel-aware debugging dialog has been enhanced with accurate Stack Load display. what_new.zip