Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заливка бинарника в ROM память AT91SAM9260
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > ARM, 32bit
rtcveel
Доброго времени суток!

В общем то сабж, уважаемые знатоки! rolleyes.gif

Решил попробовать разобраться с установкой Линукса на SK-AT91SAM9260, упёрся в проблемму.Никак не могу залить откомпилированный Bootstrap в память МК. До этого игрался со светодиодом в IARe (он же в ROM MK шьёт?), поэтому хотел сначала сделать ERASE ROMa, а потом залить туда бинарник Bootstrap'a. Так понимаю что SAM-BA используется для заливки через микроконтроллер в микросхемы памяти подключёные к нему. А для заливки в ROM память мк используется SAM-PROG. Так вот, в SAM-PROG работать отказывается, как только я над ним не плясал:

1)запускаю SAM-PROG v2.4.
2)подключаю J-link(подключёный к плате), в SAM-PROGе это действие распознаётся и становится активна кнопка Target Connected? YES .
3)выбираю бинарник, нажимаю YES. В строчке active connection появляется 1
4)Write flash активна, нажимаю на неё и ничего не происходит, как будто и не нажимал вовсе.

Покурил форум. Нашел в http://electronix.ru/forum/lofiversion/index.php/t19660.html что надо скачать и зарегистрировать библитотеку AT91Boot_DLL.dll, скачал, зарегистрировал, запускаю SAM-PROG - вообще "привет"... теперь даже при подключении J-linkа ничего не происходит JTAG не видит, кнопка Target Connected? YES - не активна cranky.gif Пробовал по USB:

1)Убираю перемычку цепи MOSI на микросхему Dataflash
2)запускаю SAM-PROG v2.4.
3)подключаю плату через USB
4) В строчке active connection появляется 1, выбираю бинарник
5)Write flash активна, нажимаю на неё и опять ничего не происходит.

Также непонял, как выполнить ERASE ROMa микроконтроллера, в IARе эта строка меню (и строка отвечающая за заливку бинарника) почемуто не активна, в списке устройств J-Flash (из пакета программ J-link'a) нет AT91SAM9260, поэтому через него тоже сделать ERASE не получилось, хотя J-Мем исправно читает содержание памяти.

Поэтому несколько вопросов: как заставить SAM-PROG работать и как сделать ERASE ROMa? wacko.gif

PS. SAM-BA вроде бы работает исправно, апплеты для неё под плату перекомпил, но заливать Bootstraр хочу именно в МК. ОС Vista. (Bootstrap и все остальное собираю под Ubutu, пошиваю КМ под Вистой, но это не должно иметь особого значения бинарник он и в африке бинарник)

PPS. Во время подключения к SAM-PROG по USB и пункта:
Цитата
1)Убираю перемычку цепи MOSI на микросхему Dataflash

в мыслях настал полный бардак, ведь я о этого прошивал через ИАР программу мигания светодиодом, теоретически, как я понимаю, если бы она была прошита в ROM памяти МК, тогда убирание перемычки Dataflash не имело бы эффекта, т.к. прграмма стартовала с ROM МК и Boot agent бы не запускался?(или он запускается когда SPI0_MOSI в воздухе висит? )... правильно ли я рассуждаю? (прошу прощения, рассуждаю из опыта работы по всяким МК серии 51) просьба к знатокам упоядочить хаос в моей голове wacko.gif в даташите вычитал что режим загрузки управляеся выводом BMS (boot mode select):

Цитата
BMS= 1, Boot on Embedded ROM
The system boots using Boot Program.
• Boot on slow clock (On-chip RC or 32,768 Hz)
• Auto baudrate detection
• Downloads and runs an application from external storage media into internal SRAM
• Downloaded code size depends on embedded SRAM size
• Automatic detection of valid application
• Bootloader on a non-volatile memory
– SPI DataFlash® connected on NPCS0 of the SPI0
– 8-bit NANDFlash
• SAM-BA™ Boot in case no valid program is detected in external NVM, supporting
– Serial communication on a DBGU
– USB Device Port

BMS = 0, Boot on External Memory
• Boot on slow clock (On-chip RC or 32,768 Hz)
• Boot with the default configuration for the Static Memory Controller, byte select mode, 16-
bit data bus, Read/Write controlled by Chip Select, allows boot on 16-bit non-volatile
memory.
The customer-programmed software must perform a complete configuration.
To speed up the boot sequence when booting at 32 kHz EBI CS0 (BMS=0), the user must
take the following steps:
1. Program the PMC (main oscillator enable or bypass mode).
2. Program and start the PLL.
3. Reprogram the SMC setup, cycle, hold, mode timings registers for CS0 to adapt them
to the new clock.
4. Switch the main clock to the new value.

На плате по умолчанию BMS подтянут к Vcc. Следовательно при включении устройства выполняется пункт 1.
Если это всё выполняется при старте МК атоматически, опять же непонятно как тогда работает простая прошивка мигания светодиодом (как в атмеге например). Прошивается ли она вообще в память МК? или только SPI Dataflash. В общем, прошу, объясните мне, нубу ещё и этот момент
help.gif
DpInRock
ROM - Read ONLY Memory.
ROM нигде и никогда не прошивается.
Если "ROM" прошивается, то ЭТО имеет совсем другое название.

Программа загружается во внутреннее ОЗУ и выполняется. Загружаться туда она может разными способами. (СМ. даташит Boot modes).

Та самая внутренняя ROM содержит программу которая и обеспечивает загрузку программы несколькими способами.
rtcveel
Вот сейчас только более менее начинаю понимать свои косяки rolleyes.gif просто в даташите не нашёл утвердительного предложения о том, что содержится в этой ROM(только какието косвенные фразы, типа и так понятно cranky.gif хотя конечно может быть и чтото просмотрел 750 страниц всётаки sm.gif ), и ошибочно принял её за Program flash. Данный момент уяснил, Спасибо, тема исчерпана))!!))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.