MPLAB X

8-битные микроконтроллеры PICmicro (ПИКи) от Microchip и совместимые, а также 16-битные PIC24 и 32-битные PIC32

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

MPLAB X

Post by Shaos »

Установил в свой линух новую мультиплатформенную среду разработки от Microchip - всё работает :)
Поставил также компиляторы Си от них для обычных пиков, dsPIC24 и PIC32
Кстати среда разработки обнаружила, что у меня в системе установлен SDCC и также включила его в список возможных компиляторов ;)
Last edited by Shaos on 15 Nov 2011 19:26, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!
А если задействовать арифметику указателей - например ходить по строке символов, то компилятор садит некоторый не очень большой код вначало памяти - видимо придётся в бутлоадере обойтись без указателей...
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:
Shaos wrote:Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!
А если задействовать арифметику указателей - например ходить по строке символов, то компилятор садит некоторый не очень большой код вначало памяти - видимо придётся в бутлоадере обойтись без указателей...
... и без switch, который также городит таблицу переходов в начале памяти...

P.S. Почти закончил вот такой бутлоадер:
// PDBLv1 - Public Domain Boot Loader version 1 (13 Nov 2011)
// Created by Alexander A. Shabarshin <ashabarshin@gmail.com>
// For PIC16F870 on frequency 20 MHz and speed 9600
// Tested in PICC 9.82.9453 lite and MPLABX IDE beta 7.12
// You are free to use this code in any possible way...

// Usage: Press Enter multiple times immediately after reset (~1sec)
// then use commands below to run (all numbers are hexadecimal):
// !AAAA=BBBB - write word BBBB to program memory in address AAAA
// !AAA=BB - write byte BB to data memory in address AAA
// !AA=BB - write byte BB to EEPROM in address AA
// ?AAAA - read one word from program memory with address AAAA
// ?AAA - read one byte from data memory with address AAA
// ?AA - read one byte from EEPROM in address AA
// . - exit from bootloader and jump to address 0x0001
PICC очень много лишнего кода городит - надо будет потом с сей на асм переписать вручную

P.P.S. Убил несколько часов пока не понял, что MPLAB X не показывает содержимое памяти программ микроконтроллера, а показывает только то, что накомпилилось последний раз - т.е. если программа сама себя модифицировала в микроконтроллере, то среда разработки об этом не узнает и соответственно эти изменения не покажет, хоть оно и подключено через PICKit3!

P.P.P.S. Прочитать таки удалось - надо сначала считать память микроконтроллера в среду разработки, а потом выбрать пункт Refresh из меню по правой кнопке над окном Program :)
Last edited by Shaos on 16 Nov 2011 18:23, edited 1 time in total.
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Вот блин незадача - бутлоадер написанный на сях, занял 75% объёма памяти программ PIC16F870...

P.S. Вот собственно этот бутлоадер на 1.4К (в исполнении PICC v9.82 lite), который удалось ужать c 75% до 67% памяти PIC16F870 (т.е. с 3/4 до 2/3 от 2K-слов) - см. viewtopic.php?t=10830
Я тут за главного - если что шлите мыло на me собака shaos точка net
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: MPLAB X

Post by Tronix »

rw6hrm wrote: Надо ещё что-то подгрузить, чтобы MPLAB эту сяшную фиговину обрабатывал?
Ну, в сорцах прямо написано: " Compile with HT-PICC ". HT-PICC - это платный компилятор Hi-tech C для PIC-ов. Был. Но году в ~2010 слился с Microchip, по их же собственным словам: http://www.htsoft.com/HI-TECH%20Custome ... _Final.pdf

На просторах рунета и не только запросто можно найти последние версии со всем необходимым внутри архивов. Чуть ли не в гугле первой строчкой.

Но использовать этот компилятор - не рекомендуется. Он старый, не поддерживается, платный. Стоит использовать только если нужно скомпилировать проект и забыть.

