Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 28.12.2012, 17:10  
rus_12345
Частый гость
 
Регистрация: 06.03.2011
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
rus_12345 на пути к лучшему
По умолчанию Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Всем привет! Есть одна задачка, но пока не знаю в какую сторону копать, и вообще возможно ли такое сделать на PIC16. Мне нужно загружать разные прошивки (ПО) в микроконтроллер. Идея такая: написать программу ЗАГРУЗЧИК и прошить в микроконтроллер самым обычным способом, через программатором из компьютера.Задача этого загрузчика: считать из внешней флэш памяти готовую прошивку (там их будет несколько на выбор) и загрузить в оперативную память микроконтроллера т.е. не прошить программно микроконтроллер, а всего лишь записать в ОЗУ начиная с указанного адреса ОЗУ рядом с загрузчиком, и далее передать управление контроллером этой загруженной прошивке (ПО). После того как данная загруженная прошивка отработает, она должна передать управление обратно загрузчику. Нужно сделать простенький компьютер, что-то типа РК-86 например. Графический LCD и внешнюю память подключить это уже не такая большая проблема. Мне не понятны некоторые моменты, но вот самые важные: 1) Прошитый МК после запуска загружается в ОЗУ МК, но вот с какого адреса начинается загрузка не могу понять. 2) компилятор, я так думаю, создает HEX для МК с расчетом что эта прошивка будет загружена в ОЗУ МК начиная с стандартного для МК адреса, но вот если загружать дополнительную прошивку рядом с основной прошивкой (лоадера) для передачи ей управления, будет ли вообще что-то работать? Только пожалуйста не ругайтесь сильно, я пока много чего не понимаю, по возможности читаю нужную литературу. Буду очень благодарен за информацию, которая поможет мне в моем не легком деле.
Программированием МК занимаюсь не очень давно. Программирую на MikroC, по возможности стараюсь что-то на ASM писать. Я думаю что мою задачу, если вообще возможно реализовать, можно только на ASM т.к. на C ни чего похожего для прямого обращения к ОЗУ МК не нашел. На ASM тоже пока не разобрался как получить доступ к оперативке. В примерах MikroC нашел исходники BootLoader-а, но по-моему это не то что мне нужно. Как я понял там идет программная пере прошивка МК через COM порт.

Вот исходники BootLoader-а:
Bootloader.rar
Реклама:
rus_12345 вне форума  
Непрочитано 28.12.2012, 17:16  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Программа нах-ся и исполняется из ПЗУ(память программ типа flash). Шина данных и команд разделены. Поэтому PIC16 не могут исполнять код из ОЗУ. В ОЗУ могут храниться только данные.
realid вне форума  
Непрочитано 28.12.2012, 18:15  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

PIC, AVR, STM8 и многие другие имеют Гарвардскую архитектуру.
Почитайте про архитектуру фон Неймана

С PICом ничего не выйдет.
omercury вне форума  
Непрочитано 28.12.2012, 19:46  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Вроде бы STM8L умеет выполнять программу из ОЗУ.
Easyrider83 вне форума  
Непрочитано 28.12.2012, 20:02  
Boba_spb
Почётный гражданин KAZUS.RU
 
Регистрация: 08.06.2008
Сообщений: 1,394
Сказал спасибо: 4
Сказали Спасибо 183 раз(а) в 167 сообщении(ях)
Boba_spb на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Да можно грузить программу хоть в ОЗУ, хоть во FLASH (в зависимости от процессора) и перпедавать ей управление.
Написали свой BootLoader, прошили его и ... дальше все в твоих руках
Boba_spb вне форума  
Непрочитано 28.12.2012, 20:11  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Сообщение от Easyrider83 Посмотреть сообщение
Себя шить умеют PIC18 и выше.
PIC16 тоже. Например, сабжевые. Курите мат. часть.
realid вне форума  
Непрочитано 28.12.2012, 20:15  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

А в чем фишка выполнять программу именно из ОЗУ? Во-первых его мало, во-вторых, современные флеши выдерживают огромное количество циклов записи.
Easyrider83 вне форума  
Непрочитано 28.12.2012, 20:16  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Сообщение от realid Посмотреть сообщение
PIC16 тоже. Например, сабжевые. Курите мат. часть.
Да уже покурил, спасибо. Нашел даже примеры UART бутлодырей на это семейство.
Easyrider83 вне форума  
Непрочитано 28.12.2012, 20:29  
realid
Супер-модератор
 
Аватар для realid
 
Регистрация: 15.10.2007
Сообщений: 3,529
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
realid на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

Сообщение от Easyrider83 Посмотреть сообщение
А в чем фишка выполнять программу именно из ОЗУ?
Да мне сдается, что ТС попутал. Понезнанке.
realid вне форума  
Непрочитано 28.12.2012, 21:38  
russo_turisto
Прописка
 
Регистрация: 16.01.2007
Адрес: Astana KZ
Сообщений: 243
Сказал спасибо: 48
Сказали Спасибо 38 раз(а) в 32 сообщении(ях)
russo_turisto на пути к лучшему
По умолчанию Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877

А сколько вариантов этих программ?

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

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка в OMAP35xx toxxinus Микроконтроллеры, АЦП, память и т.д 1 02.02.2010 01:35
Проблема с запуском pic16f876/877 zms2003 Микроконтроллеры, АЦП, память и т.д 27 17.04.2009 14:07
СВЧ SHARP-877. Потухло табло. Как востановить индикацию? ikorolev Поиск схем. Делимся схемами 0 15.08.2008 12:08
Загрузка MPFS файла в микроконтроллер PIC18F87J60 fakel15 Микроконтроллеры, АЦП, память и т.д 3 09.11.2007 22:58
загрузка программы crossfire Микроконтроллеры, АЦП, память и т.д 2 08.10.2006 18:51


Часовой пояс GMT +4, время: 17:59.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot