реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как реализовать ICSP для PIC18CXXX?
Fledgling
сообщение Dec 1 2008, 13:11
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Приветствую!

Опишите плз алгоритм перепрограммирования микроконтроллера PIC с использованием ICSP (In-Circuit Serial Programming).

Есть ли какой нибудь готовый Си-шный код (ANSI, ну или для люой платформы) который реализует алгоритм программирования?
То есть необходим сам "переход" из данных в HEX файле в подачу сигналов ("Дерганье"))) ножек CLOCK и DATA PIC'a?

Приветствуются любые сведения, русскоязычные мануалы, примеры кода и ссылки по темеsmile.gif
Заранее спасибо
Go to the top of the page
 
+Quote Post
volodya
сообщение Dec 2 2008, 05:54
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 194
Регистрация: 14-02-07
Из: УКРАИНА
Пользователь №: 25 344



Цитата(Fledgling @ Dec 1 2008, 15:11) *
Приветствую!

Опишите плз алгоритм перепрограммирования микроконтроллера PIC с использованием ICSP (In-Circuit Serial Programming).


Вообще то на сайте MICROCHIP есть подробная спецификация программирования, три линии (MCLR, PGD, PGC + питание).
http://www.microchip.com/stellent/idcplg?I...amp;nodeId=1407

Посредством доступного программатора (MPLAB ICD2/ICD3/REAL-ICE или клона, или других программаторов сдесь в форуме ссылки были) - уже готовые рещения.
Или Вы хотите велосипед поизобретать - тогда удачи.


--------------------
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард
Go to the top of the page
 
+Quote Post
Fledgling
сообщение Dec 2 2008, 06:01
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Цитата(volodya @ Dec 2 2008, 10:54) *
Посредством доступного программатора (MPLAB ICD2/ICD3/REAL-ICE или клона, или других программаторов сдесь в форуме ссылки были) - уже готовые рещения.
Или Вы хотите велосипед поизобретать - тогда удачи.

К сожалению, есть необходимость изобрести велосипедsmile.gif
Программатор должен быть встроен в устройство, так как у PIC'a нет выходов на внешние разьемы, есть выход через интерфейс CAN у другого процессора, который и должен программировать PIC данными, поступившими ему по CAN.

Сообщение отредактировал Fledgling - Dec 2 2008, 06:02
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 2 2008, 07:18
Сообщение #4


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Fledgling @ Dec 2 2008, 10:01) *
у другого процессора, который и должен программировать PIC данными, поступившими ему по CAN.

Boot loader не катит ?
Go to the top of the page
 
+Quote Post
Fledgling
сообщение Dec 2 2008, 08:23
Сообщение #5


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Цитата(_Pasha @ Dec 2 2008, 12:18) *
Boot loader не катит ?

Ммм... а что это?smile.gif
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 2 2008, 09:03
Сообщение #6


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Fledgling @ Dec 2 2008, 12:23) *
Ммм... а что это?smile.gif

В том смысле, что написАть загрузчик, который будет получать команды с описанного Вами МК и менять прошивку самостоятельно.
гугл: pic18 self-programming boot loader
и я не думаю, что Вы ничего не поймете. smile.gif
Go to the top of the page
 
+Quote Post
Fledgling
сообщение Dec 2 2008, 10:55
Сообщение #7


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Цитата(_Pasha @ Dec 2 2008, 14:03) *
В том смысле, что написАть загрузчик, который будет получать команды с описанного Вами МК и менять прошивку самостоятельно.
гугл: pic18 self-programming boot loader
и я не думаю, что Вы ничего не поймете. smile.gif


Такой подход будет проще программирования через ICPS?
Идея состояла в том, чтобы вообще не пришлось изучать программирование PIC'a, а просто подавать с микроконтроллера (с изученными системами команд) сигналы через последовательный интерфейс.

Или я что то неправильно понял?smile.gif
Судя по описанию можно загрузить стандартный бутлоадер который будет также принимать данные по последовательному порту?

Сообщение отредактировал Fledgling - Dec 2 2008, 10:59
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 2 2008, 11:38
Сообщение #8


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Fledgling @ Dec 2 2008, 14:55) *
Или я что то неправильно понял?smile.gif
Судя по описанию можно загрузить стандартный бутлоадер который будет также принимать данные по последовательному порту?

Дык, или я не понял...
1. Данные он может принимать откуда угодно породившему его программеру.
2. Т.к. это программа, то она жрет флеш-память. Это минус.

В общем, читайте ICSP. Выбирайте.[attachment=27330:attachment]
Go to the top of the page
 
+Quote Post
Fledgling
сообщение Dec 2 2008, 12:01
Сообщение #9


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Цитата(_Pasha @ Dec 2 2008, 16:38) *
Дык, или я не понял...
1. Данные он может принимать откуда угодно породившему его программеру.
2. Т.к. это программа, то она жрет флеш-память. Это минус.

В общем, читайте ICSP. Выбирайте.[attachment=27330:attachment]


Спасибо!:)

Но все таки по Вашей оценке - который метод более трудоемок при минимальном знании PIC'a?

И еще: мануалы по ICSP я изучил, прочитал про 4х битные команды и прочее но общий алгоритм перепрошивки не понял. Нельзя ли обьяснить наиболее "чайницким" языком?smile.gif

Сообщение отредактировал Fledgling - Dec 2 2008, 12:05
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 2 2008, 12:56
Сообщение #10


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(Fledgling @ Dec 2 2008, 16:01) *
Но все таки по Вашей оценке - который метод более трудоемок при минимальном знании PIC'a?

Наверное, таки ICSP будет проще и надежнее, потому что может ведь слететь флеш, вместе с бутом.
Цитата
Нельзя ли обьяснить наиболее "чайницким" языком?smile.gif

Ну, программаторы не конструировал, поэтому могу оказаться ламером. Лучше пусть кто-нить другой попробует smile.gif
Go to the top of the page
 
+Quote Post
VDLab
сообщение Dec 2 2008, 15:53
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419



Думаю все же бутлодеру в данном случае самое место, иначе придется ставить еще один МК + повышающий преобразователь напряжения+флешь-память для временного хранения прошивки+всю необходимую обвязку для этого хозяйства. Лучше взять сразу один МК, с обьемом памяти побольше(мало ли какие функции захочется добавить в будущем), и не придумывать такие жуткие извраты. У вас же не Evaluation board какой нибудь, а целевое устройство, зачем же себе лишних проблем добавлять?
Если все же хочется сделать таким заковыристым способом, то схему программатора и реализацию алгоритмов программ можно подсмотреть в исходниках Микрочиповского Pickit2.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Dec 2 2008, 18:38
Сообщение #12


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(VDLab @ Dec 2 2008, 19:53) *
Думаю все же бутлодеру в данном случае самое место, иначе придется ставить еще один МК + повышающий преобразователь напряжения+флешь-память для временного хранения прошивки+всю необходимую обвязку для этого хозяйства.

Совершенно не того!
МК у человека уже ЭСТЬ, а городить 12 вольт вовсе не обязательно, если имеется функция LVip, то есть фьюз предварительно прошит.
Go to the top of the page
 
+Quote Post
VDLab
сообщение Dec 2 2008, 20:21
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 133
Регистрация: 30-04-07
Из: DP.UA
Пользователь №: 27 419



Все равно не пойму смысла применения ICSP в этом случае. Простенький бутлодер (а навороченного в данном случае и не требуется) занимает не так уж и много места в памяти, что бы такой огород городить. Вот пусть второй МК и принимает данные, проверяет их правильность (а это нужно делать обязательно в обоих случаях) и отдает их ПИКу. Хошь по ЮАРТу, а хошь по любому другому интерфейсу, какой удобнее, Дешево и сердито. Не тратится лишних выводов (выводы LVP, PGC, PGD), не требуется другая обвязка (Пр.Напр.), да и алгоритм бутлодера попроще алгоритма ICSP. Так что выбирайте...

Сообщение отредактировал VDLab - Dec 2 2008, 20:23
Go to the top of the page
 
+Quote Post
volodya
сообщение Dec 3 2008, 06:49
Сообщение #14


Частый гость
**

Группа: Свой
Сообщений: 194
Регистрация: 14-02-07
Из: УКРАИНА
Пользователь №: 25 344



Цитата(Fledgling @ Dec 2 2008, 12:55) *
Такой подход будет проще программирования через ICPS?
Идея состояла в том, чтобы вообще не пришлось изучать программирование PIC'a, а просто подавать с микроконтроллера (с изученными системами команд) сигналы через последовательный интерфейс.


Можнл согласиться с VDLab bootloader потребует минимума аппаратных затрат, хотя без знаний программирование PIC не обойтись.
A FLASH Bootloader for PIC16 and PIC18 Devices - Name: AN851 - пример
на http://www.microchip.com/stellent/idcplg?I...ppnote=en012031
там вреде пример кода был.
А программатор будет гемороистее городить, - хотя может зависить от устройства.


--------------------
"Для того чтобы избежать критики, надо ничего не делать, ничего не говорить и никем не быть"
"Каждый из нас бывает дураком по крайней мере пять минут в день; мудрость заключается в том, чтобы не превысить лимит." Элберт Хаббард
Go to the top of the page
 
+Quote Post
Fledgling
сообщение Dec 3 2008, 06:57
Сообщение #15


Участник
*

Группа: Новичок
Сообщений: 23
Регистрация: 27-09-08
Пользователь №: 40 529



Цитата(volodya @ Dec 3 2008, 11:49) *
Можнл согласиться с VDLab bootloader потребует минимума аппаратных затрат, хотя без знаний программирование PIC не обойтись.
A FLASH Bootloader for PIC16 and PIC18 Devices - Name: AN851 - пример
на http://www.microchip.com/stellent/idcplg?I...ppnote=en012031
там вреде пример кода был.
А программатор будет гемороистее городить, - хотя может зависить от устройства.


Аппаратная часть уже готова, в нем обвязка для ICSP была выполнена "на будущее", ранее PIC программировался вскрытием корпуса и прямым подсоединением таблетки-программатора. Возникла необходимость программировать PIC не вскрывая блока, а аппаратную часть менять уже поздноsmile.gif

Поэтому видимо придется использовать "чистый" ICSP
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01512 секунд с 7
ELECTRONIX ©2004-2016