Если планируется с проектом "повозиться", то нужно переползать на компилятор XC8, есть бесплатная версия у них на сайте (с ограничением на размер HEX файла и без оптимизации по быстродействию). Это не так уж и страшно, учитывая что код на Си и там и там. Меняются только немного названия портов, регистров.
Last edited by Tronix on 27 Mar 2018 09:18, edited 1 time in total.
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: MPLAB X

Post by angry_troll »

Tronix wrote: Microchip для PIC16 рекомендует компилятор XC8, есть бесплатная версия у них на сайте (с ограничением на размер HEX файла и без оптимизации по быстродействию).
А его вылеченный можно найти?
А под старые пики он компиляет (которые pic16 не enhanced)?
привет засранцу лавру :)
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: MPLAB X

Post by Tronix »

angry_troll wrote: А его вылеченный можно найти?
Да можно конечно найти. В рунете PICи любят. И торренты. Достаточно сложить одно с другим и получить результат.

Справедливости ради, Microchip дают 60-дневную триал PRO версию (без ограничений), достаточно зарегистрироваться у них на сайте и активировать evolution лицензию.
angry_troll wrote: А под старые пики он компиляет (которые pic16 не enhanced)?
Вот уж не знаю. Старые - это которые с окошком для УФ-стирания? Но вообще, они пишут что "MPLAB XC8 supports all 8-bit PIC MCUs".
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: MPLAB X

Post by angry_troll »

Скачал, таблетка подошла к хц8 1.45. de2f4eb1b882e197e32ca202092aa33d1929adb8
привет засранцу лавру :)
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: MPLAB X

Post by angry_troll »

Tronix wrote:
angry_troll wrote: А его вылеченный можно найти?
Да можно конечно найти. В рунете PICи любят. И торренты. Достаточно сложить одно с другим и получить результат.
Справедливости ради, Microchip дают 60-дневную триал PRO версию (без ограничений), достаточно зарегистрироваться у них на сайте и активировать evolution лицензию.
Я считаю так, что копирастов надо давить всеми способами. Никаких 60дней фрии, только фулл :)


angry_troll wrote: А под старые пики он компиляет (которые pic16 не enhanced)?
Вот уж не знаю. Старые - это которые с окошком для УФ-стирания? Но вообще, они пишут что "MPLAB XC8 supports all 8-bit PIC MCUs".
Я имел в виду первые из флешевых, типа легендарного 16ф84, всяких там 16ф876 и подобных. В общем сейчас смотрю -- инклуды к ним есть, действительно.
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: MPLAB X

Post by Shaos »

rw6hrm wrote:...всегда знал, что си зло. Лишнее подтверждение...
зло не си, а "проклятые капиталисты", которые пытаются на сборках открытых компиляторов зарабатывать бабки...

P.S. за открытыми сями для пиков идём в сторону SDCC
Я тут за главного - если что шлите мыло на me собака shaos точка net
Tronix
Doomed
Posts: 662
Joined: 18 Nov 2013 02:38
Location: Москва

Re: MPLAB X

Post by Tronix »

rw6hrm wrote:перепишем как обычно, под 6502 ;)
Ага, под вотэтот L28MCU. А что? Микроконтроллер- микроконтроллер. 6502? - 6502. Жаль только у него флеша внутри нет ;)
angry_troll
Doomed
Posts: 449
Joined: 08 Apr 2013 04:04
Location: 213.247.249.139

Re: MPLAB X

Post by angry_troll »

Shaos wrote: P.S. за открытыми сями для пиков идём в сторону SDCC
Я смотрел его выхлоп для pic16... Нет, спасибо :)
привет засранцу лавру :)
User avatar
Shaos
Admin
Posts: 24011
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: MPLAB X

Post by Shaos »

angry_troll wrote:
Shaos wrote: P.S. за открытыми сями для пиков идём в сторону SDCC
Я смотрел его выхлоп для pic16... Нет, спасибо :)
ну они чото выдают постоянно - последняя версия - февраль 2018
поди лучше становится со временем, нет?...
Я тут за главного - если что шлите мыло на me собака shaos точка net