Picprog программатор. Программирование микроконтроллеров: особенности PIC, SCENIX, C166/ST10, MSP430 и Z8

Какие кросс-средства существуют для разных микроконтроллеров. Где можно найти программаторы и эмуляторы. Как сравнить энергопотребление PIC, AVR и SX. Какие особенности имеют микроконтроллеры семейства Z8.

Кросс-средства разработки для популярных микроконтроллеров

Для разработки программного обеспечения микроконтроллеров используются специальные кросс-средства. Рассмотрим наиболее распространенные варианты для различных семейств микроконтроллеров:

Средства разработки для PIC

Для микроконтроллеров PIC доступны следующие инструменты:

  • Ассемблер MPASM от Microchip
  • Компиляторы C, например HI-TECH C
  • Интегрированная среда разработки MPLAB
  • Программаторы PICSTART+, ICD2 и другие

Инструменты для SCENIX

Основные средства разработки для микроконтроллеров SCENIX:

  • Ассемблеры SASM от Scenix и MPASM от Microchip
  • Компиляторы C: HI-TECH PIC C, C2C
  • Компилятор Pascal P2C
  • Интегрированные среды SX-DEV, SX-KEY, MPLAB

Средства для C166/ST10

Для микроконтроллеров семейства C166/ST10 можно использовать:


  • Интегрированную среду разработки μVision от Keil
  • Компиляторы C от различных производителей

Инструменты для MSP430

Основные средства разработки для MSP430:

  • Интегрированная среда Code Composer Studio от Texas Instruments
  • Компиляторы C, например IAR C/C++
  • Программаторы и эмуляторы от TI

Программирование и отладка микроконтроллеров

Для программирования и отладки микроконтроллеров используются специальные устройства — программаторы и внутрисхемные эмуляторы. Рассмотрим некоторые особенности для разных семейств:

Программирование PIC

Микроконтроллеры PIC можно программировать с помощью:

  • Программатора PICSTART+ от Microchip
  • Внутрисхемного отладчика ICD2
  • Различных программаторов сторонних производителей

Программирование SCENIX

Для программирования SCENIX можно использовать:

  • Программатор SX-TIPS
  • Самодельные программаторы на основе схем от Scenix

Программирование MSP430

Микроконтроллеры MSP430 программируются:

  • Через JTAG-интерфейс фирменными программаторами от TI
  • С помощью внутрисхемных JTAG-эмуляторов

Отладка устройств на Z8

Для отладки устройств на базе Z8 обычно используются:


  • Внутрисхемные эмуляторы от Zilog
  • Программные симуляторы

Сравнение энергопотребления микроконтроллеров PIC, AVR и SX

Энергопотребление — важный параметр при выборе микроконтроллера для портативных устройств. Сравним типовые значения тока потребления для похожих 28-выводных микроконтроллеров с флеш-памятью:

  • PIC16F872
  • AT90S4433
  • SX28

Основные выводы по энергопотреблению:

  • В режиме сна все три микроконтроллера потребляют около 10 мкА при 2.5В
  • При низких частотах (32 кГц) PIC имеет наименьшее потребление — около 15 мкА
  • При средних частотах (1-5 МГц) потребление примерно одинаковое — 1-4 мА
  • На высоких частотах (>10 МГц) AVR и SX имеют преимущество перед PIC
  • SX может работать на частотах до 75 МГц, потребляя около 100 мА

Таким образом, выбор микроконтроллера по энергопотреблению зависит от конкретных требований проекта и режима работы.

Особенности архитектуры микроконтроллеров Z8

Микроконтроллеры семейства Z8 имеют ряд интересных архитектурных особенностей:

  • 8-разрядные CISC-контроллеры
  • От 124 до 220 регистров общего назначения
  • Отсутствие выделенного аккумулятора
  • Возможность использования любого регистра в качестве приемника результата
  • Поддержка внешней памяти данных и программ в некоторых моделях
  • Ограниченное количество векторов прерываний (6)

Эти особенности позволяют эффективно использовать Z8 в различных приложениях, не требующих высокого быстродействия.


Программирование микроконтроллеров Z8

Для программирования микроконтроллеров Z8 используются следующие инструменты:

  • Ассемблеры от Zilog
  • Компиляторы C от сторонних производителей
  • Интегрированная среда разработки ZDS от Zilog
  • Эмуляторы, которые также выполняют функции программатора

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

Выбор микроконтроллера для проекта

При выборе микроконтроллера для конкретного проекта следует учитывать множество факторов:

  • Требования к производительности
  • Объем памяти программ и данных
  • Энергопотребление
  • Наличие специфических периферийных модулей
  • Доступность инструментов разработки
  • Стоимость микроконтроллера и средств отладки

Каждое семейство микроконтроллеров имеет свои сильные и слабые стороны. Например, PIC отличаются низким энергопотреблением на низких частотах, AVR имеют развитую периферию, SX могут работать на высоких частотах, а Z8 обладают гибкой работой с регистрами.


Заключение

