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

 
 
 
Reply to this topicStart new topic
> Чем прошить внешнюю SPI flash?, LPC2138 -> M25P128
Ant_m
сообщение Oct 28 2009, 11:34
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Имеется LPC2138 с JTAG и подключенной SPI флешкой M25P128.
Чем и как можно прошить флешку?
Собственно есть 2 варианта - делать свой прошивальщик в контроллере, но не хочется. Или шить через JTAG, вот этот вариант собственно и интересует. Кто нибудь такое пробовал?
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 28 2009, 11:57
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Ant_m @ Oct 28 2009, 14:34) *

В 2138 Boundary Scan нету, так что в любом случае прошивальщик надо писать, но его можно грузить в RAM через JTAG и через JTAG же прошивку и передвать.
Можно, например, для IAR написать flashloader.
Или для HJTAG ( H-FLASHER)
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Oct 28 2009, 12:24
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Т.е вырисовывается такая схема :
1. пишем в контроллер загрузчик.
2. Запихиваем в RAM контроллера кусок прошивки и адрес куда шить SPI flash.
3. повторяем п2 до полной прошивки SPI флешки.

Я правильно понимаю?
С помощью OOCD такое возможно реализовать?
Go to the top of the page
 
+Quote Post
KRS
сообщение Oct 28 2009, 20:22
Сообщение #4


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Ant_m @ Oct 28 2009, 15:24) *
Т.е вырисовывается такая схема :

примерно так, но можно и не в рам куски прошивки скидывать, а через DCC передавать ( так, например, H-Flasher деает)

Цитата(Ant_m @ Oct 28 2009, 15:24) *
С помощью OOCD такое возможно реализовать?

это open ocd? да можно исходники ведь все есть! поддержка прошивки есть. исходники и под виндами без проблем собираются, я делал несколько модифицированных сборок для своего железа.
Go to the top of the page
 
+Quote Post
IgorMarx
сообщение Oct 29 2009, 07:02
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 5-10-05
Из: Зеленоград
Пользователь №: 9 268



Я это сделал для IAR. Сейчас бегу на работу - некогда. Могу поделиться. Подоставайте меня через PM, если закручусь...

Сообщение отредактировал IgorMarx - Oct 29 2009, 07:02
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Oct 29 2009, 08:26
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(KRS @ Oct 28 2009, 23:22) *
примерно так, но можно и не в рам куски прошивки скидывать, а через DCC передавать ( так, например, H-Flasher деает)


Спасибо за наводку про DCC, как-то не знал что такая штука имеется...

немного оффтопа - на программирование SPI устройств по JTAG оказывается есть патент http://www.freepatentsonline.com/7265578.pdf
Go to the top of the page
 
+Quote Post
Step_ARM
сообщение Oct 29 2009, 08:42
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 132
Регистрация: 11-07-08
Пользователь №: 38 870



Цитата(Ant_m @ Oct 29 2009, 11:26) *
Спасибо за наводку про DCC, как-то не знал что такая штука имеется...

немного оффтопа - на программирование SPI устройств по JTAG оказывается есть патент http://www.freepatentsonline.com/7265578.pdf

У меня внешняя SPI Flash 45PE80. Я в нее загружаю картинки и строчные константы. Запись делаю загрузчиком в ОЗУ. Примерно так -- с карты памяти записываю в RAM код загрузчика, ремап. Дальше загрузчик с карты памяти данные записывает на dataflash. В принципе этот загрузчик можно загружать в оперативку любым доступным способом. Я когда его отлаживал, через JTAG загружал.

Сообщение отредактировал Step_ARM - Oct 29 2009, 08:45
Go to the top of the page
 
+Quote Post
IgorMarx
сообщение Nov 2 2009, 21:00
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 61
Регистрация: 5-10-05
Из: Зеленоград
Пользователь №: 9 268



Это flashloader. Правда, моя по I2C, но низкоуровневый модуль заменить - полчаса. Угощайтесь на здоровье )
Если прицепите SPI и выложите здесь же - лучшая благодарность с вашей стороны за мою работу.
Забыл добавить - для LPC2138 нужно поправить виртуальный адрес EEPROM (там 0x00020000), иначе он "налазит" на внутреннюю флешь

Сообщение отредактировал IgorMarx - Nov 2 2009, 21:03
Прикрепленные файлы
Прикрепленный файл  eeprom_LPC2134_test.rar ( 132.29 килобайт ) Кол-во скачиваний: 49
 
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Nov 3 2009, 08:57
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(IgorMarx @ Nov 3 2009, 00:00) *
Это flashloader. Правда, моя по I2C, но низкоуровневый модуль заменить - полчаса. Угощайтесь на здоровье )
Если прицепите SPI и выложите здесь же - лучшая благодарность с вашей стороны за мою работу.
Забыл добавить - для LPC2138 нужно поправить виртуальный адрес EEPROM (там 0x00020000), иначе он "налазит" на внутреннюю флешь


Спасибо, премного благодарен. rolleyes.gif
Go to the top of the page
 
+Quote Post

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

 


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


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