SBB 0 7 января, 2011 Опубликовано 7 января, 2011 · Жалоба Подскажите, пожалуйста, нет ли таблицы команд процессора Cortex-M3, в которой указывалось бы время их выполнения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 7 января, 2011 Опубликовано 7 января, 2011 · Жалоба По ядру arm.com а вообще сколько ws Flash? Сколько ws RAM? Какая ширина данных Flash... и понеслось. Это уже НЕ AVR и иже с ним. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 7 января, 2011 Опубликовано 7 января, 2011 · Жалоба http://infocenter.arm.com/help/index.jsp?t...403c/index.html Типа, в человеком можешь ты не быть, но в гугле понимать обязан. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 7 января, 2011 Опубликовано 7 января, 2011 · Жалоба Так же работает метод тыка. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SBB 0 7 января, 2011 Опубликовано 7 января, 2011 · Жалоба Спасибо за подсказку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 8 января, 2011 Опубликовано 8 января, 2011 · Жалоба А зачем это Вам? Одной систмы команд мало, как уже сказано. Режим флеша, сочетание команд, работа шин... На stm32f103 str куда-то в APB2 inc r2 str куда-то в APB2 выполняются за то же время, что и str куда-то в APB2 str куда-то в APB2 Просто во втором случае вторая команда str ждёт готовности шины, а в первом -- нет, за такт команды инкремента шина освободилась (на запись, это ещё никаких чтений не замешалось :) ). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vallav 0 9 января, 2011 Опубликовано 9 января, 2011 · Жалоба http://infocenter.arm.com/help/index.jsp?t...403c/index.html Типа, в человеком можешь ты не быть, но в гугле понимать обязан. В этом времянки нет, она есть в http://infocenter.arm.com/help/topic/com.a...m3_r2p0_trm.pdf Почему то в последующих ревизиях этого документа времянку убрали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Deka 0 10 января, 2011 Опубликовано 10 января, 2011 · Жалоба А вот интересно, если 1Wire делать, то как посчитать? Или надо для конкретного сочетания кучи параметров делать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GetSmart 0 10 января, 2011 Опубликовано 10 января, 2011 · Жалоба Я считал по таймеру. Там задержки от 5 мкс и выше (если память не изменяет). По таймеру без прерываний. Просто считывая текущее состояние счётчика таймера в цикле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prottoss 0 10 января, 2011 Опубликовано 10 января, 2011 · Жалоба А вот интересно, если 1Wire делать, то как посчитать? Или надо для конкретного сочетания кучи параметров делать?1-ware можно сделать на штатном USART или использовать мост i2C<->1-Ware Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Deka 0 11 января, 2011 Опубликовано 11 января, 2011 · Жалоба Значит вывод такой, что просто по тактам программно протокол сделать довольно сложно. Нужно почти обязательно задействовать какое-либо аппаратное устройство. Оно может быть любым, лишь бы позволило сделать синхронизацию. Ок. Спасибо за пояснения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vallav 0 11 января, 2011 Опубликовано 11 января, 2011 · Жалоба Значит вывод такой, что просто по тактам программно протокол сделать довольно сложно. Нужно почти обязательно задействовать какое-либо аппаратное устройство. Оно может быть любым, лишь бы позволило сделать синхронизацию. Ок. Спасибо за пояснения. Да не, делаете цикл из трех команд и имеете задержку от 5 наносекунд до нескольких часов с шагом в n наносекунд. Чему равно n для данного проца - измеряете. Но если использовать аппаратное устройство, проц при этом можно занять чем то более интересным, чем декремент регистра в цикле. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
izerg 9 11 января, 2011 Опубликовано 11 января, 2011 · Жалоба Deka, весь вопрос в точности соблюдения времянок протокола. Если надо совсем-совсем точно - то запрещаете все ( прерывания) и по тактам выстраиваете протокол. Время исполнения протокола - любая ИДЕ покажет. Но если что-то нужно поменять - такая "пирамидка" рассыпается, и приходится ее строить заново. Если контроллер работает только с одним протоколом (устройством) - то такой подход понять можно, но если снаружи происходит еще несколько событий, на которые нужно реагировать - то в итоге вы их пропустите :) Обычно жертвуют одним аппаратным таймером. Он в прерывании отмеряет время кратное всем процессам. В алгоритме протокола - сравнивают текущее число сработок таймера и предыдущее, если настало время что-то делать - делаем, нет - дальше ожидаем. При этом процессор в состоянии реагировать на остальные внешние и внутренние раздражители. Небольшое "дрожание" времени в протоколе наблюдаться будет (например из-за заходы в прерывания), но это плата за то, что такая "пирамидка" не распадется при изменении кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться