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

 
 
 
Reply to this topicStart new topic
> Fujitsu MB90F387S, custom bootloader
doom13
сообщение May 30 2014, 09:49
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Здравствуйте.
Поставлена задача разобраться с возможностью удалённого обновления ПО для MB90F387S. Почитав доки понял, что существует встроенный загрузчик по UART и утилита для загрузки прошивки, но у нас есть удалённый доступ к контроллеру только по CAN. Вопрос, можно ли разделить флэш-память на два куска: один под загрузчик, второй под основную программу? Если да, то каким образом это сделать и как определить, какие куски кода в какую память ложатся?
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 2 2014, 02:50
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Ещё один вопрос, можно ли каким-то образом задать адреса по которым размещается прошивка во флэш-память?
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 2 2014, 09:07
Сообщение #3


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



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

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

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

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

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


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


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 2 2014, 10:25
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(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 в качестве среды разработки под данный контроллер? Если да, что для этого нужно?
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 3 2014, 03:02
Сообщение #5


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



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

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

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

С Eclipse не приходилось работать.
Прикрепленные файлы
Прикрепленный файл  90385_bootloader_uart1_async_v10.zip ( 57.49 килобайт ) Кол-во скачиваний: 18
Прикрепленный файл  90385_can_v13.zip ( 38.58 килобайт ) Кол-во скачиваний: 18
 


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 3 2014, 04:04
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



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

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

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

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


Спасибо, счас буду смотреть.
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 3 2014, 07:16
Сообщение #7


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



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

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

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


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 3 2014, 07:56
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(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 тоже скачивал похожие примеры.
Go to the top of the page
 
+Quote Post
spf
сообщение Jun 5 2014, 09:04
Сообщение #9


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Цитата(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 собственной разработки или что-то стандартное?


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 5 2014, 12:39
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(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-файл, расписана вся память, можно её группировать, делить как хочешь, секции свои прописывать и в них свои какие-то данные ложить. Тут..... Вроде бы в асмовском файле что-то похожее есть, но как-то страшно туда смотреть.


Go to the top of the page
 
+Quote Post
spf
сообщение Jun 6 2014, 05:39
Сообщение #11


Странник
****

Группа: Свой
Сообщений: 766
Регистрация: 29-08-05
Из: Екатеринбург
Пользователь №: 8 051



Отправная точка - readme
Асмы править не нужно


--------------------
"Как много есть на свете вещей, которые мне не нужны!" Сократ
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:50
Рейтинг@Mail.ru


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