Перейти к содержанию
    

Bill

Участник
  • Постов

    413
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Bill


  1. Вот такой вопрос, в своих проектах для проца BlackFin

    я мог разместить свои функции и любые переменные или во FLASH

    или в RAM

     

    Есть ли возможноть такое делать в армовских компиляторах: IAR

    Да и есть ли возможность сделать это в компиляторе arm-none-eabi-gcc.exe ?

    Спасибо.

    Можно! Все указано в руководстве по компилятору.
  2. Не определен тип процессора.

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

    А DSP должны иметь специальный флаг переполнения (у ADSP-21XX это AV,MV). При этом если AV=1 и нет переноса, то переполнение в положительную сторону, есть перенос - в отрицательную. Там же реализован и режим насыщения (автоматическая замена результата максимальным по модулю числом при возникновении переполнения).

    На самом деле большинство универсальных процессоров аппаратно определяет возникновение переполнения.

  3. и юристы они никакие, и психологи, и экономисты )))

    я ж и говорю: Для корочек

    Еду в электричке, напротив один из моих бывших кружковцев. О, как дела, как сам-то?

    а вот документы подавал в ВУЗ

    Куда, электроника?

    не, там сложно, на (могу ошибиться - в шоке был) экономиста (Или юриста)

    я: НАФИГА?!

    он: а там учиться проще. Знакомые сказали: плати преподам и спи спокойно

    Занавес.

    и это был не самый глупый из ребят

     

    ps

    самое главное не написал:

    я: А как же твой интерес и прочее?

    он: А куда я пойду работать? завод у нас один, там электронщик не надо. Второй - только за 70 км, на электричке мотаться 1.5 часа, в 5 утра подъём, в 8 вечера - дома. Сейчас работаю электриком + принеси-подай.

    Я: а диплом тогда зачем?

    он: мамка хочет, вдруг пригодится...

    Вот, вот. А мы тут про микроконтроллеры: этот древний, тот современный...

    Не в МК тут дело. Так получилось, что я ежегодно наблюдаю за ходом работы приемной комиссии. Интересная картина складывается. Было время, когда выпускни школ приходил поступать в вуз самостоятельно, редко кого с родителями увидишь. Потом появление абитуриента с родителями стало правилом. А сейчас создается впечатление, что не абитуриенты с родителями приходят, а родители приводят своих детей в вуз. Точно так же они приводили своих детей в детский, потом в школу в первый класс. Сейчас вот в вуз. Интересно, а после вуза они их на работу тоже будут приводить?

  4. Не имею ни малейшего представления.

    Но ведь РВВ как то инициализируют, и не всегда нулями.

    Почему бы и РОН не проинитить?

    Так портов сравнительно немного, да и реализуются они иначе, нежели остальные ячейки памяти. У каждого регистра порта В/В имеются цепи установки/сброса. А оперативная память состоит из сотен ячеек, и к каждой цепи инициализации не подведешь. РОН являются частью ОЗУ, со всеми вытекающими отсюда последствиями.

  5. Менталитет не позволяет, увы.

    Если что-то плохо лежит, это надо украсть.

    Если на работе есть возможность сфилонить — обязательно надо ею воспользоваться.

    Если жизнь скатилась на дно, нужно побольше наливать...

    А чей менталитет, интересно? Лично ваш?

  6. Универы нужны: в них учат самому главному — 1) создавать видимость бурной деятельности, на деле нихрена не делая ("учить летать" птичек, доставать всякую хрень из-под воды, обещать, что все будет хорошо, а в реальности вообще ничего не делать), 2) подгонять результаты (задачка: как на мост стоимостью 3млн рублей списать 1млрд?), 3) в сложных ситуациях уметь самостоятельно найти нужную информацию (нагуглить образцы отчетной документации по п.2 и выдать за свои, совершенно не редактируя).

    Но это же самообман. Студенгты делают вид, что учатся, преподаватели делают вид, что учат, государство делает вид, что платит зарплату, а мы все делаем вид, что живем. Но, может, хватит делать вид и начать все делать по-настоящему?

  7. Вывод: Универы закрыть, студней и преподов разогнать... всё равно толку никакого... пустая трата времени и денег... Или нет?(С)...
    Вполне логичный вывод. Все к тому и идет. Ну, может все закрывать и не стоит, но половину, как минимум, закрыть было бы неплохо.

     

  8. Почему я это написал, просто от того, как объясняет препод, очень многое зависит. Пример из своей учебы, был у нас препод, который на своих лекциях, по предмету "микропроцессорная техника" начинал просто зачитывать даташиты, перечислять регистры и т.п. - итог посещаемость 25-30%, включая тех, кто играл в крестики-нолики. Причем, сам по себе этот препод был очень хорошо "шарящим" в предмете. И другой, гораздо менее интересный предмет - ЭМС - препод, который преподавал, постоянно приводил примеры своей практики, "из жизни", с юмором и т.д. - итог посещаемость 80-85%, кол-во пятерок в 3 раза выше, хоть и неинтересный предмет.

     

    Из всего этого, я тогда вынес одно - преподавать - это талант, которым я, к сожалению, не обладаю, но так здорово учится у талантливого препода.

    Я же не спорю. Само собой, мало самому понять, нужно еще и другим суметь объяснить. И талантливым препом я себя не считаю. Студентам-то в таком случае что делать? Когда я учился, у нас был подобный преподаватель. Так мы и на кафедру обращались, и в деканат. Дело дошло до того, чт приходила на его лекцию комиссия от кафедры, и сделала определенные выводы. Во всяком случае, после читать лекции стал другой проподаватель, а наш по всей видимости уволился. А нынешним все "по барабану". У нас, например, ни информатики, ни микропроцессорв вообще никаких не было. И что, я по логике должен быть совсем дураком, меня же никто всему этому не учил? Хороший преподаватель это хорошо, но он - отнюдь не смамое главное. Если у человека есть желание чему-либо научиться, то он и без преподавателя этому научится. А если человек не хочет учиться, то самый самый супер-пупер преподаватель его не сможет научить. Или нет?

  9. _Bill

    Ну а чем ещё заниматься кроме как УЧИТСЯ ?!

    Неужели 32-х разрядные ОМЭВМ для современного студента неподъёмная тяжесть ?!

    Уже писал, что НЕЛЬЗЯ ориентироваться на "среднего студента". Человека нельзя научить, он может только научиться сам!

    Чтобы начать писать ПО для микроконтроллеров вполне достаточно симулятора и базовых знаний цифровой схемотехники. Всё. Ну нет в программировании микроконтроллеров никакой магии, никакой высокой науки. Это не сложнее, чем научится водить машину.

    Чтобы научится писать реально необходимое ПО необходимы базовые знания в технологии его разработки: протоколы, среда исполнения, базовые знания сетевых технологий, ТАУ, ЦОС и подобное.

    Незачем использовать отладочные комплекты чтобы мигать светодиодом.

    "Учиться" - понятие растяжимое. Вообще, что такое учеба? Учеба, на мой взгляд, есть целенаправленный процесс получения необходимых знаний и/или навыков. О какой учебе можно вести речь, если человек даже не представляет какие знания ему необходимы? Даже если он знает какие знания ему нужны, но он получает их от случая к случаю, то это тоже вряд можно назвать учебой.

    А что же делает студент в вузе в течение 5 лет? Он, в лучшем случае, просто выполняет учебный процесс. Но учеба и учебный процесс - две большие разницы. Учебный процесс - это процесс подготовки специалиста в соответствии с заданной учебной программой и планом соответствующей специальности. По плану, человек долже прослушать целый ряд дисциплин, сдать требуемое количество зачетов, экзаменов и пр. Только и всего. Про знания здесь ничего не говорится.

    Насчет учебного процесса., как он происходит. Допустим, на определенную дисциплину согласно учебному плану отводится 200 часо. Много это или мало еще нужно посмотреть. Но при этом только 100 отводится на аудиторные занятия, остальные часы - на самостоятельную работу студентов. Но тут возниает вопрос: кто и как будет проверять результаты этой самостоятельной работы? Если лекции преп читает всему потоку сразу, то проверка знаний, полученных в результате самостоятельной работы должна проводиться сугубо индивидуально. А это требует времни, и мног времени. А преподавателю время нужно для зарабатывания денег, и он не хочет тратить его на студентов. Естественно, что о самостоятельной работе студентам никто никогда не говорит. И это одинаково хорошо и студентам и преподавателям.

    Исходя их этого можно сказать, что студенты в лучшем случае могут получить лищь половину запланированных знаний. То есть исходный коэффициент равен 0.5

    Идем дальше. Добросовестный студент, которы регулярно ходит на все лекции и старательно их записывает, в самом лучшем случае случае сможет записать примерно 80% того, о чем говорит преподаватель. Разбираться в том, что написал студент будет перед сдачей экзамена во время сессии. При этом студент поймет тоже 80% из того, что записал. Итак, к моменту сдачи экзамена студент усвоил 0.5 * 0.8 * 0.8 = 0.32 от необходимого. Но учебный процесс устроен так, что знания по даннаой дисциплине ему потребуются не сейчас, а, скажем, через два года. Поскольку студент после сданного экзамена к этой дисциплине не возвращается, то вполне естественно предположить, что к тому моменту когда эти знания потребуются, он еще коеч-что забудет. Предположим, что каждый год он будет забывать по 20%. Стало быть, реальных знаний у него останется 0.32 * 0.8 * 0.8 от необходимых.

    И это не просто голые цифры, в реальности дело еще хуже. Скажем, язык Си им дают на 1-м курсе. На 3-м курсе, когда требуется написать хотя-бы простенькие программы для МК, они из Си практически ничего не помнят. И как мне быть в таком случае - читать им лекции по Си или как? Если для меня Си - мой рабочий инструмент, которым я пользуюсь постоянно, до ля них это просто один из пройденных предметов. Прошли и пошли дальше. При этом не надо забывать, что таких предметов множество. Словом, "мы все учились понемногу, чему-нибудь и как-нибудь".

    И последнее. Техника все время развивается, и развивается в строну усложнения. Чтобы понмать технику, нужны знания основ. А основы они потому и называются основами, что никода не стареют. Толко вот знания этих основ часто не хватает не только студентам или выпускниам, но и зачастую уже работаюшим специалистам. Или нет?

    PS:

    НЕЛЬЗЯ ориентироваться на "среднего студента". Человека нельзя научить, он может только научиться сам!
    Может быть и нельзя, но приходится. Куда деваться , если большинство хуже "средних". И что делать, если человек не хочет учиться сам? По идее, нужно оставить только 5% от числа "учащихся", остальных отчислить. Только вот в результате нужно также уволить и значительное число преподавателей. Если уподобить вуз некоторму предприятию, то это предприятие выпускает 95% бракованной продукции. Интересно, как долго сможет просуществовать реальное предприятие, при таком проценте брака?

     

    На этот вопрос студент должен ответить, когда выбирал специальность связаную с микропроцессорной техникой. Ибо все это надо! Т.к. на "голом" процессоре, действительно, можно только моргать светодиодом, а если что-то посложнее - тут только изучать аппаратные особенности. Другое дело, там нет никаких сверхсложностей, если препод умеет наглядно объяснять и сам понимает суть вопроса...

    В том-то и дело, что современные студентыв большинстве своем не могут на это ничего ответить, ни при поступлении в вуз, ни в процессе "учебы", ни к моменту ее окончания.

    Хм... "сможет наглядно объяснить и сам понимает суть". Я вот вроде как этой темой уже 35 лет занимаюсь, и понимаю о чем я говорю. Только вот, как объяснять, если они попросту на леции не ходят. И если бы только на мои, я бы еще мог это понять. Человек пропустил пару лекций и дальше уже бесрлезно ходить, поскольку все лекции связаны междк собой, и если потерять нить рассуждений, то дальше вообще все будет непонятно. Так ведь они и на другие лекции тоже не особо жаждут ходить.

  10. Надо... может не всё, но надо... чтобы потом не переучиваться... STM32F0xx наиболее близка к восьмибиткам по простоте... по возможностям - намного лучше...
    Еще раз повторюсь. На обучение всем тонкостям ARM у студентов просто нет времени. Кроме того, студентам и помимо МК есть чем заниматься. Через полгода они напрочь забывают то, чему их учили. Дай бог, что они хотя бы на 20% понимали и знали (не помнили, а именно знали) материал. И потом, сами-то вы с чего начинали осваивать эту технику: с Cortex M0, M4, A5, или с чего-нибудь попроще?

    И вообще, задача вуза выпускать не готового специалиста, а человек, способного постоянно учиться и осваивать все новое, что появляется в соответствующей области. Особенно это касается электроники. 10 лет назад об ARMах мало кто слышал и знал. А что будет через следующие 10 лет? Появятся более новые, более мощные и, стало быть, более сложные типы контроллеров. И что, нужно будет забыть про ARM и заставлять студентов учить более "лучшие" МК? Уже сейчас, к примеру, те же самые STM32 представляют собой целую систему на кристалле, документы с их описанием составляют тысячи страниц. Разобраться во всем этом, находясь на нулевом уровне и имея месяц времени просто нереально. Ксения уже описывала как это все происходит. В результате, вместо человека умеющего и готового разбираться во всем новом, мы имеем человека, ужасе шарахающегося при каждом упоминании слова "Микроконтроллер". Или я неправ?

     

  11. Хм, мигать светодиодом нужно начинать с авр, армы уже либо для продвинутых, либо на следующий семестр обучения...

    Ну и асм тоже лучше изучать с авр, с армами все-таки упор нужно делать на си, асм преподавать факультативно, чтоб имели представление и отличия в командах для 8 и 32битных систем. В таком случае инициализация портов не станет проблемой, другое дело, что там есть еще кэш память и клоки, которые тоже нужно запускать, в отличии от авр...

    Ну, так там есть еще и DMA, USB, Ethernet и еще мого другого. Вопрос в том: где взять время студенту, чтобы это все освоить, да и надо ли ему это вообще?

  12. LPC8xx (cortex m0)

     

     

    Вроде в MSP430 система команд похожая.

    Эх, где ж сейчас КР1801ВМ1? :-D

    Похожая-то, она похожая. Только в MSP-430 нет того, что было в PDP-11.

    И еще на счет ARM, Cortex и т.п. Скажем, для студентов простая задача - помигать светодиодиком. Программа всего несколько строчек на asm. Из нмх для конфигурации порта требуется 1-2 команды. А скоько требуется команд для конфигурации порта в том же Cortex? Там же нужно множество манипуляций для этого продела. И это не говоря уже о конфигурации системной конфигурации. В результате та часть программы, работу которой можно увидеть (светодиод мигает) занимает от силы 25% от всего исходного текста, а то и того меньше. И при всем при том очень жэнлательно, чтобы человек еще и понимал то, что он пишет, для чего нужны и какие именно манипуляции требуются для первоначальной настройки процессора.

    И вообще, найдется здесь хоть один человек, который начинал изучение МК с нуля именно на основе ARM?

  13. Большинство... ладно замнем.

     

    Для зарубежа и руководителей в нашей стране кандидатская это знак качества мозгов. Все эти разговоры про карьеру на одном месте, сказка для молодежи. Всем нужны рабы и подольше. Поэтому Ваши заслуги без реальных подтверждений не засчитываются даже Вашим собственным руководством. А вот такие вещи как патенты, диссертации, международные премии, настоящие сертификаты или дипломы зарубежных универов или научных центров в твердой копии и verified. Вот это ценится и учитывается на самом деле.

    Чтобы в 45 не оказаться на улице с громадным опытом работы, надо набирать настоящие знаки отличия, а не мнение своего руководства или большинства на форуме.

     

    Поэтому аспирантура, кандидатская, если можно докторская. Хоть блатная, хоть какая. Есть возможность надо рвать зубами.

    Хм... когда-то и диплом о высшем образовании являлся занаком качества. А что сейчас? В настоящее время ни кандидатский, ни докторский дипломы сами по себе еще ничего не значат. Я знаю в нашем вузе и кандидатов, и докторов, которые просто сидят в вузе, преподают какие-то непонятные (думаю, даже для них самих) теории, и больше ни на что не способны. Ни школы научной, ни учеников... Так, одна видимость. Аспирантов каждый год себе набирают, защит - ноль. Просто когда-то, они поставили себе цель - поступить в аспирантуру, написать и защитить сначала кандидатскую диссертацию, потом доктрскую. И все! Цель достигнута, и что делать дальше они не знают. Они достигли своего потолка. Диссертация ради самой диссертации, не более того.

    Когда человек жалуется на отсутствие помощи со стороны своего руководителя, то либо его руководитель - один из тех, о которых я выше написал. Либо этот человек сам такой, либо и первое и второе вместе взятые. Если человек не чувствует в себе ученого, и нет особого желания раздвигать горизонты знаний, то написание разного рода диссертаций, на мой взгляд, - пустая трата времени.

    Да, человек с кандидатским или даже докторским дипломом може расчитывать на каръерный рост. Только это будет каръера администратора. Или нет?

  14. когда его ножки - это мои ножки :)
    Ну, ваши наверняка симпатичней будут. А вообще, правильно говорить - выводы. "Ножки" - это жаргон. Или нет?

     

     

    Да, частным, НО для лаб. работ нужно что-то выбирать, и если так, то уж лучше то, что востребовано сегодняшней ситуацией, логично??

    А так уж повелось, что доминирующее положение на рынке, ввиду объективных причин, заняли именно risc процессоры, их и нужно изучать углубленно, а cisc изучить только как факультатив.

     

    Хорошая архитектура, знаю, но теперь это только теория... А практику, лично я, проходил бы на авр, т.к. считаю его одним из лучших и простых процов 8биток. Теория это хорошо, но когда сделаешь программу и железка замигает лампочками, закрутится мотор и индикторы будут показывать что нужно - вот тогда получаешь удовлетворение, а кто не получает - тот не "настоящий" технарь ;)

    Ну, так, опять же, исходя из сегодняшней ситуации. А что будет завтра? А завтра будет то же, что и вчера. Ведь принципы работы компьютера ныне сегодня такие же, как и 50 лет назад. Да, появились и гарвардская архитектура, и суперскалярная, и пр. А что такое RISC? Это всего лищь термин. Когда появились первые мини-ЭВМ (примерно 50 лет назад), то по существу они были RISC компьютерами, только тогда такого термина еще не придумали. И что в RISC есть такое, что его нужно как-то отдельно изучать? Можно, конечно, указать на частности, на особенности. Но не более того. Если, к примеру, человек знает принципы организации компьютеров вообще, то рассказать ему про осбенности архитектуры DSP дочтаточно 30 минут.

    Что касается практики. На данный момент мы испоользуем AVR на основе STK500 потому, что они у нас имеются в достаточном количестве. С точки зрения обучения AVR вполе себя оправдывает, но ... Сейчас имеется STM8, котрый, на мой взгляд лучше подходит для этих целей.

  15. Ого! Дискуссия вызвала определенный интерес. Имея определенный опыт в этой области (рорядка 35 лет), а также работая в вузе достаточно длительное время хочу высквать свое личное мнение.

    1. Все участники дискуссии высказываются за испоьльзование в целях обучения того или иного МП/МК исходя из:

    а) "красоты" архитектуры процессора:

    б) "навороченности" периферии "на борту";

    в) "современности (применяемости)" контроллера;

    г) наличия соответствующих оценочных плат и инструментария для разработки;

    д) своего личного опыта.

    2. Однако, нужно понимать, что оснновной целью обучения является изучение основных принципов организации ЭВМ, как основы для построения встраиваемых систмем (МК, ЦПС, ...). Человек должен не изучить како-то конкретный МП/МК (PIC, AVR, MSP, ARM, ... XYZ), но он должен понять как работает любой произвольный процессор. Любой, выбранный в целях обучения, процессор процессор всегда будет являться лишь частным случаем.

    3. При изучении данного предмета нужно иметь в виду определенные ограничения, а именно:

    а) ограничения по времени изучения данной дисциплины;

    б) отсутствие у подавлющего большинства студентов какого-либо опыта в данной области;

    в) отсутствие "энтузазизьма" у большинства студентов.

    4. В соответствии с пп. 2 и 3. я бы предложил следующие критерии для выбора типа МП/МК:

    а) простота понимания принципов организации прпоцессора;

    б) "общности" (другого слова не нашел) архитектуры.

    В соответствии с данными критериями идеальным вариантом для выбора была бы архитектура процессора PDP-11. Но, увы, данный процессор давно канул в лету. Поэтому, единственным критерием остается - простота. И, стало быть,

    6. Для целей обучения, при соответствующем методологическом обеспечении, может быть выбран любой, достаточно, простой процессор. Опять же, в идеале нужно стараться следовать принципу "все познается в сравнении". Другими словами, нужно рассказывать не о каком-то одном процессоре с его архитектурой, а сравнивать между собой процессоры разных архитектур. Часто нужно знать не то, что имеется у того или иного процесоора, а то, чего в нем нет.

  16. Я тоже за stm8, а еще лучше за stm32. Купить какую-нибудь из плат discovery для работы.

    STM8 - вполне нормально. А что касается STM32 (и вообще всякой ARMатуры), то есть печальный опыт. Предлагали студентам сделать хоть что-то на основе ARM (оценочные платы в наличие). Результат - абсолютно нулевой. Для нынешних студентов это слишком слдожно, да и не только для студентов.

  17. Сконфигурировал сию МС в режим async FIFO 245. Написал простенькую программу. Устройство определяется, открывается и далее ... тишина. При попытке передать хоть что что-то (использую функцию FT_Write) не происходит ровным счетом ничего. Такое впеатление, функция завершается по таймауту. Со стороны МК (на приемном конце) никаких сигналов не наблюдается. Может я чего-то не учел?

    В общем, все заработало! Вторая заповедь, однако.

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

     

    Bill , Вы не пробовали менять состояние порта с задержкой?

    Нет, не пробовал. Надо будет попробовать.
  19. Добрый день!

     

    unsigned long total = 0; //32bit

    unsigned int part1 = 0xAABB; //16bit

    unsigned int part2 = 0xCCDD; //16bit

     

    total = ((part1 << 16) + part2);

     

    Результат получается total = 0x0000CCDD;

     

    При компиляции выдает сообщение, что слишком большой сдвиг. Если вместо 16 поставить 8, все нормально.

     

    Почему не выходит сдвинуть больше 8-ми разрядов?

    total = (((long)part1 << 16) + part2);

    Или нет?

  20. DD/FD, насколько помню, префиксы для работы с индексными регистрами IX и IY соответственно. И здесь один из недокументированных приколов, который не положено знать дизассемблерам - можно работать с их половинками (аналогично H и L).

    Насколько я понял, сейчас эти все команды задокументированы. Просто нужно последние версии руководства почитать. Или нет?

  21. .
    Это не противоречит тому, что я написал выше. Младший регистр находится в правой части выражения, т.е. является источником данных.
×
×
  • Создать...