Выбор микроконтроллера и средств разработки — важный этап при создании встраиваемых систем. Каждое семейство микроконтроллеров имеет свои особенности и области применения. Правильный выбор позволит создать оптимальное устройство с точки зрения производительности, энергопотребления и стоимости разработки.


Программирование 29C256 и 27C512 Honda Civic.

И так у вас есть чип, есть место, куда он вставляется в мозге OBD1. Вы даже создали прошивку, которая дает вам прирост с помощью программы Crome. Как же теперь записать ее на чип, чтобы поехать с ней? Я говорил раньше, что программируется 29C256 и 27C512 память только параллельным программатором, который есть не в каждом доме. Существуют несколько путей решения:

  • Купить программатор, цена около 50-300$. Пользоваться им будете максимум 10-15 раз.
  • Спаять самому параллельный программатор по схеме из Интернета, занятие трудное и, для новичка, не благодарное.
  • Найти телемастерскую, которая, за $30 или меньше, могла бы 1 раз прошить микросхему.
  • Купить за 10-100$ параллельный программатор, который уже стал старым на барахолке или в Интернете, например PicProg+

Первые два пункта я отбросил. Так как я знал, что я прошьюсь минимум 5 и максимум 10 раз. И платить за одну микросхему $200 мне не хотелось. Второй вариант, для меня сложен, может, я немного ленив. У меня просто не хватило времени заняться новым программатором. Хотя есть наборы, достаточно дешевые которые можно спаять за 1-2 часа. Найти телемастерскую не получилось, такое барахло как наши микросхемы памяти ни кому не нужны. Я знаю точно, что на радио рынке типа Царицыно или Митино в Москве такие услуги есть, но что-то не хотелось мне за 5 прошивок каждый раз отдавать по $10-20. Поэтому я перешел к пункту 4. Я нашел программатор PicProg+ в Интернете за $30, основная проблема, по которой продают этот программатор в том, что фирма Phyton больше не поддерживает (С 2002 года) данный программатор, и программа через которую запускается программатор не идет ни под Windows XP, Vista, и тем более Seven. Эти системы не поддерживают полный доступ к порту LPT.

Общий вид PicProg+ для прошивок Honda Civic P28

Вариант 1: Работаем под MS-DOS

Это самый брутальный и правильный способ для работы именно с этим программатором. Вам нужен программатор, флешкарта USB размером не больше 2GB, и любой компьютер с рабочим LPT портом. для начала скачайте программу HP USB Disk Storage FormatTool, архив дискеты Windows98 и урезанный архив программы PicProg. Распакуйте архивы, каждый в свою папку. Вставьте USB диск в компьютер, очистите его от файлов. Запустите программу HP USB Disk Storage FormatTool. P.S. Сейчас я проверял эту страницу и Google Chrome сказал, что мои файлы не безопасны. Я повторно проверил это AVG антивирусом, все в порядке. Я пользуюсь этим достаточно долго.

  • Установите галочку Quick Format
  • Установите галочку Create a Dos startup disk
  • Ниже выберите папку с файлами из архива Shell98
  • Нажмите Start
  • По окончанию процесса закройте программу, и зайдите в папку флешки
  • Создайте папку PP и скиньте туда все файлы из архива Picprog-Phyton.zip
  • Все готово.

Теперь у вас есть рабочая загрузочная флешка с программой Picprog на борту. Остается установить флешку в компьютер, установить в BIOS режим загрузки с флеш накопителя и загрузиться с нее. когда вы увидете похожее на C:\, напишите cd pp, а затем picprog. Инструкция по использованию Picprog+ в самом последнем абзаце статьи.

Вариант 2: Прошиваем под Windows XP, Seven, Vista, Linux

Лучше не мучайтесь а приобретите универсальный программатор MiniPro TL866CS. И все же если у вас на руках есть программатор PicProg+, с LPT портом, и уже подключен к вашему компьютеру. Если вы все-таки не хотите расставаться с уютным окном вашей системы 32х или 64х битной, то установить Virtual Machine Player. То есть виртуальную машину DOS, только не забудьте в опциях передать управление LPT от физического компьютера к виртуальной системе. Все остальное как в варианте 1. Главное чтобы ваш процессор поддерживал режим виртуализации. Например мне попался Intel Pentium 4 650 в котором нет этого режима, и VMware Player даже не установился.

P.S. Если у вас не работает VMware Player 4 или VMware Player 5, просто найдите VMware Player 3.

Инструкция по работе с PicProg+ Phyton

