Как начать работать с Microchip PIC32. Часть первая


_MG_9552-4

Как начать работать с Microchip PIC32?

1. Предсказуемые вопросы и ответы

Заранее отвечаю:

Вопрос: А почему бы школьникам и младшим студентам не использовать классический Ардуино?

Ответ: Микроконтроллер AVR в классическом Ардуино 8-битный, а Microchip PIC32 – 32-битный. PIC32 в несколько раз быстрее, чем 8-битный AVR, у PIC32 гораздо больше памяти, он позволяет писать более интересные программы. Кроме этого, опыт с основанным на ядре MIPS M4K микроконтроллером PIC32 может быть использован при работе с старшими ядрами MIPS, которые используются в планшетах и сетевых устройствах.

Вопрос: А почему бы школьникам и младшим студентам не использовать Ардуино-подобную систему разработки MPIDE вместо MPLAB X, используемой в инструкции?

Ответ: MPIDE – небольшая элегантная система для школьников, хоббистов, людей которые не любят читать документацию, а также инженеров, которым нужно смастерить что-то небольшое быстренько. MPLAB X – максимально гибкая профессиональная система, которая поддерживает весь спектр возможностей, предоставляемых PIC32. С моей точки зрения, разница в уровне сложности для начала работы с MPIDE и MPLAB X недостаточно велика, чтобы сначала учить MPIDE, а потом – MPLAB X. Если в конечном итоге человек собирается получить профессиональные навыки, лучше сразу начинать с MPLAB X. Если же целью является скажем научить программированию микроконтроллеров гуманитариев, то лучше использовать MPIDE и на нем оставаться.

Вопрос: А зачем вы работаете с устройствами ввода вывода прямо через регистры? Вот, я нашел в интернете библиотеку которая поддерживает SPI/UART/I2C и т.д.

Ответ: Одна из целей данного упражнения – научить работать именно на голом железе, без библиотек ввода-вывода. Это полезно не только для будущих писателей драйверов, но и для тех, кто хочет научиться делать системы, состоящие из хардвера и софтвера.

Вопрос: А почему вы используете плату Cerebot MX3cK с устройствами ввода-вывода Digilent Pmod, а не chipKit Uno32 c chipKit Basic I/O Shield, которую вы сами же рекомендуете для использования в школах и вузах?

Ответ: Они программируются очень похоже, только пины и устройства ввода-вывода другие. Пусть примеры для Uno32 сделают сами преподаватели для собственной практики, а их студенты не будут имет возможность у меня списывать. Uno32 лучше как универсальная платформа, чем Cerebot MX3cK, так как она совместима по пинам с Ардуино. Хотя для профессионального программиста встроенных систем ценность Ардуино-совместимости не очень велика, но для школьников, кружковцев и гуманитариев это предоставляет возможность использовать MPIDE и Arduino Shields. Иными словами, Uno32 подходит и для обучения профессионалов, и для обучения непрофессионалов, а Cerebot MX3cK для непрофессионалов менее удобен.

Вопрос: А как насчет ARM?
Ответ: Если вам хочется поста про ARM, то напишите его сами.

Вопрос: А как насчет Intel?

Ответ:Intel x86 плохо подходят для встроенных приложений из-за плохой метрики производительность / милливатт и много другого. Intel 8051 устарел и кроме этого плохо привязывается к курсу компьютерной архитектуры, в отличие от конвейерного MIPS M4K / Microchip PIC32. Кстати, один российский профессор сказал мне, что российское Министерство Образования рекомендует учить студентов программированию микроконтроллеров используя советский аналог микроконтроллера Intel 8048 (предшественника 8051) 😎

Вопрос: Это что, и есть FPGA / ПЛИС?

Ответ: Не, это не имеет никакого отношения к FPGA / ПЛИС-ам. Этот пост про программирование, встроенные софтвер. Использование FPGA / ПЛИС – это разработка хардвера, кроме случая, когда процессор имплементируется на FPGA. Примерчик калькулятора на FPGA у меня будет в отдельном посте. FPGA и микроконтроллеры это столь же разные материи, как конструирование автомобиля (хардвер) и его вождение (софтвер).

Вопрос: А можно ли с данной платой на Microchip PIC32 сделать не калькулятор, а игрушечного робота?

Ответ: Да, можно. Digilent продает набор для изготовления игрушечного робота, в который входит именно такая плата, сенсоры, моторчик, платформа из детского конструктора и колесики – см. http://digilentinc.com/Products/Detail.cfm?NavPath=2,403,1135&Prod=SRK-LINE.
Continue reading

Как начать работать с Microchip PIC32. Часть вторая

Продолжение с http://panchul.com/2013/02/27/microchip_pic32_1/

9. Пошаговая инструкция для начала работы с MPLAB X

А как же скомпилировать программу для этой платы и все запустить? Прежде всего нужно установить на вашем компьютере Microchip MPLAB Х, которую можно скачать отсюда:
http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads

Существуют версии MPLAB X для Linux, Windows и Mac.

Когда вы все установите, а также (если вам нужно) скачаете файлы моего примерчика с Google code
http://code.google.com/p/pic32-examples/source/browse/trunk/#trunk%2Fshowroom%2Fcalculator
или с моего сайта
http://panchul.com/education/2013_02_03_calculator/sources/
то дальше последовательность действий таковая:

Стартуем MPLAB X. Почему-то процесс загрузки занимает много времени на моем ноутбуке:


Continue reading

Organic farming – is it a cult or a real technology?

Organic farming is the technology of growing vegetables without using synthetic chemical fertilizers and pesticides. The success of organic farming in the United States has happened because many people started to buy expensive “organic” vegetables, reasoning that it is good for their health and the environment. Over the years, organic farming became more then just a technology – government started to give organic farmers certifications and new non-profit organizations like Ecology Action started to promote organic farming with armies of followers all around he globe. But the basic question remains – is the organic farming movement based on sound science? It appears that organic farming is mostly based on people’s misunderstanding of plant physiology, past failures of mainstream agriculture and the desire of organic farmers to maintain their high profit margins.
Continue reading