Перейти к содержанию
    

Fujitsu MB90F387S

Здравствуйте.

Поставлена задача разобраться с возможностью удалённого обновления ПО для MB90F387S. Почитав доки понял, что существует встроенный загрузчик по UART и утилита для загрузки прошивки, но у нас есть удалённый доступ к контроллеру только по CAN. Вопрос, можно ли разделить флэш-память на два куска: один под загрузчик, второй под основную программу? Если да, то каким образом это сделать и как определить, какие куски кода в какую память ложатся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё один вопрос, можно ли каким-то образом задать адреса по которым размещается прошивка во флэш-память?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Встроенная система обновления прошивки под названием "BIROM" требует:

  • Аппаратный сброс
  • Установку определённой комбинации на выводах (режимы загрузки)
Это встроенная в МК возможность обновления прошивки через UART.

 

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

 

В примерах ПО на CD был пример bootloader'ов для этого МК или одноклассников.

В них всё расписано, что и как работает и взаимосвязано.

Полностью рабочие примеры, можно брать за основу и делать под себя, менять интерфейсы и протоколы для них.

 

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

 

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

 

 

PS: староватый МК

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

PS: староватый МК

Я бы сказал даже очень старый, он стоит в давно работающей системе (года 2008), которую делали другие люди. Обновлять имеющуюся прошивку, вроде как, никто и не планирует, но захотелось (тут хочется сказать плохое слово) очень, что бы была такая возможность.

Почитал FAQ, на который Вы и даёте ссылку в одной из тем. Стало понятно, что флэш из флэша не прошить и есть какой-то пример загрузчика по CAN, который мне скачать так и не удалось.

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

 

В примерах ПО на CD был пример bootloader'ов для этого МК или одноклассников.

В них всё расписано, что и как работает и взаимосвязано.

Полностью рабочие примеры, можно брать за основу и делать под себя, менять интерфейсы и протоколы для них.

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

Примеры какие-то скачал, но для загрузчика что-то не идёт в комплекте.

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готового загрузчика по CAN в примерах не было, все брали за основу вариант с UART и дальше действовали по своим протоколами и требованиям.

 

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

 

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

 

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

90385_bootloader_uart1_async_v10.zip

90385_can_v13.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Готового загрузчика по CAN в примерах не было, все брали за основу вариант с UART и дальше действовали по своим протоколами и требованиям.

 

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

 

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

 

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

 

Спасибо, счас буду смотреть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Если требуется, то и его скину.

 

Лирика:

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

 

В инете примеры остались видимо только на китайском сайте - http://www.fujitsu.com/cn/fsdc/mcu/mcu_all_software.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Если требуется, то и его скину.

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

 

Лирика:

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

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

 

В инете примеры остались видимо только на китайском сайте - http://www.fujitsu.com/cn/fsdc/mcu/mcu_all_software.html

За это тоже спасибо, посмотрим. С сайта www.spansion.com тоже скачивал похожие примеры.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Нашёл по имени на теперешнем сайте

http://www.spansion.com/marketingdownloads...wizard-v2-6.zip

 

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

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

Первое и важное - составить карту памяти, а сами функции адаптировать из примеров под конкретный протокол.

 

В системе используется протокол CAN собственной разработки или что-то стандартное?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В системе используется протокол CAN собственной разработки или что-то стандартное?

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

Нашёл по имени на теперешнем сайте

http://www.spansion.com/marketingdownloads...wizard-v2-6.zip

Спасибо.

Первое и важное - составить карту памяти, а сами функции адаптировать из примеров под конкретный протокол.

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

 

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

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...