Конечно я даю урезанную инструкцию и урезанную программу,для наших целей, а именно записать-считать много всего не нужно. Во первых сначало нужно выбрать микросхему нажмите F2, выберите Parallel E(E)PROM и из списка выберите нужную микросхему памяти. Я очень надеюсь что у вас AT29C256, поэтому смело выбирайте пункт 27. Теперь все готово для чтения или записи. Если вы хотите считать прошивку, то нажмите ALT-F4, после этого сохраните путем нажатия ALT-F8 и написать любое название. Сохраненная прошивка будет в корне программы и должна весить ровно 32768 байт, или 8000h. Для записи прошивки вам необходимо изначально положить прошивку в корень программы. Выбрать необходимый тип микросхемы ALT-F4, нажать ALT-F9 и написать название файла точно с расширением (обычно .BIN). Дальше программа спросит о формате файла, нужно выбрать Binary. Чтобы не мучаться с названием прошивки называйте для себя просто (1.bin). Ну и наконец необходимо записать на микросхему, ALT-F3. После не забудьте сверить загруженный файл и то что вы сейчас записали на прошивку нажатием ALT-F5.

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

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 5 / 5. Количество оценок: 1

Оценок пока нет. Поставьте оценку первым.

EMBEDDED FAQ: Микроконтроллеры — faqs.org.ru

EMBEDDED FAQ: Микроконтроллеры — faqs.org.ru
 Главная > Электроника и компоненты >

Секция 2 из 2ПредыдущаяСледующая

Вопросы по PIC

>Q: Какие кросс-средства есть для PIC и где их взять?

[еще не написано]

>Q: Компилятор HiTech выдает сообщения об ошибках там где он их раньше не выдавал, или там где их явно нет.

A: Михаил Евстафьев
Первое — истек срок работы демо версии. Второе — компилятору нужно максимум свободной памяти в ДОС. Hесколько килобайт могут радикально улучшить его работу. Поэтому никогда не запускайте его из ДОС оболочек типа NC, VC и т.п. Лучше всего вызывайте его из Windows напрямую.

>Q: Мне не удается повторно запрограммировать кристалл с УФ стиранием. Стираю его так же как и все другие кристаллы, а программатор сообщает что кристалл не чистый

A: Михаил Евстафьев
Случайно или преднамеренно был установлен бит защиты…

>Q: Странно себя ведет RA4 сконфигурированный на выход

A: Михаил Евстафьев
Этот бит порта A имеет выходной буфер с открытым стоком…

>Q: PORTA как то странно работает на выход, биты запрограммированные на выдачу лог 1 самопроизвольно переходят в лог 0?

A: Михаил Евстафьев
Eсли Вы работаете с кристаллом имеющим встроенный АЦП, то скорее всего Вы не проинициализировали регистр ADCON, и PORTA (и PORTE там где он есть) остались сконфигурированы в режиме аналоговых входов.

>Q: Странно ведет себя бит порта при работе в двунаправленном режиме или при имитации выхода с открытым стоком, при переключении его на выход он выдает не тот сигнал, что я записал в него ранее.

A: Михаил Евстафьев
Это из-за особенностей схемотехники портов PICов… См. примечание на стр..

>Q: Странно ведет себя бит порта сконфигурированный для работы со спецфункцией в двунаправленном режиме (например в режиме I2C), он самопроизвольно меняет направление (вход/выход) вовсе не в соответствии с алгоритмом работы спецфункции (например вызывает блокировку шины I2C).

A: Михаил Евстафьев
Это из-за особенностей схемотехники портов PICов… См. примечание на стр…

>Q: Можно ли перепрошить программную память FLASH PICов через интерфейсы RS232, I2C, SPI и др.?

A: Михаил Евстафьев
Да . ..

>Q: Программа ранее разработанная для OTP PIC16C77 и отлаженная в нем не работает в FLASH версии PIC16F877. Почему, ведь это 100% аналоги, исключая EEPROM у F877.

A: Михаил Евстафьев
Включен режим низковольтного внутрисхемного программирования (LVP) в байте конфигурации кристалла.

>Q: Как с помощью PicStart+ запрограммировать PIC17C756? Почему не удается это сделать с «фирменным» адаптером для PicStart+ для PLCC68 корпусов?

A: Михаил Евстафьев
Hужно изготовить адаптер по схеме…

>Q: А можно прочитать PIC, если у него установлены биты защиты ?

A: Алексей Владимиров
По-разному для разных кристаллов.

Для PIC16C5X/PIC12C5XX адреса 000-03F можно считать (и допрограммировать) и после установки бита защиты. Ссылка на эту особенность есть в фирменной документации.

Для PIC16C8X существует метод взлома, опубликованный Давидом Тайтом на http://www.brouhaha.com/~eric/pic/84security.html. Аналогичный метод для PIC16C8X/PIC16F8X используется в программаторе PICPROG фирмы Телесистемы http://www.telesys.ru/english/picprog.htm. Можно воспользоваться и сервисом, предлагаемым на http://u1.chat.ru/hack84.htm. Возможно, эти методы применимы и к новым PIC16F8xx.

Для PIC16C61/71 существует метод взлома, описанный Дежаном Калевичем (ссылка перестала работать)

Для других PIC пока ничего, кроме физических методов считывания (электронный микроскоп и т.п.), мне не встречалось. Еесли возникает задача считывания, можно обратиться, например, на http://www.mts.net/~tgrand/index.html

 


Вопросы по SCENIX

>Q: Какие кросс-средства есть для SCENIX и где их взять?

