28.12.2012, 22:55
|
#11
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Сообщение от Easyrider83
|
Вроде бы STM8L умеет
|
Вроде как обещание пока обещанием и остаётся.
|
|
|
|
29.12.2012, 09:32
|
#12
|
Частый гость
Регистрация: 06.03.2011
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Сообщение от russo_turisto
|
А сколько вариантов этих программ?
Если они заранее известны, то загружаем их все по определеным адресам во флэш, а нужную программу для запуска узнаем из внешних устройств, хоть с кнопок, осуществляя безусловные переход по нужному адресу.
|
Все понятно с гарвардской архитектурой… Сколько вариантов программ будет пока не известно. Не могли бы вы подсказать приблизительно, как это сделать на СИ? Допустим контроллер прошит BootLoader-ом, как из лоадера загрузить программу в флэш память программ начиная с указанного адреса, рядом с лоадером и передать ей управление? Как я понял из выше сказанного, прошивка записывается в МК в специальную флэш память, оттуда же и работает, а все, скажем так ,созданные переменные/регистры т.е. временные какие-то данные программы они в ОЗУ гуляют. Не будет ли конфликтов с данными лоадера и данными новой загруженной программы в ОЗУ которая тоже будет создавать в оперативке свои данные для работы с ними? Может перед загрузкой новой программы почистить ОЗУ если это возможно? В справке есть такие директивы: org, absolute. что –то мне подсказывает что надо по глубже копать под них.
|
|
|
|
29.12.2012, 12:52
|
#13
|
Почётный гражданин KAZUS.RU
Регистрация: 29.12.2012
Адрес: Питер
Сообщений: 982
Сказал спасибо: 131
Сказали Спасибо 230 раз(а) в 157 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Компилите загрузчик. Смотрите сколько памяти программ и ОЗУ он занимает. Всё, что будет загружаться дополнительно - должно быть скомпилено с адреса, выше последнего занимаемого загрузчиком. Загрузчик обычно передаёт управление по заранее скомпиленой дополнительной таблице векторов прерывания загрузочного кода. Для передачи управления обратно загрузчику - используйте заранее определенную переменнную в области озу, адрес которой известен и загрузчику и дополнительной программе и вызывайте сброс.
Лучше почитайте про то, как вообще работают загрузчики. Много вопросов отпадёт.
|
|
|
|
30.12.2012, 13:32
|
#14
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
И каждый раз при смене пользовательского кода перешиваете FLASH.
Как кривой вариант для отработки сойдёт, но не надолго.
Нужен МК, умеющий работать с внешней памятью программ и данных.
Загрузчик грузит в память данных пользовательский код, переключает её на место внешней памяти программ. Далее софтрезет и - вот оно, счастье.
Или что-то типа TUSB3410 с нормальной периферией и достаточным количеством портов.
Ищущий, да обрящет. (с)
|
|
|
|
30.12.2012, 23:28
|
#15
|
Почётный гражданин KAZUS.RU
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Сообщение от omercury
|
Нужен МК, умеющий работать с внешней памятью программ и данных. (с)
|
CY7C68013 - имеет память программ являющейся RAM.
Начальный старт из EEPROM. В EEPROM пишете загрузчик. В RAM грузите программы. Тактовая до 48 МГЦ, количество ног до 128.
Или PIC18 имеет возможность работать с внешней памятью программ http://catalog.gaw.ru/index.php?page...etail&id=17485 цепляете SRAM и вперёд.
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
Последний раз редактировалось picavr; 30.12.2012 в 23:30.
|
|
|
|
31.12.2012, 03:07
|
#16
|
Гражданин KAZUS.RU
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
ARM-ы все умеют. В том числе cortex. У некоторых ОЗУ больше чем флэши у младших PIC.
|
|
|
|
31.12.2012, 03:39
|
#17
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Сообщение от picavr
|
CY7C68013
|
Древнейшие 8032 и их клоны умеют, Те же i51 только помедленнее и подешевле.
Сообщение от SasaVitebsk
|
ARM-ы все умеют.В том числе cortex.
|
...и загрузчик уже зашит.
|
|
|
|
31.12.2012, 10:26
|
#18
|
Супер-модератор
Регистрация: 15.10.2007
Сообщений: 3,530
Сказал спасибо: 172
Сказали Спасибо 1,560 раз(а) в 810 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
PIC32 тоже умеют
|
|
|
|
31.12.2012, 12:35
|
#19
|
Вид на жительство
Регистрация: 05.01.2007
Адрес: Украина, г. Макеевка
Сообщений: 408
Сказал спасибо: 229
Сказали Спасибо 62 раз(а) в 52 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Может ТС лучше использовать интерпретатор, а не загрузчик. Сделать простецкую реализацию, а скрипты (исходники) читать и сразу выполнять из внешней памяти. А вообще постановка задачи странновата, может ему действительно просто каждый раз перешивать программу и придет к нему счастье
__________________
![](signaturepics/sigpic142161_6.gif)
____________________________________________
Internet Explorer - это такая программа, с помощью которой можно зайти на сайт http://opera.com и скачать себе браузер...
|
|
|
|
31.12.2012, 23:32
|
#20
|
Гражданин KAZUS.RU
Регистрация: 17.07.2006
Адрес: PV.DP.UA
Сообщений: 620
Сказал спасибо: 3
Сказали Спасибо 60 раз(а) в 48 сообщении(ях)
|
Re: Загрузка дополнительного ПО в микроконтроллер PIC16F876/877
Некоторые представители из PIC18(тот же PIC18F97J60) могут исполнять код из внешней памяти. Ничто не мешает поставить туда SRAM (до 2МБ, правда демультиплексор адреса понадобится)а загрузчик разместить во внутренней флешь памяти.
__________________
Если ты читаешь это - значит тебе нечем заняться...
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 10:32.
|
|