Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Fujitsu MB90F387S
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
doom13
Здравствуйте.
Поставлена задача разобраться с возможностью удалённого обновления ПО для MB90F387S. Почитав доки понял, что существует встроенный загрузчик по UART и утилита для загрузки прошивки, но у нас есть удалённый доступ к контроллеру только по CAN. Вопрос, можно ли разделить флэш-память на два куска: один под загрузчик, второй под основную программу? Если да, то каким образом это сделать и как определить, какие куски кода в какую память ложатся?
doom13
Ещё один вопрос, можно ли каким-то образом задать адреса по которым размещается прошивка во флэш-память?
spf
Встроенная система обновления прошивки под названием "BIROM" требует:
  • Аппаратный сброс
  • Установку определённой комбинации на выводах (режимы загрузки)
Это встроенная в МК возможность обновления прошивки через UART.

Но в качестве ISP (in-system programming), что по всей видимости требуется, использоваться данный сервис не может.

В примерах ПО на CD был пример bootloader'ов для этого МК или одноклассников.
В них всё расписано, что и как работает и взаимосвязано.
Полностью рабочие примеры, можно брать за основу и делать под себя, менять интерфейсы и протоколы для них.

На теперешнем сайте Spansion сейчас не вижу подобных примеров.

Прошивку можно разместить по любому адресу во встроенной flash, по адресу вектора сброса должен быть сохранён соответствующий адрес старта.


PS: староватый МК
doom13
Цитата(spf @ Jun 2 2014, 16:17) *
PS: староватый МК

Я бы сказал даже очень старый, он стоит в давно работающей системе (года 2008), которую делали другие люди. Обновлять имеющуюся прошивку, вроде как, никто и не планирует, но захотелось (тут хочется сказать плохое слово) очень, что бы была такая возможность.
Почитал FAQ, на который Вы и даёте ссылку в одной из тем. Стало понятно, что флэш из флэша не прошить и есть какой-то пример загрузчика по CAN, который мне скачать так и не удалось.
Возникает тогда второй вариант (который, видимо, и реализован в example), есть какая-то часть программы, которая умеет принимать данные и писать флэш, при необходимости она ложится в RAM и из рам выполняет перепрошивку процессора. Пока не понимаю, каким образом можно привязать определённые куски кода (секции) к определённым адресам в памяти, что вероятно потребуется для решения задачи. И смущает размер RAM всего 2 кБ, не придётся ли писать данную функцию на asm?

Цитата(spf @ Jun 2 2014, 16:17) *
В примерах ПО на CD был пример bootloader'ов для этого МК или одноклассников.
В них всё расписано, что и как работает и взаимосвязано.
Полностью рабочие примеры, можно брать за основу и делать под себя, менять интерфейсы и протоколы для них.
На теперешнем сайте Spansion сейчас не вижу подобных примеров.

Примеры какие-то скачал, но для загрузчика что-то не идёт в комплекте.
Вижу, Вы работали с данными контроллерами, может быть у Вас сохранился пример вышеупомянутого загрузчика по CAN?

Ещё хотел спросить, как-то ведь можно использовать Eclipse в качестве среды разработки под данный контроллер? Если да, что для этого нужно?
spf
Готового загрузчика по CAN в примерах не было, все брали за основу вариант с UART и дальше действовали по своим протоколами и требованиям.

В RAM копируется только небольшая функция записи слова во flash, остальное выполняется из flash, поэтому 2кБ RAM достаточно.

Смотри пример, полностью рабочий.

С Eclipse не приходилось работать.
doom13
Цитата(spf @ Jun 3 2014, 10:12) *
Готового загрузчика по CAN в примерах не было, все брали за основу вариант с UART и дальше действовали по своим протоколами и требованиям.

В RAM копируется только небольшая функция записи слова во flash, остальное выполняется из flash, поэтому 2кБ RAM достаточно.

Смотри пример, полностью рабочий.

С Eclipse не приходилось работать.


Спасибо, счас буду смотреть.
spf
Для работы bootloader(UART) имеется ПО для ПК (с помощью которого можно менять прошивку) , см. readme.
Если требуется, то и его скину.

Лирика:
Освоить технологию ISP всегда полезно, в последствии можно будет переносить и на другие платформы.

В инете примеры остались видимо только на китайском сайте - http://www.fujitsu.com/cn/fsdc/mcu/mcu_all_software.html
doom13
Цитата(spf @ Jun 3 2014, 14:26) *
Для работы bootloader(UART) имеется ПО для ПК (с помощью которого можно менять прошивку) , см. readme.
Если требуется, то и его скину.

Если можно, то бросайте, буду благодарен.

Цитата(spf @ Jun 3 2014, 14:26) *
Лирика:
Освоить технологию ISP всегда полезно, в последствии можно будет переносить и на другие платформы.

С данной технологией можно сказать дружим, есть наработки для других процов и FPGA, а вот с данным экземпляром пока что-то туговато.

Цитата(spf @ Jun 3 2014, 14:26) *
В инете примеры остались видимо только на китайском сайте - http://www.fujitsu.com/cn/fsdc/mcu/mcu_all_software.html

За это тоже спасибо, посмотрим. С сайта www.spansion.com тоже скачивал похожие примеры.
spf
Цитата(doom13 @ Jun 3 2014, 18:06) *
Если можно, то бросайте, буду благодарен.


Нашёл по имени на теперешнем сайте
http://www.spansion.com/marketingdownloads...wizard-v2-6.zip

Цитата(doom13 @ Jun 3 2014, 18:06) *
С данной технологией можно сказать дружим, есть наработки для других процов и FPGA, а вот с данным экземпляром пока что-то туговато.

Всё очень схоже с другими вариантами за исключением того, что непосредственно код записи слова во flash должен размещаться в RAM.
Первое и важное - составить карту памяти, а сами функции адаптировать из примеров под конкретный протокол.

В системе используется протокол CAN собственной разработки или что-то стандартное?
doom13
Цитата(spf @ Jun 5 2014, 16:14) *
В системе используется протокол CAN собственной разработки или что-то стандартное?

Что-то своё, пока не разбирался, наши давно сделали и забыли, а начальство счас хочет, чтоб аналогично остальным блокам была возможность удалённого обновления ПО (надо же, чтоб всё одинаково).
Цитата(spf @ Jun 5 2014, 16:14) *
Нашёл по имени на теперешнем сайте
http://www.spansion.com/marketingdownloads...wizard-v2-6.zip

Спасибо.
Цитата(spf @ Jun 5 2014, 16:14) *
Первое и важное - составить карту памяти, а сами функции адаптировать из примеров под конкретный протокол.

Вот тут как-то и не могу разобраться. Каким образом куски кода можно положить по определённым адресам, как места в RAM выделить для функций, которые будут работать из оперативки, каким образом переходы с одного адреса на другой осуществляются?

Работал в основном с техасами, там cmd-файл, расписана вся память, можно её группировать, делить как хочешь, секции свои прописывать и в них свои какие-то данные ложить. Тут..... Вроде бы в асмовском файле что-то похожее есть, но как-то страшно туда смотреть.


spf
Отправная точка - readme
Асмы править не нужно
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.