A: Алексей Владимиров
Подборку ссылок на кросс-средства для Scenix можно найти на http://www. svtehs.com/ru/scenix.htm#Development software.

Бесплатных ассемблеров по сути два — SASM, http://www.scenix.com/tools/index.html от Scenix и MPASM, http://www.microchip.com/10/Tools/pTools/MPASM/index.htm от Microchip, к которому нужно добавить макроопределения команд Scenix, http://www.svtehs.com/sxdefs.inc

Приличный программный симулятор один - SxSim, http://www.brouhaha.com/~eric/scenix/sxsim/. Поддерживает только SX18/28, для SX48/52 есть только внутрисхемные эмуляторы, о которых речь пойдет чуть ниже.

Основных компиляторов C для SX два, оба вполне работоспособны и в бесплатном режиме. C ftp://ftp.htsoft.com/hitech/demo/picdemo.zip можно скачивать триальную версию Hitech PIC C, которая работает 21 день, а потом придется скачать заново. А с http://www.geocities.com/SiliconValley/Station/7733/ можно скачать бесплатный AS2SX — дополнение Hitech PIC C для работы с SX. Второй компилятор С и C++ — С2С, http://www. geocities.com/SiliconValley/Network/3656/c2c/c.html Слегка ограниченная версия бесплатна, полная стоит $45. Здесь же есть неплохое сравнение эффективности компиляторов C для PIC и SX.

Для приверженцев PASCAL есть и его компилятор — P2C, http://www.geocities.com/SiliconValley/Network/3656/p2c/p.html, урезанная версия бесплатна.

Интегрированных оболочек три: SX-DEV, SX-KEY и MPLAB.

SX-DEV, http://www.svtehs.com/ru/sxdev.htm представляет собой оболочку, объединяющую программатор/внутрисхемный эмулятор SX-DEV, внешний ассемблер MPASM или SXASM, внешний симулятор SXSIM и встроенный софт для обеспечения всех режимов эмуляции. Стоит $150, в комплект входит собственно программатор/внутрисхемный эмулятор, модуль реального времени и софт.

SX-KEY, http://www.sxtech.com/developmenttools.asp — это софт программатора/внутрисхемного эмулятора SX-KEY. Полностью «вещь в себе» - никаких внешних программ подключить нельзя, аппаратура не позволяет отлаживать кристаллы при низком напряжении. Однако пользоваться можно. $149.

В качестве интегрированной оболочки можно использовать и MPLAB, добавив к MPASM файл макроопределений SX, компилятор Hitech PIC C интегрируется туда штатным образом, компиляторы C2C++/C2C и P2C интегрируются в MPLAB при помощи C2C++/C2C/P2C Rocket, http://www.geocities.com/SiliconValley/Network/3656/rocket/index.html. Однако встроенным в MPLAB симулятором и программатором PICSTART для работы с SX воспользоваться не удастся.

>Q: Чем запрограммировать SX ?

A: Алексей Владимиров
Лучше всего воспользоваться программатором SX-TIPS, http://www.svtehs.com/ru/sxtip.htm, его можно купить там же, где и сами кристаллы. Можно собрать программатор самому — например, по документации от Sсenix, http://www.scenix.com/virtual/download/isp.html или, например Fluffy, http://www.codepuppies.com/~ben/sens/pic/sx/ или заапгрейдить COMPIC-1, http://www. geocities.com/SiliconValley/Station/7733/, переведя его на внешнее питание, добавив транзисторный ключ и заменив софт.

>Q: Что меньше потребляет, PIC, SX, или AVR ?

A: Алексей Владимиров
Вот сравнение при одинаковой производительности (то есть тактовая PIC в 4 раза больше, чем для SX и AVR) следующих похожих по параметрам 28-выводных микроконтроллеров с флеш:
PIC16F872, http://www.microchip.com/Download/Lit/PICmicro/16F87X/30221a.pdf (2Kx14 флеш, 128 байт ОЗУ, 5 входов АЦП, 1 ШИМ, 3 таймера, 28 выводов)
AT90S4433, http://www.atmel.com/atmel/acrobat/doc1042.pdf (4Kx8 флеш, 128 байт ОЗУ, 6 входов АЦП, 2 таймера, 2 ШИМ, 1 UART, 1 компаратор, 28 выводов)
SX28, http://www.scenix.com/products/datasheets/sx28_1_19.PDF (2Kx12 флеш, 136 байт ОЗУ, 1 таймер, 1 компаратор, 28 выводов)

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

Потребление 28-выводных флеш микроконтроллеров
Условия PIC AVR SX
PIC, AVR и SX в power down 2.5В, WDT включен ~10 мкА ~10 мкА ~10 мкА
PIC на 32 кГц 2В, AVR и SX на 32 кГц 2.5В ~15 мкА ~100 мкА
PIC на 4 МГц 2В, AVR и SX на 1 МГц 2.5В ~0.7 мА ~1 мА ~1 мА
PIC на 10 МГц 3В, AVR и SX на 2.5 МГц 3В ~2.5 мА ~2 мА ~2 мА
PIC на 20 МГц 4В, AVR и SX на 5 МГц 3В ~6 мA ~4 мА ~4 мА
PIC на 48 МГц, AVR и SX на 12 МГц 3В не работает ~8 мА ~10 мА
PIC на 60 МГц, AVR на 15 МГц 5 В, SX на 15 МГц 3В не работает ~24 mA ~15 мА
PIC на 200 МГц, AVR на 50 МГц, SX на 50 МГц 3В не работает не работает ~37 мА
PIC на 300 МГц, AVR на 75 МГц, SX на 75 МГц 5В не работает не работает ~100 мА

 


