Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: JTAG vs loader&jtag
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры
S_agent
1111493779.gif Назрела необходимость программиравания контроллера(uC1) другим(uC2) через jtag.
Схема включения:
На данный момент uC2 это доп модуль к uC1 и программируются по-отдельности каждый через свой jtag. Программировать нужно и тот и другой максимально упростив(автоматизировав) эту операцию.
С программированием uC2 проблем нет, а вот с uC1 вижу следующие варианты:
1.В RAM uC2 через jtag заливается загрузчик, который получая данные из comport-a эмулирует jtag на своих gpio и програмиирует uC1.
2.Сделать туннелирование jtag, - через boundary scan на uC2 и так же эмулировать jtag на gpio и непосредственно с PC программировать uC1
Может быть есть еще более оптимальные варианты, которые я не заметил, или замечания/уточнения по этим?
С уважением,
Никита. beer.gif
Harbour
Что за процы ? Оптимальней написать человеческий [crypto] bootloader для обоих cpu и шить через них, если только они не мелкие по памяти или не позволяют перешивать программно свой же флеш в принципе. Как +, это дает возможность удаленного и безопасного апгрейда прошивок, в случае чего.
S_agent
Цитата(Harbour @ Oct 2 2007, 06:59) *
Что за процы ? Оптимальней написать человеческий [crypto] bootloader для обоих cpu и шить через них, если только они не мелкие по памяти или не позволяют перешивать программно свой же флеш в принципе. Как +, это дает возможность удаленного и безопасного апгрейда прошивок, в случае чего.

uC1 - xscale (flash внешняя)
uC2 - arm7 (flash на борту)
удаленный и безопасный апгрейд необходим только для uC1и выполняется из рабочей программы.
здесь больше необходимость автоматизировать первичное программирование данных контроллеров
с минимальным колличеством мануальных операций, а учитывая что контроллеры при работе включены
так же как и на схеме за исключением компа, - его просто нет, то отсюда и напросилась идея их сквозного программирования.
zltigo
Цитата(S_agent @ Oct 1 2007, 12:00) *
Схема включения:

1.JTAG - в цепочку для начального программирования контролеров и boundary scan.
2.Дальнейшие обновления по UART бутовыми загрузчиками.
S_agent
Цитата(zltigo @ Oct 2 2007, 09:18) *
1.JTAG - в цепочку для начального программирования контролеров и boundary scan.

это т вариант не подходит, т.к. включение именно такое как на схеме - при работе uC2 должен иметь доступ к жтаг-у uC1
VslavX
Цитата(S_agent @ Oct 2 2007, 10:27) *
это т вариант не подходит, т.к. включение именно такое как на схеме - при работе uC2 должен иметь доступ к жтаг-у uC1

По JTAG через ICE заливаем в RAM uC2 временный загрузчик, который общается через JTAG uC2 через DCC с PC, принимает команды/данные и выполняет требуемые операции через свои PIO на JTAG uC1.
Через Boundary Scan - программируется очень долго, порядка на два медленнее чем через ICE/DCC (и то и другое пробовалось "в реале" на XScale).
zltigo
Цитата(S_agent @ Oct 2 2007, 10:27) *
т.к. включение именно такое как на схеме

Типа так само получилось?
Цитата
- при работе uC2 должен иметь доступ к жтаг-у uC1

Если это специально делалось, то зачем???
S_agent
2 VslavX
Сеньк, мысли уже начинают упоряды упорядовачиться в нужном направлении smile.gif .
2 zltigo
"Это не баг, а фича" biggrin.gif .
нет, само не получилось, именно так необходимо технологически.
в другом случае использование jtag chain таку проблему бы решило.
zltigo
Цитата(S_agent @ Oct 3 2007, 10:10) *
нет, само не получилось, именно так необходимо технологически.

А зачем, если не секрет, такое "технологически"?
S_agent
Цитата(zltigo @ Oct 3 2007, 11:08) *
А зачем, если не секрет, такое "технологически"?

не секрет smile.gif , при опеределенных условиях загрузить и исполнить другой код из uC1
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.