nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 16 Oct 2018 22:46



Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
MPLAB X 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
Установил в свой линух новую мультиплатформенную среду разработки от Microchip - всё работает :)
Поставил также компиляторы Си от них для обычных пиков, dsPIC24 и PIC32
Кстати среда разработки обнаружила, что у меня в системе установлен SDCC и также включила его в список возможных компиляторов ;)

_________________
:eugeek: https://twitter.com/Shaos1973


Last edited by Shaos on 15 Nov 2011 20:26, edited 1 time in total.



12 Nov 2011 22:55
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
Post 
Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!

_________________
:eugeek: https://twitter.com/Shaos1973


13 Nov 2011 22:08
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!


А если задействовать арифметику указателей - например ходить по строке символов, то компилятор садит некоторый не очень большой код вначало памяти - видимо придётся в бутлоадере обойтись без указателей...

_________________
:eugeek: https://twitter.com/Shaos1973


14 Nov 2011 19:36
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
Post 
Shaos wrote:
Shaos wrote:
Недавно приобрёл подключаемый программатор-дебуггер PICKit3, который замечательно состыковался с этой линуксовой средой разработки. Поработал с nedoCPU-16 и оказалось, что PICC (бывший HI-TECH C) кладёт код в конец программной памяти, имея в начале памяти только одну единственную команду перехода на начало скомпилированного кода, который сидит в конце - получается, что я могу таким образом написать бутлоадер на сях!


А если задействовать арифметику указателей - например ходить по строке символов, то компилятор садит некоторый не очень большой код вначало памяти - видимо придётся в бутлоадере обойтись без указателей...


... и без switch, который также городит таблицу переходов в начале памяти...

P.S. Почти закончил вот такой бутлоадер:

Quote:
// 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 :)

_________________
:eugeek: https://twitter.com/Shaos1973


Last edited by Shaos on 16 Nov 2011 19:23, edited 1 time in total.



15 Nov 2011 09:21
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
Post 
Вот блин незадача - бутлоадер написанный на сях, занял 75% объёма памяти программ PIC16F870...

P.S. Вот собственно этот бутлоадер на 1.4К (в исполнении PICC v9.82 lite), который удалось ужать c 75% до 67% памяти PIC16F870 (т.е. с 3/4 до 2/3 от 2K-слов) - см. http://www.nedopc.org/forum/viewtopic.php?t=10830

_________________
:eugeek: https://twitter.com/Shaos1973


15 Nov 2011 22:20
Profile WWW
Maniac
User avatar

Joined: 13 Nov 2007 12:09
Posts: 275
Location: Ставрополь
Reply with quote
Апну некротемку...
Есть MPLAB, базовая установка, есть проект https://knzl.at/ps2-keyboard-for-apple-ii/ . Исходники на пик-сях написаны. Пытаюсь компильнуть входящие в сорцы файлы, прога говорит, что у меня неправильный формат файлов. С асмовскими исходниками работает нормально. Надо ещё что-то подгрузить, чтобы MPLAB эту сяшную фиговину обрабатывал?


27 Mar 2018 09:53
Profile WWW
Doomed

Joined: 18 Nov 2013 03:38
Posts: 560
Location: Москва
Reply with quote
rw6hrm wrote:
Надо ещё что-то подгрузить, чтобы MPLAB эту сяшную фиговину обрабатывал?


Ну, в сорцах прямо написано: " Compile with HT-PICC ". HT-PICC - это платный компилятор Hi-tech C для PIC-ов. Был. Но году в ~2010 слился с Microchip, по их же собственным словам: http://www.htsoft.com/HI-TECH%20Customer%20Letter_Final.pdf

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

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

Если планируется с проектом "повозиться", то нужно переползать на компилятор XC8, есть бесплатная версия у них на сайте (с ограничением на размер HEX файла и без оптимизации по быстродействию). Это не так уж и страшно, учитывая что код на Си и там и там. Меняются только немного названия портов, регистров.


Last edited by Tronix on 27 Mar 2018 10:18, edited 1 time in total.



27 Mar 2018 10:16
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Tronix wrote:
Microchip для PIC16 рекомендует компилятор XC8, есть бесплатная версия у них на сайте (с ограничением на размер HEX файла и без оптимизации по быстродействию).

А его вылеченный можно найти?
А под старые пики он компиляет (которые pic16 не enhanced)?


27 Mar 2018 10:17
Profile
Maniac
User avatar

Joined: 13 Nov 2007 12:09
Posts: 275
Location: Ставрополь
Reply with quote
Tronix спасибо. Значит пик фтопку, перепишем как обычно, под 6502 ;)
...всегда знал, что си зло. Лишнее подтверждение...


27 Mar 2018 10:22
Profile WWW
Doomed

Joined: 18 Nov 2013 03:38
Posts: 560
Location: Москва
Reply with quote
angry_troll wrote:
А его вылеченный можно найти?


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

Справедливости ради, Microchip дают 60-дневную триал PRO версию (без ограничений), достаточно зарегистрироваться у них на сайте и активировать evolution лицензию.

angry_troll wrote:
А под старые пики он компиляет (которые pic16 не enhanced)?


Вот уж не знаю. Старые - это которые с окошком для УФ-стирания? Но вообще, они пишут что "MPLAB XC8 supports all 8-bit PIC MCUs".


27 Mar 2018 10:32
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Скачал, таблетка подошла к хц8 1.45. de2f4eb1b882e197e32ca202092aa33d1929adb8


27 Mar 2018 15:45
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Tronix wrote:
angry_troll wrote:
А его вылеченный можно найти?

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

Я считаю так, что копирастов надо давить всеми способами. Никаких 60дней фрии, только фулл :)



Quote:
angry_troll wrote:
А под старые пики он компиляет (которые pic16 не enhanced)?


Вот уж не знаю. Старые - это которые с окошком для УФ-стирания? Но вообще, они пишут что "MPLAB XC8 supports all 8-bit PIC MCUs".

Я имел в виду первые из флешевых, типа легендарного 16ф84, всяких там 16ф876 и подобных. В общем сейчас смотрю -- инклуды к ним есть, действительно.


27 Mar 2018 15:47
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17000
Location: Colorado
Reply with quote
rw6hrm wrote:
...всегда знал, что си зло. Лишнее подтверждение...


зло не си, а "проклятые капиталисты", которые пытаются на сборках открытых компиляторов зарабатывать бабки...

P.S. за открытыми сями для пиков идём в сторону SDCC

_________________
:eugeek: https://twitter.com/Shaos1973


27 Mar 2018 19:18
Profile WWW
Doomed

Joined: 18 Nov 2013 03:38
Posts: 560
Location: Москва
Reply with quote
rw6hrm wrote:
перепишем как обычно, под 6502 ;)

Ага, под вотэтот L28MCU. А что? Микроконтроллер- микроконтроллер. 6502? - 6502. Жаль только у него флеша внутри нет ;)


27 Mar 2018 22:53
Profile
Doomed

Joined: 08 Apr 2013 05:04
Posts: 441
Location: 213.247.249.139
Reply with quote
Shaos wrote:
P.S. за открытыми сями для пиков идём в сторону SDCC

Я смотрел его выхлоп для pic16... Нет, спасибо :)


28 Mar 2018 03:51
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 16 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.