Вопросы по C166/ST10

>Q: Какие кросс-средства есть для C166/ST10 и где их взять?

A: Сергей Борщ
На http://www. keil.com можно скачать демо uVISION2.

>Q: Что сейчас производится из C166/ST10 и где их купить ?

A: Сергей Борщ
Сайт Infineon http://www.infineon.com/products/micro/micro.htm

Я получил такую справку в Интехе, они представляют Infineon Technologies AG, так теперь Сименс-полупроводник называется, в Москве их тел (095)451-86-08,451-97-37, а мне на вопросы мылом отвечал Владимир: Vlad :[email protected]

Сейчас из кристаллов с FLASH-памятью производятся SAB-C163-16FF,
SAB-C163-16F25F, SAK-C167CS-32FM и в ближайшее время выйдут
SAK-C161CS-16FF, SAF-C163T-16FF, вслед за ними выйдет SAK-C164CH-8FM.
Все кристаллы работают на 25 мГц и имеют 5 В FLASH различного объема.
Так, поясняю. SAB — 0+70, SAF — -40+80, SAK -40+100 (+125). Размер FLASH памяти 2 в степени х (цифра перед F) килобайт. 161 серия на сайте обозначена как 16МГц (8MIPS). 163 — без АЦП и CAPCOM, остальные имеют их, плюс CAN.

Цены на SAB-C165-LM — $24.06, SAB80C166 — $32.94, SAB-C167-LM — $29.80 штучно в Макро Тим, SAK-C167CS-32FM — 120 DM в Интехе, его аналог ST10F168 в Платане за 4 недели, цена ~$75.

ST10C172 аналога у Siemens не имеет. Hо учесть надо то, что у него флешки нету, а значит, фактическое быстродействие не превышает 1.5*Tcycle внешней памяти (считаем 50% команд — «длинные», это нормально). При 45нс флешке реально выжать 70нс Tcycle со всеми временами предустановок, удержаний и фактическую производительность 10MIPS, что примерно соответствует фактической производительности F168, поскольку длинные команды из внутренней 32-bit флешки выполняются за то же время, что и короткие. ST10C172 есть смысл использовать с быстрым SRAM в качестве программной памяти.

 


Вопросы по MSP430

>Q: Чем запрограммировать MSP430 ?

A: Сергей Борщ
Ввиду закрытости алгоритма программирования через JTAG, только фирменными программаторами от TI. Есть, правда, еще вариант купить внутрисхемный JTAG эмулятор (кто их делает — можно найти на сервере Texas Instruments http://www.ti.com).

Встречный вопрос: какой именно кристалл ? Если интересуют однократные или отладочные (EEPROM-версии), то они программируются программатором MSP-430PRG, описание работы с ним, его схема (не очень сложная, но по-моему уж больно навороченая — куча транзисторов там, где можно без них) находится в файле SLAU026.PDF MSP430 family programing adapter manual. Файл лежит на сервере TI по адресу http://www.ti.com/sc/docs/products/micro/msp430/docs.htm Программное обеспечение последней (3.02) версии лежит по адресу http://www.ti.com/sc/docs/tools/controllers/msp430freetools.html под вывеской Parallel Programmer. Готовый программатор у дистрибуторов стоит около $250

Если есть желание запрограммировать флеш (на данный момент существуют в природе только PMS430F110, PMS430F112, PMS430F1101, PMS430F1121), то ПО программатора для них встроено в С-SPY пакета от кита MSP-FET430x110. Полная версия пакета, с документацией, схемой самого кита (74HC244, 2 транзистора, стабилизатор) и IAR-овским (ver 2.31) С (ограничение 2К кода), ассемблером (без ограничений), линкером (ограничение 4К кода), симулятором и внутрисхемным JTAG-эмулятором лежит на той же страничке http://www.ti.com/sc/docs/tools/controllers/msp430freetools.html под вывеской Kickstart, full version. Весь Kickstart (в комплекте 2 кристалла PMS430F1121) стоит у дистрибуторов около $70.

В настоящий момент существует 2 версии кристаллов:

1) PMS430F11xx всех партий программироваться через загрузчик, видимо, не могут.
MSP430F1121IDW партий 03AJX4T, 03AK16T, 05ACR4T, 05ACV2T, 05AD2LT, 05AD2XT, 05ADY4T, 05ADY5T лечению тоже не поддаются и отличаются от предыдущих тем, что в них исправленна ошибка FLASh22 (см. errata). Во всяком случае, в errata сказано Bootstraploader: Not functional
2) MSP430F1121 партий 05C24NT, 05C24RT, 05C24TT и MSP430F1121IPW ‘почти работают’. В них также исправлены все известные ошибки Flash-модуля и компаратора. Что касается загрузчика, то Software patch required. Программируются ли кристаллы из первой группы с помощью этого patch — пока неизвестно. Проведу эксперимент, о результатах сообщу.
!! Hа данный момент в errata других партий не указано. Возможно, что следующие партии окажутся с полностью рабочим загрузчиком.

