Программа sam ba для прошивки карт прога
Первым камнем преткновения на пути изучения любого микроконтроллера стоит проблема его прошивки. Обычно она решается покупкой программатора (или отладчика), но если микроконтроллер имеет встроенный загрузчик, на первых порах можно обойтись без него.
В этом материале я как раз расскажу, как прошить микроконтроллер SAM3S4B с помощью загрузчика на примере платы Karma-SAM3S. Описанную процедуру можно будет применить и к остальным ARM`ам фирмы Atmel, хотя могут быть небольшие отличия.
Микроконтроллеры серии SAM3S имеют встроенный загрузчик, который позволяет записывать прошивку по USB или UART0 без применения дополнительного оборудования. Загрузчик хранится в постоянной памяти (ROM) и его нельзя стереть.
Чтобы микроконтроллер запустил при старте загрузчик, нужно кратковременно нажать на кнопку ERASE (на время большее 200 мс), а затем сбросить микроконтроллер. Это можно сделать, дергая выключатель питания или с помощью кнопки RESET. Оба варианта дадут одинаковый результат - микроконтроллер очистит флэш память, сбросит бит, определяющий источник загрузки, и при следующем запуске загрузится из ROM.
Для загрузки прошивки по USB к тактовой частоте микроконтроллера SAM3S предъявляются определенные требования. Микроконтроллер должен тактироваться от кварцевого резонатора с частотой 11,289; 12,00; 16,00 или 18,432 МГц. При загрузке прошивки по UART0 никаких требований нет.
На плате Karma-SAM3S установлен кварц с частотой 12 МГц. С таким кварцевым резонатором плата стабильно прошивается.
Для начала нам нужно установить на компьютер одну из утилит, позволяющих загружать прошивку. На сегодняшний день мне известно только две таких утилиты - SAM-BA и BOSSA.
При скачивании выбирайте ту программу, которая подходит для вашей операционной системы (важен не только тип, но и разрядность).
Я попробовал обе программы и пока остановил свой выбор на BOSSA. Она занимает мало места, у нее простой интерфейс и она стабильнее работает. Но SAM-BA в любом случае нужно скачать, чтобы установить USB драйвер для микроконтроллера SAM3S4B.
Далее речь пойдет о работе в ОС Windows.
После скачивания и установки программы SAM-BA и патча, нужно поставить драйвера. Если загрузка прошивки будет выполняться по USB, то процедура выглядит следующим образом.
Подсоединяем плату Karma-SAM3S к компьютеру по USB (этот разъем на плате подписан). Подаем питание, кратковременно нажимаем кнопку ERASE, а затем RESET. Микроконтроллер запустит загрузчик, а операционная система обнаружит новое устройство и начнет поиск драйверов.
Драйвера лежат в папке, куда была установлена программа SAM-BA. Например у меня путь к драйверам такой: C:\Program Files (x86)\Atmel\sam-ba_2.12\drv
В идеале операционная система сама найдет нужные драйвера и через некоторое время в диспетчере устройств в разделе порты появится AT91 USB to Serial Converter. Однако, скорее всего придется указывать путь вручную.
Для загрузки прошивки через USB-UART преобразователь, установленный на плате Karma-SAM3S, нужно поставить драйвера для микросхемы CP2102. Их можно скачать с сайта производителя - SiLabs.
Когда драйвер установлен, можно запускать программу SAM-BA.
При запуске SAM-BA появится окно, в котором нужно выбрать порт и тип платы. Если не знаете номер порта, то его можно посмотреть в диспетчере устройств. Тип платы нужно установить такой - at91sam3s4-ek.
После нажатия кнопки Connect должно появится основное окно программы SAM-BA. Если этого не произошло или открылось окно с предупреждениями - перезагрузите микроконтроллер и снова запустите SAM-BA.
Чтобы загрузить прошивку, на вкладке Flash кажите путь к файлу и нажмите на кнопку Send File. Обратите внимание файл прошивки имеет расширение bin.
Когда прошивка будет загружаться, откроется окно Lock region(s), которое предложит установить Lock биты для защиты флэш памяти. Нажимаем нет.
Когда загрузка завершится, запускаем скрипт Boot from Flash (GPNVM1), чтобы микроконтроллер запускался из флэш памяти, и нажимаем на плате кнопку Reset.
Все, микроконтроллер будет выполнять записанную в него программу.
Чтобы повторно записать прошивку в микроконтроллер, нужно закрыть программу SAM-BA, активировать загрузчик микроконтроллера и снова запустить ее. К сожалению, без перезагрузки SAM-BA не устанавливает связь с микроконтроллером. По-крайней мере я не понял, как это сделать и поэтому она мне и не нравится.
Устанавливаем программу BOSSA и драйвера (описано выше).
Подключаем плату Karma-SAM3S к компьютеру, используя один из USB разъемов. Активируем загрузчик микроконтроллера и запускаем программу BOSSA.
Нажимаем кнопку Auto-Scan, чтобы BOSSA установила связь с загрузчиком микроконтроллера. Если это удалось, то внизу программы отобразится статус "Connected" и микроконтроллер, который определился, - "ATSAM3S4". Если связь не установилась, нужно сбросить микроконтроллер и снова нажать Auto-Scan.
Также можно выбрать последовательный порт вручную.
Далее указываем путь к прошивке (*.bin) и нажимаем Write. Начнется загрузка.
Для повторной записи прошивки нужно активировать загрузчик микроконтроллера и нажать в программе BOSSA кнопку Auto-Scan. Если BOSSA не подключится к загрузчику с первого раза, нужно сбросить его и снова нажать Auto-Scan. Как правило, со второго раза программа устанавливает связь.
To submit your extension to the Atmel Gallery, you'll need an integration with the Atmel Studio platform. The Atmel Studio Extension Developer's Kit (XDK) can assist you with the integration.
Atmel Studio Archives
Atmel Studio 6.2 IDE Archives
Atmel USB Driver Installer 7.0.888 - Latest USB drivers
SHA1: 2df03a27e46602a381ddc372d48a8a5f409de515
Web Installer – with .NET | Installer | Release Notes/Readme |
---|---|---|
Atmel Studio v6.2.1563 | Atmel Studio v6.2.1563 | Atmel Studio v6.2 sp2 |
Atmel Studio v6.2.1548 | Atmel Studio v6.2.1548 | Atmel Studio v6.2 sp2 |
Atmel Studio v6.2.1502 | Atmel Studio v6.2.1502 | Atmel Studio v6.2 sp1 |
Atmel Studio v6.2.1153 | Atmel Studio v6.2.1153 | Atmel Studio v6.2 |
Atmel Studio 6.2 Part Pack Archives
Atmel Studio 6.1 Archives
Atmel Studio 6.0 Archives
Atmel Studio 6.0 IDE Archives
Installer – Full Installer | Installer | Release Notes/Readme |
---|---|---|
Atmel Studio v6.0.1996 | Atmel Studio v6.0.1996 | Atmel Studio v6.0 sp2 |
Atmel Studio v6.0.1843 | Atmel Studio v6.0.1843 | Atmel Studio v6.0 |
Atmel Studio v6.0 sp1 | Atmel Studio v6.0 sp1 | Atmel Studio v6.0 |
Atmel Studio v6.0 Patch 2 | Atmel Studio v6.0 Patch 2 | Atmel Studio v6.0 |
Atmel Studio 6.0 Part Pack Archives
AVR® Studio
AVR® Studio 5.1
AVR® Studio 5.0
AVR® Studio 5.0 Device Support Pack
AVR® Studio 4.19
AVR® Studio 4.18
AVR® Studio 4.17
AVR® Studio 4.16
AVR® Studio 4.15
AVR® Studio 4.14
AVR® Studio 4.13
AVR® LCD Visualizer
AVR32 Studio 2.6
AVR32 Studio 2.5
AVR® and Arm®-Based MCU/MPU Toolchains
AVR® Toolchain
Arm® GNU Toolchain
Windows ® Installer | macOS ® X 64-bit | Linux ® 64-bit | Release Notes/Readme |
---|---|---|---|
Arm ® GNU Toolchain 5.3.1 | Arm GNU Toolchain 5.3.1 |
Toolchain Archive Header Files
Toolchain Source Code
AVR32 GNU Toolchain
AVR® MCU GCC Downloads
Advanced Software Framework (ASF)
If you are using Firefox as your browser, please right-click the links below and select "Save Link As. " to download the content.
Stay on the leading edge with our blog
Analytics
Social Networking
Во все чипы AT91SAM7X128, AT91SAM7X256, AT91SAM7X512 на заводе встроен бутлоадер SAM-BA, прошитый в нестираемое ПЗУ (ROM). Этот бутлоадер активируется, когда FLASH-память чипа стерта. Бутлоадер SAM-BA может записать программу пользователя (а также имеет много возможностей по манипулированию памятью чипа) через различные интерфейсы чипа (подробности см. в даташите на микроконтроллер). При работе с макетной платой AT91SAM7X наибольший интерес представляет работа бутлоадера через интерфейс USB, так как такое подключение использовать проще всего.
Здесь коротко рассмотрена процедура быстрого старта использования бутлоадера SAM-BA с макетной платой AT91SAM7X. Итак, процесс использования бутлоадера по шагам (на операционной системе Windows XP).
1. Сначала нужно установить (если он не был ранее установлен) драйвер SAM-BA. Драйвер можно найти на страничке Evaluation Kit for SAM7X сайта Atmel, см. SAM-BA 2.10 for Windows (XP, Vista, Seven editions) или что-то подобное, можно скачать с сайта Atmel, или см. Ссылки [1]. После установки (для этого нужно запустить sam-ba_2.10.exe) появится папка C:\Program Files\ATMEL Corporation\SAM-BA v2.10, и возможно понадобится перезагрузка. Интересующие нас драйвера находятся в папке "C:\Program Files\ATMEL Corporation\SAM-BA v2.10\drv". Этот путь нужно скормить мастеру установки нового оборудования, когда первый раз подключена плата AT91SAM7X по USB, если мастер сам по какой-то причине автоматически не найдет нужный драйвер.
2. Подключаем чистую плату (у которой стерта программа в чипе) через USB, при этом перемычка J2 USB/EXT должна стоять в положении 1-2 (питание платы через USB), внешнее питание с джека J1 должно быть отключено.
Напомню, что память чипа можно стереть с помощью перемычки J4 ERASE (для этого перемычку нужно установить на 10 секунд при подключенном питании).
Если макетная плата была подключена к компьютеру по USB первый раз, то обнаружится новое устройство с VID 0x03EB и PID 0x6124, и система запросит драйвер.
После установки драйвера в списке Диспетчера Устройств появится новое устройство atm6124.Sys ATMEL AT91xxxxx Test Board (см. скриншот).
3. Для программирования памяти через бутлоадер Atmel понадобится программа AT91-ISP.exe (v1.12 prev release или более свежая), можно скачать с сайта Atmel, или см. Ссылки [1]. Запустите установщик Install_AT91-ISP_v1.12.exe, и после нехитрой процедуры установки у Вас появится необходимый для программирования набор утилит.
[Утилита SAM-PROG]
Самый простой интерфейс программирования предоставляет программа SAM-PROG v2.4. Кнопкой Browse нужно выбрать двоичный файл прошиваемого firmware, а кнопкой Write Flash файл можно записать в память чипа. После окончания записи и переподключения питания сразу начнет работать записанная программа.
[Утилита SAM-BA]
Намного больше возможностей по манипуляции с памятью чипа предоставляет программа SAM-BA v2.8. Кроме того, сейчас Atmel совсем забросила поддержку SAM-Prog, и в дистрибутиве SAM-BA программа SAM-PROG больше не поставляется.
После запуска программы SAM-BA нужно выбрать тип подключения \usb\ARM0, указать тип платы AT91SAM7X512-EK (на макетной плате AT91SAM7X обычно установлен чип AT91SAM7X512) и нажать кнопку Connect.
Примечание: к плате можно подключиться не только через USB, но и через JTAG (например, если у Вас в наличии адаптер J-Link), в этом случае нужно выбрать соединение \jlink\ARM0. Также можно подключиться через обычный COM-порт, для этого выберите его имя, например COM1.
Коротко о возможностях программы SAM-BA:
- можно писать/читать память FLASH чипа (Flash -> Download / Upload File).
- можно писать/читать память SRAM чипа (SRAM -> Download / Upload File).
- сравнить файл с содержимым памяти.
- можно запускать набор предопределенных действий - установить загрузку с FLASH (GPNVM2), установить загрузку с ROM (GPNVM2), запретить/разрешить детектор пропадания питания (GPNVM0), запретить/разрешить сброс чипа при срабатывании детектора пропадания питания (GPNVM1), разрешить доступ к FLASH, разрешить применение бита защиты, стереть всю память (GPNVM0..GPNVM2 здесь означают имена соответствующих энергонезависимых фьюзов, все операции делаются через Flash -> Scripts -> выбрать тип действия из выпадающего списка -> Execute).
- можно просмотреть в виде дампа содержимое памяти по указанному адресу (AT91SAM7X256 Memory Display -> Start Address/Size in byte(s) -> Refresh).
- можно выполнить набор некоторых действий и записать их в виде скрипта, который потом можно запустить (меню Script File).
[Автоматизация операций SAM-BA с помощью TCL-скриптов]
Очень удобно повторяющиеся операции программировать с помощью TCL-скриптов. Это позволит упростить рутинные действия по перепрошивке большого количества устройств. Скрипты выполняются из командной строки SAM-BA, при этом GUI-интерфейс не запускается. Пример TCL-скрипта:
В этом скрипте задано полностью очистить память чипа, и затем записать в память FLASH содержимое двоичного файла myfirmware.bin начиная с адреса 0x100000 ().
Сам скрипт на выполнение запускается следующей командной строкой (можно прописать в BAT-файле):
TCL-команды можно подсмотреть в готовых скриптах (см. в каталоге установки SAM-BA файлы с расширением *.tcl), но проще всего команды взять из лога программы SAM-BA. Вот пример такого лога (команды TCL выделены жирным шрифтом).
SAM-BA boot agent предназначен для загрузки программного обеспечения через стандартные интерфейсы (USB, CAN, RS-232). Такая возможность очень удобна для обновления программного обеспечения (firmware) в готовом устройстве.
[Документация]
[Установка]
1. Скачайте AT91-ISP.exe [1]. Я ставил AT91-ISP.exe v1.12 current release. Установка по умолчанию происходит в папку c:\Program Files\ATMEL Corporation\AT91-ISP v1.12. При загрузке установится драйвер (Касперский предупредил об этом). Если потребуется перезагрузка, то перезагрузите систему.
2. Подключите макетную плату AT91SAM7X [2] (или макетные платы Atmel AT91SAM7X-EK или Olimex SAM7-EX256) через USB. Новое устройство обнаружится, установится драйвер. Устройство появляется в диспетчере устройств как Universal Serial Bus controllers\atm6124.Sys ATMEL AT91xxxxx Test Board:
3. Запустите программу SAM-BA v2.8 (ярлычок на рабочем столе), выберите соединение "\usb\ARM0" и тип платы "AT91SAM7X256-EK", и нажмите кнопку Connect:
[Проверка работы]
Все готово, теперь остается попробовать, как работает. Испытывать будем на скомпилированном в двоичный файл проекте из примеров IAR - getting-started-project (полный путь до файла проекта c: \ Program Files \ IAR Systems \ Embedded Workbench 5.0 Evaluation \ ARM \ examples \ Atmel \ at91sam7x-ek \ getting-started-project \ getting-started-project.eww, прошивка после появится здесь - c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\examples\Atmel\at91sam7x-ek\getting-started-project\ewp\at91sam7x256_flash\Exe\at91sam7x256_flash.bin). Подключите макетную плату через USB (если это макетная плата AT91SAM7X, то перемычка J2 должна стоять в положении 1-2 USB PWR). Запустите программу SAM-PROG v2.4, выберите по кнопке Browse файл at91sam7x256_flash.bin, и нажмите кнопку Write.
Чтобы процесс записи индицировался, можно выбрать "PIO indicator for successful programming" - для нашей платы PIOB 21 будет соответствовать светодиоду на макетной плате.
После записи проверьте работу прошивки. Для этого нужно соединить прямым COM-портовым кабелем DB9-мама/DB9-папа (в "прямом" кабеле на обеих концах соединены ножки с одинаковыми номерами - контакт 1 на "маме" соединен с контактом 1 на папе и т. д.). Потом запустите любую консольную программу, работающую с COM-портом, настройте её на параметры порта 115200 бит/сек, 8 бит данных, без четности, 1 стоп-бит, переподключите разъем USB (чтобы сбросить микроконтроллер на макетной плате). После этого в терминальной программе будет видно, что прошивка выводит в порт DBGU:
[Восстановление загрузчика]
Запрограммированная таким образом плата при включении питания всегда будет выполнять пользовательскую программу, загрузчик при этом не работает. Вернуть макетную плату в исходное состояние (чтобы снова был доступен USB-загрузчик SAM-BA, и можно было записать новое firmware в память микроконтроллера) можно следующим способом (описано в файле помощи "C:\Program Files\ATMEL Corporation\AT91-ISP v1.12\SAM-PROG v2.4\Documentation\at91sam-prog.hlp"):
- Отключите питание от макетной платы (в нашем случае просто выдернем кабель USB, подключенный к ней).
- Замкните перемычку J4 ERASE.
- Снова подключите питание (воткните кабель USB).
- Подождите 10 секунд.
- Отключим питание от макетной платы (выдернем кабель USB).
- Уберите перемычку J4 ERASE.
- Снова подключите питание (воткните кабель USB). Макетная плата готова к новой загрузке, загрузчик SAM-BA восстановлен.
[Почему не работает загрузчик в микроконтроллере AT91SAM7X512?]
". я в растерянности, скачал утилиту SAM-BA для программирования. Обновил драйвер по инструкции, а утилита SAM-BA не видит контроллер. Когда запускаю утилиту, там можно выбрать только порт com1, но это вовсе не загрузчик, и утилита SAM-BA не работает. "
Наверняка утилита SAM-BA не работает потому, что не видит устройства, в котором работает загрузчик. Это бывает в том случае, если память микроконтроллера не стерта.
Когда Вы подключали не стертую плату к компьютеру, то в микроконтроллере AT91SAM7X512 запускается не загрузчик SAM-BA, а записанная в память FLASH старая программа. Ваша цель - эту программу стереть, и записать туда новую с помощью загрузчика SAM-BA. Чтобы запустился загрузчик SAM-BA, нужно сначала стереть память микроконтроллера по стандартной процедуре, которая описана в документации на микроконтроллер. На плате AT91SAM7X стирание памяти микроконтроллера делается с помощью установки перемычки J4 ERASE, и включения питания на 10 секунд с установленной перемычкой. После этой процедуры перемычку нужно снять, и передернуть питание у платы (переподключить плату к USB). Далее чистый микроконтроллер готов к загрузке новой прошивки с помощью утилиты SAM-BA.
[Ссылки]
Используется SAM-BA v2.7 . ( AT91-ISP v1.11 ), или SAM-BA v2.9 ( AT91-ISP v1.13 ) или SAM-BA v2.10 .
SAM-BA 2.7 и SAM-BA 2.9 зависают при стирании Nandflash, но стирают. Остальные скрипты работают нормально.
У SAM-BA 2.10 все скрипты работают нормально.
Сборка скриптов для SAM-BA v2.7
В папке \applets\isp-applets\ создать файл build_apps.bat следующего содержания:
В той же папке создать файл build.cmd :
make CHIP=at91sam9260 BOARD=at91sam9260-ek MEMORY=sram_samba DYN_TRACES=0 INST_PREFIX=%1 clean all
make CHIP=at91sam9260 BOARD=at91sam9260-ek MEMORY=sdram DYN_TRACES=1 INST_PREFIX=%1 clean all
make CHIP=at91sam9260 BOARD=at91sam9260-ek MEMORY=sdram DYN_TRACES=1 INST_PREFIX=%1 clean all
make CHIP=at91sam9260 BOARD=at91sam9260-ek MEMORY=sdram DYN_TRACES=1 INST_PREFIX=%1 clean all
make CHIP=at91sam9260 BOARD=at91sam9260-ek MEMORY=sdram DYN_TRACES=1 INST_PREFIX=%1 clean all
Установить частоту кварца в \applets\at91lib\boards\at91sam9260-ek\board.h :
/// Frequency of the board main oscillator.
/// Master clock frequency (when using board_lowlevel.c).
Проверить объём памяти и инициализацию шины данных памяти:
/// Board SDRAM size
/// List of all SDRAM pins definitions.
В board_lowlevel.c установить параметры PLLA и PLLB:
В board_memories.c проверить ширину шины данных RAM в void BOARD_ConfigureSdram() и void BOARD_ConfigureSdram48MHz():
// CFG Control Register
WRITE(AT91C_BASE_SDRAMC, SDRAMC_CR, AT91C_SDRAMC_NC_9
Проверить размер шины данных Nandflash в \applets\isp-applets\nandflash\main.c :
// Nandflash bus width
static unsigned char nfBusWidth = 8;
Собрать, запустив build_apps.bat .
Бинарники будут лежать в папке \applets\isp-applets\lib\at91sam9260ek .
Создать папку \lib\AT91SAM9260-EK-MY\ .
Скопировать туда новые бинарники и скрипт \lib\AT91SAM9260-EK\AT91SAM9260-EK.tcl , переименовать его в AT91SAM9260-EK-MY.tcl .
Добавить плату в основной список в \lib\boards.tcl :
Сборка скриптов для SAM-BA v2.9 и SAM-BA v2.10
В документации указан EABI компилятор версии 2007q1-10 от Codesourcery, но сборка им даёт ошибки.
В папке \applets\isp-projects\ создать файл build.bat следующего содержания:
make CROSS_COMPILE=arm-elf- clean BOARD=at91sam9260-ek CHIP=at91sam9260 sdram
make CROSS_COMPILE=arm-elf- clean CHIP=at91sam9260 BOARD=at91sam9260-ek sdram
make CROSS_COMPILE=arm-elf- clean CHIP=at91sam9260 BOARD=at91sam9260-ek sdram
make CROSS_COMPILE=arm-elf- clean CHIP=at91sam9260 BOARD=at91sam9260-ek sdram
make CROSS_COMPILE=arm-elf- clean CHIP=at91sam9260 BOARD=at91sam9260-ek sdram
Проверить строчки в Makefile-ах, они должны быть такие:
LDFLAGS = -g $(OPTIMIZATION) -nostartfiles -Wl,-Map=$(OUTPUT).map,--gc-sections
LDFLAGS = -g $(OPTIMIZATION) -nostartfiles -Wl,-Map=$(OUTPUT).map,--gc-sections
LDFLAGS = -g $(OPTIMIZATION) $(TARGET_OPTS) -Wl,-Map=$(OUTPUT).map,--gc-sections -nostartfiles
LDFLAGS = -g $(OPTIMIZATION) $(TARGET_OPTS) -Wl,-Map=$(OUTPUT).map,--gc-sections -nostartfiles
LDFLAGS = -g $(OPTIMIZATION) -nostartfiles -Wl,-Map=$(OUTPUT).map,--gc-sections
LDFLAGS = -g $(OPTIMIZATION) -nostartfiles -Wl,-Map=$(OUTPUT).map,--gc-sections
Установить частоту кварца в \applets\at91lib\boards\at91sam9260-ek\board.h :
/// Frequency of the board main oscillator.
/// Master clock frequency (when using board_lowlevel.c).
Проверить объём памяти и инициализацию шины данных памяти:
/// Board SDRAM size
/// List of all SDRAM pins definitions.
/// SDRAM bus width.
В board_lowlevel.c установить параметры PLLA и PLLB:
Для SAM-BA 2.10 перед компиляцией создать каталог \applets\isp-project\tcl_lib\at91sam9260-ek\ .
Бинарники будут лежать в папке \applets\isp-applets\tsl_lib\at91sam9260ek .
Создать папку \isp-project\tcl_lib\AT91SAM9260-EK-MY\ .
Скопировать туда новые бинарники и скрипт \isp-project\tcl_lib\AT91SAM9260-EK\AT91SAM9260-EK.tcl , переименовать его в AT91SAM9260-EK-MY.tcl .
Создать папку \tcl_lib\AT91SAM9260-EK-MY\ .
Скопировать туда новые бинарники и скрипт \tcl_lib\AT91SAM9260-EK\AT91SAM9260-EK.tcl , переименовать его в AT91SAM9260-EK-MY.tcl .
Проверить параметры SDRAM в AT91SAM9260-EK-MY.tcl .
variable extRamDataBusWidth 32
Добавить плату в основной список в \. \tcl_lib\boards.tcl :
Прошивка при использовании Dataflash
Загрузка исполняемых модулей происходит из Dataflash.
Файловая система располагается в Nandflash.
U-Boot: 0x08400 (задаётся в Bootstrap через IMG_ADDRESS)
Kernel: 0x42000 (задаётся в U-Boot, первый параметр команды cp.b)
Rootfs: 0x400000 (задаётся в ядре Linux /linux/arch/arm/mach-at91/board-sam9260ek.c в ek_nand_partition )
Прошивка Bootstrap
• На плате снять перемычку выбора кристалла DataFlash;
• Запустить SAM-BA. Выбрать AT91SAM9260-EK-MY и способ соединения;
• Поставить перемычку выбора кристалла;
• На странице Data Flash AT45DB/DCB в секции Scripts выбрать пункт Enable Dataflash (SPI0 CS1), нажать Execute;
• На странице Data Flash AT45DB/DCB в секции Scripts выбрать пункт Send Boot file, нажать Execute. В диалоге выбор файла указать файл Bootstrap.bin;
Прошивка U-Boot
• На плате снять перемычку выбора кристалла DataFlash;
• Запустить SAM-BA. Выбрать AT91SAM9260-EK-MY и способ соединения;
• Поставить перемычку выбора кристалла;
• На странице Data Flash AT45DB/DCB в секции Scripts выбрать пункт Enable Dataflash (SPI0 CS1), нажать Execute;
• В группе Download/Upload File в строке Send File Name указать путь к файлу u-boot.bin, указать адрес (Address) 0x8400, нажать кнопку Send file. Прошивка занимает примерно 1 минуту;
Прошивка ядра
• На плате снять перемычку выбора кристалла DataFlash;
• Запустить SAM-BA. Выбрать AT91SAM9260-EK-MY и способ соединения;
• Поставить перемычку выбора кристалла;
• На странице Data Flash AT45DB/DCB в секции Scripts выбрать пункт Enable Dataflash (SPI0 CS1), нажать Execute;
• В группе Download/Upload File в строке Send File Name указать путь к файлу zLinux_x.xx.xx.bin (или zImage), указать адрес (Address) 0x42000, нажать кнопку Send file. Прошивка занимает примерно 5 минут;
Прошивка файловой системы
• На плате снять перемычку выбора кристалла DataFlash;
• Запустить SAM-BA. Выбрать AT91SAM9260-EK-MY и способ соединения;
• Поставить перемычку выбора кристалла;
• На странице NandFlash в меню выбрать пункт Enable NandFlash, нажать Execute. Должны высветиться параметры микросхемы;
• На странице NandFlash в меню выбрать пункт Erase all, нажать Execute. Процесс занимает примерно 2 минуты.
• Выбрать файл rootfs_jffs2.bin или rootfs_ubifs.bin, указать адрес 0x400000, нажать кнопку Send file. Прошивка занимает примерно 1 минуту;
Читайте также: