Лекция №4 в курсе "Основы программирования встраиваемых систем" (весна 2017). Преподаватель курса: Кирилл Владимирович Кринкин Страница лекции на сайте CS центра: goo.gl/XTMQzz Все лекции курса: • Лекция 1. Введение. Пр...
Подскажите пожалуйста, вы объяснили что делает команда ld1 r16, lo8 (RAMEND), ld1 r16, hi8 (RAMEND), а вот для чего это и, что это за значение константы lo8 (RAMEND),hi8 (RAMEND) , непонятно
Это команды инициализации стека (указывается адрес конца памяти), туда будут записываться разные числовые значения, которые нужны в процессе работы программы. Например при использовании команды "call" (вызов подпрограммы) в стек записывается текущий адрес, а потом, при окончании работы подпрограммы, следует команда "ret", и из стека извлекается адрес, где мы остановились в момент использования программы "call". Конкретно в примере из лекции в стек помещаются значения регистров r16-r18, чтобы их не потерять в процессе работы программы задержки, а потом командой "pop" снова возвращаются в регистры. Адрес стека 16ти битный, при том, что микроконтроллер 8ми битный, поэтому используются 2 байта адреса SPH (stack pointer high - старший байт) и SPL (stack pointer low - младший байт). Стек всегда начинается в самом конце памяти, адрес которой записан в константах "high(RAMEND)" и "low(RAMEND)" (RAMEND - Ram End) самого микроконтроллера AVR (не надо каждый раз искать эти адреса по даташитам на каждый контроллер). Есть условие - в AVR оба эти значения должны записываться одновременно, поэтому первая часть адреса самим микроконтроллером помещается во временный регистр, а при записи второй, одновременно с ней записывается из регистра и первая, поэтому очень важен порядок написания этих команд: сначала указывается SPH, потом SPL.
Не понимаю.. если за 1 такт частоты МК может выполнить 1 команду (ну скажем в 2 байта или 16 бит), то частота сигналов и генератора должна быть в 16 раз больше? Ведь в одно колебание можно подать только 1 цифровой сигнал (1 бит). Или это не так?
Не очень понятно, что ты имеешь в виду. За 1 такт генератора в электронной схеме может много всего произойти. Могу посоветовать "цифровой дизайн" Харрисов, там должен раскрываться этот вопрос.
Крутая лекция, я прям кайфанул. 👍 Осталось непонятным откуда взялось 12 млн. циклов, ff(256)*ff(256)*10(16) = (1048576). Циклов чего, тактов с кварца? И как выяснено время выполнения в секундах, эмпирически?
И причём тут ARM ? очепятка в названии а второе, я так и не понял зачем нужен асм для контролера.. только в целях оптимизации он годится, но обычно проще взять более крутой при проблемах с памятью. и про висячие контакты не надо.. пока к ним не обратишься они полностью виртуальные и на работу не влияют
ИСП им. Иванникова В.П. РАН . Арутюн Аветисян причастен к тяжкому преступлению. Заявление о возбуждении уголовного дела в СК РФ (коммент с 31:59 ) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-R42JOSPTink.html
Поздновато будет ! но отвечу ... Для команды Mov как и для других команд микропроцессора разные опкоды ...так и есть ! А почему ??! Да потому что разновидностей этой команды несколько !!!! Бездарь ..... смотри таблицу ..... Mov как для аккумулятора так и для других регистров ..... поэтому разные опкоды
Но ведь реально нихрена не понятно сухая теория причём поверхностная, похоже что препод кроме как помигать диодом больше ничего и не писал. Р. С самое страшное это попасть на платные курсы к такому преподу
Чел, если ты заплатишь за курсы приличные деньги, то в любом случае приложишь максимум усилий по выуживанию полезной информации. Для того, чтобы изучить нечто новое, нужно приложить определённые усилия (ведь новая информация не полезет в голову "самостоятельно", если не является предметом жгучего интереса). А чтобы приложить усилия, нужен специальный, сертифицированный _"волшебный пендель",_ и плата за обучение как раз является чем-то подобным! Плата за обучение пробуждает интерес и заставляет по-новому взглянуть на лекции, а также мотивирует к самостоятельному изучению дополнительных материалов.
@@deniskhakimov Вот там такие и сидят на видео с недопреподом который даже обозначения пинов на мк не знает. Мы заплатим и как это по руски будем терпилами.
@@Nyamchik-0_0 а ведь терпение - это одно из важнейших качеств, необходимых для достижения поставленных целей! Хм, если подумать, то с точки зрения среднестатистического _диванного иксперда,_ _"терпилами"_ являются такие выдающиеся представители рода человеческого, как Мухаммед Али, Майкл Фелпс или Арнольд Шварценеггер. Во всяком случае, их всех объединяет как минимум одна общая черта - для того, чтобы взобраться на вершину Олимпа, *они на протяжении многих лет терпели тяжёлые, почти невыносимые тренировки.* При этом они не искали оправданий для безделья и не пытались докопаться до малозначительных мелочей, как поступает большинство бездарей и _диванных икспердов_ (не буду показывать пальцем). >> _даже обозначения пинов на мк не знает_ Зачем запоминать столь малозначительную (в контексте главной темы курса лекций) информацию? Подобные вещи не запоминают, а находят на первых страницах даташитов в тот момент, когда они действительно нужны. Это как заставить _погромистов_ заучивать определения всех основных шаблонов проектирования. Хоть я их и выучил (причём на русском и английском языках), но могу подтвердить, что это абсолютно бесполезная в работе информация. Ты либо понимаешь, как работает та или иная система, либо нет. Если понимаешь => найдёшь способ её оптимизации, если же нет, то даже заученные определения тебе не помогут. Так вот, большая часть вменяемых студентов посещает подобные курсы не ради заученных определений, а для того, чтобы разбираться в вопросе и понимать, как всё устроено.