По адресу http://www.ti.com/sc/docs/psheets/abstract/apps/slaa096.htm лежит документ Application of Bootstrap Loader in MSP430F11x - Hardware/Software Proposal размером 389К, а также 37К архив с примером программы на РС (Visual C++, консольное приложение) для программирования MSP430F11x используя именно bootstraploader. Приведен один из вариантов схемы программатора (HC14, стабилизатор 3В, компаратор, резисторы, можно сильно упростить). По сравнению с предыдущим описанием изменен формат пакета и некоторые команды. В документе утверждается, что в настоящее время прошивка загрузчика исправлена. Для старых кристаллов с полудохлым загрузчиком в том же архиве предлагается patch, который грузится в ОЗУ контроллера силами полуживого загрузчика и берет управление на себя. Кстати, такой же промах у них и в новом кристалле MSP430F149IPM (во всяком случае, в существующих данный момент партиях 04DVLLT, 06CF0NT и 06CF10T).

Сравнение datasheet от января 2000г (slas241b) и от июня 2000г (slas241c) показало, что адрес начала сегмента Flash Data ИЗМЕHЕH с 0xEF00 на 0x1000, а сегмента BootRom с 0x0800 на 0x0C00. Теперь адреса этих сегментов в кристаллах F11x1 совпадают с адресам этих же сегментов в F14x, F13x. Hачиная с какой партии введено это изменение, как всегда, не указано.


Вопросы по микроконтроллерам Zilog Z8

>Q: Что такое микроконтроллеры Z8, какие у них особенности и области применения ?

A: Андрей Мозжевилов
Микроконтроллеры Z8 — это 8-ми разрядные СISC-контроллеры. На борту от 124 до 220 регистров общего назначения, которые могут адресоваться непосредственно по адресу или как регистр в текущем банке регистров. 4 младших байта в регистровом файле отведено под порты ввода-вывода. Старшая область в 16 байт отведена для регистров специальных функций. Архитектура не содержит аккумулятора как такового. В качестве приемника результата может выступать любой регистр, что уменьшает количество пересылок и сокращает объем кода программы.

Определенные модели МК Z8 позволяют подключать внешюю память данных и/или программ. Стек может находится как во внутреннем, так и во внешнем ОЗУ. Архитектура предусматривает только 6 прерываний. Обычно — 4 от внешних сигналов, и 2 от таймеров. Если добавляется источник прерывания (например UART) то его прерывания садятся уже на существующие вектора, как следствие - нужно анализировать дополнительно источник прерывания программно. Более подробно об архитектуре Z8 прочитать на http://www. zilog.com

Облаcти применениия практически любые, не требующие очень высокого быстродействия. По приведенным параметрам потребления можно сказать, что Z8 вполне можно применять в устройствах с батарейным питанием. Напимер для Z86E04 заявлено потребление 80uA при 3.2V и 32kHz в активном режиме и 1uA в режиме останова. Но поскольку я не сталкивался с подобными задачами применительно к Z8, то и утверждать здесь ничего не буду.

> Q: Какие особенности отладки устройств с Z8 существуют? При помощи чего отладить программу для Z8? Как и чем можно запрограммировать Z8 ?

A: Андрей Мозжевилов
Микроконтроллеры Z8 в своем большинстве выпускаются только с масочным или однократно программируемым ПЗУ. Выпускаются несколько типов Z8 с УФ-EPROM, но цена на них очень высока по сравнению с OTP, и они подходят, разве что для проверки устройства на конечном объекте, когда невозможно применение эмулятора.

Большинство устройств с Z8 (особенно младших моделей Z86E02-08, которые не поддерживают внешнее ПЗУ) можно отладить только при помощи эмулятора. Политика Zilog в области ценообразования на эмуляторы очень дружественна именно для разработчиков. Эмуляторы продаются по довольно смешным ценам, если сравнивать их с ценами на эмуляторы для других семейств МК (PIC, AVR…). По моим сведениям цена на эмулятор, поддерживающий МК от Z86E02 до Z86E40 составляет менее $100.

Эмулятор является и программатором в одном флаконе. Эмулятор поддерживают 2 оболочки — ZDS и ICEBOX (возможно есть и другие сторонних фирм). О ZDS будет сказано подробнее ниже. ICEBOX — достаточно примитивная оболочка. Особого сервиса не замечено, но для несложных проектов ее вполне достаточно.

При использовании эмулятора нужно иметь ввиду некоторые особенности портов ввода/вывода эмулируемого МК и того чипа, который используется в эмуляторе. Например, стоит обратить внимание на тип входа, который в МК может не иметь триггера Шмитта, а в эмуляторе иметь.

> Q: А на чем, собственно, программировать для Z8?

A: Андрей Мозжевилов
Ответ на этот вопрос, возможно, не является всеобъемлющим. Я попытаюсь немного осветить только те средства, с которыми я пытался работать или работал. Их не так и много.

1.Пакет ZDS (Zilog Development Studio). Свободно лежит на http://www.zilog.com в разделе Development Tools для Z8. Это интегрированная среда разработки, которая включает в себя ассемблер, отладчик и много разных фенечек по организации и отладке проекта. Поддерживает все виды эмуляторов и соответственно отладку на уровне исходных текстов и прочие прелести. Я с ней не работал, поэтому ничего конкретного сказать не могу. И почему же я с ней не работал, если она такая вкусная то? Ах да :-), ну конечно, а где собственно Си? А Си затерялся в недрах могучей корпорации Zilog. Немного подробнее на эту тему.

Внимание!!!, информация на август 2000 г. На сайте Zilog есть ссылка на компилятор, который является компонентом ZDS. В базовую (бесплатную) версию ZDS он не входит, потому как за него хотят денег, иначе с чего бы ссылка отправляла за компилятором к дистрибьюторам? Письмо в Zilog подтвердило, что компилятор доступен через представительства, но как выяснилось, в Выборгской Гамме, которая и является таким представителем в России, возможности приобрести компилятор нет (пока). Отсюда у меня возникает цепочка логических выводов — ах, еще нельзя ? — а, ну это значит его только выпустили — да,да, и версия небось 0.00 бета — глюкодром, наверняка, полнейший — а нафига мне это надо, да еще за деньги? Может такие выводы где-то и несправедливы, но я для себя так решил :-) Если бы проект был простой и хватило бы ассемблера, и было бы время и желание этот ассемблер досконально изучать, то тогда без вопросов ZDS.

2.На сайте Zilog предлагается еще один пакет для разработки. Вот выдержка из readme «ZiLOG Z8/Z8Plus Tool Set Release 4.05». Файл назывался z8cc405p.exe и занимал около 2.8M В пакет входит компилятор Си, ассемблер, линкер, библиотекарь, документация в pdf. Никакой IDE нет. Все работает из командной строки. С этим компилятором мной был реализован проект средней сложности с объемом бинарного кода около 4К.

По результатам можно сказать следующее:
а) Компилятор в некоторых случаях создает неправильный код. В процессе написания программы было поймано 2 такие ситуации на отметке 265 байт бинарного кода. Глюки были устранены отключением оптимизации. При дальнейшей работе с отключенной оптимизацией глюки не отмечены.
б) Оптимизации, можно сказать нет. При отключении оптимизации при объеме кода в 265 байт, увеличение лишь на 4 байта. Поэтому и включать ее не особенно и нужно.
в) Код получается неплохой. Заметны места, где можно сделать лучше, но в общем все довольно не плохо.
г) В пакет включены исходники библиотечных функций, большинство на Си.
д) Линкер имеет кучу команд, позволяющих линковать, как душе угодно.

Как отлаживаться? Здесь все хуже. Отладки на уровне исходных тесктов добиться не удалось. Оболочка для поддержки эмулятора ICEBOX в принципе имеет возможность отладки на уровне исходника, но создать нужные для этого форматы файлов не получилось. Ответ от Zilog на письмо по этому поводу подтвердил это. Так что пришлось загружать hex-файл. При отладке функции ее адрес можно найти в map-файле и поставить точку останова в нужном месте, сравнивая дизассемблированный текст в окне отладчика с lst-файлом, созданным компилятором.


Дополнения, пожелания присылайте Алексею Владимирову, [email protected]

Секция 2 из 2ПредыдущаяСледующая

Вернуться в раздел «Электроника и компоненты»Обсудить эту статью на Форуме
ГлавнаяПоиск по сайтуО проектеФорумОбратная связь

© faqs. org.ru

PicProg — Coolcircuit.com

Карманный программатор PIC (PP-Prog)

Это проект PIC-программатора для программирования микроконтроллеров PIC через параллельный порт ПК, который поддерживает несколько программ, таких как EPICWin 9.0004 , WinPic800 , P18 и т. д. На печатной плате есть два светодиодных индикатора. Один для питания и один для программирования.

Полный комплект

 

Схема

 

Компонентная сторона

 

Односторонняя печатная плата

 

Поддержка устройств

  • 6 PIN : 10F200,10F202,10F204,10F206 и более
  • 8 PIN : 12C508, 12C508A, 12C509, 12C509A, 12C671, 12C672, 12CE518, 12CE519, 12CE673, 12CE674, 12F660 и другие
  • 18 PIN : 1616C554, 16C558, 16C620, 16C620A, 16C621, 16C621A, 16C622, 16C622A, 16C61, 16C71, 16CE623, 16CE624, 16CE625, 16F627, 16F628, 16C84, 16F84, 16F84A, 16C710, 16C711, 16C712, 16С715, 16С716, 16С717, 16Ф83, 16С505 и другие
  • 28 PIN : 16C62, 16C62A, 16C62B, 16C63, 16C63A, 16C66, 16C642, 16C662, 16C72, 16C72A, 16C73, 16C73A, 16C73B, 16C73C, 16C76, 16C76, 16C76, 16C76, 16C7, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16. 16F876, 16F873A, 16F876A, 18C242, 18F242, 18C252, 18F252 и другие
  • 40 PIN : 16C65, 16C65A, 16C65B, 16C64, 16C64A, 16C64B, 16C67, 16C74, 16C74A, 16C74B, 16C74C, 16C765, 16C77, 16C77A, 16C774, 16F871, 16F874, 16F877, 16F874A, 16F877A, 18F248, 18F258, 18С442, 18Ф442, 18Ф448, 18С452, 18Ф452, 18Ф458 и другие
  • dsPIC: dsPIC30F2010, dsPIC30F2011, dsPIC30F2012, dsPIC30F3010, dsPIC30F3011,
    dsPIC30F3012, dsPIC30F3014 и другие
  • RFPIC: RFPIC12F509, RFPIC12F675

Программное обеспечение, поддерживающее этот программатор
Существует несколько программ, поддерживающих этот программатор PIC, например EpicWin, WinPic800, ProPIC18 и т. д. Каждое программное обеспечение может поддерживать разные устройства. Например, EpicWin поддерживает
PIC12F, PIC16F и некоторые PIC18F и можно запустить на всех окнах. Но Winpic800 поддерживает PIC12F, PIC16F, PIC18F, включая dsPic (при настройке оборудования как ProPIC2), а ProPIC18 поддерживает только PIC18F и работает во всех окнах.

Это файл picprog для компонентов, печатных плат и схемы.

Как вставить микросхему в разъем ZIP

Как использовать с EPICWin

Чтобы использовать этот программатор PIC с EPICWin, сначала необходимо иметь программное обеспечение EPICWin, доступное на сайте Melabs.com. После загрузки программного обеспечения установите его, как описано в руководстве.

Для Windows XP/2000/NT необходимо установить драйвер:
Пуск -> Выполнить -> C:\epicwin\NTINST.EXE /install

Удалить драйвер.
Пуск -> Выполнить -> C:\epicwin\NTINST.EXE /remove

Примечание. Если вы используете Windows XP, вы должны запретить Windows XP опрашивать порт принтера с помощью
. Загрузите файл записи реестра с сайта Melabs.com и объедините его с реестром XP. После загрузки этого файла, чтобы объединить его с реестром, просто дважды щелкните по этому файл и выберите да и ОК
Скачать XP_stop_polling.reg

Теперь вы можете использовать этот программатор, дважды щелкнув файл epicwin. exe, если программатор не подключен к параллельному порту, появится предупреждающее сообщение «PIC Programmer». Не найдено»

Если при запуске EPICWin появляется сообщение «невозможно запустить драйвер PICLPTNT error xx hex(xx)», это происходит из-за того, что вы не включили параллельный порт в BIOS. Я обнаружил эту проблему с некоторыми моделями материнских плат, потому что по умолчанию было выбрано отключение параллельного порта или когда у вас установлена ​​новая версия прошивки BIOS.

Как использовать с winPic800

Чтобы использовать этот проект с winPic800, вы должны настроить оборудование, как показано на следующем рисунке.

Эта схема совместима с оборудованием propic2, поэтому она была выбрана. Затем установите все флажки, как показано на рисунке выше, и нажмите «Применить изменения».

Пакет

picprog: Ubuntu

Информация о пакете

Сопровождающий:
Группа контроля качества Debian
Срочно: *
Средняя срочность
Архитектуры: *
kfreebsd-любой linux-любой
Последняя загрузка:
1. 9.1-5

* фактические сведения о публикации могут различаться в этом дистрибутиве, это только настройки пакета по умолчанию.

Входные соединения

Launchpad не знает, что это за проект и серия пакет принадлежит. Ссылки с дистрибутивов на вышестоящий проект пусть распространение и вверх по течению сопровождающие делятся ошибками, исправлениями и переводами эффективно.

В Launchpad нет зарегистрированных проектов, которые являются потенциальными соответствует этому исходному пакету. Можете ли вы помочь нам найти один?

Лунный лобстер (активное развитие)
1.9.1-5 выпускать (Вселенная)
Кинетический Куду (текущая стабильная версия)
1.9.1-5 выпускать (Вселенная)
Джемми Медуза (поддерживается)
1.9.1-5 выпускать (Вселенная)
Фокусная ямка (поддерживается)
1.9.1-4сборка1 выпускать (Вселенная)
Бионический бобер (поддерживается)
1,9.1-3сборка1 выпускать (Вселенная)
Xenial Xerus (поддерживается)
1.9.1-3 выпускать (Вселенная)
Верный Тар (поддерживается)
1.9.1-3 выпускать (Вселенная)