CCS-утилиты программирования FLASH AM335x |
![]() |
Добавил(а) microsin |
Этот документ (перевод [1]) описывает шаги по сборке различных инструментов прошивки и процедури их использования для платформы AM335x в среде CCS v5.1. Если Вы используете готовый бинарный код, то можете пропустить раздел "Сборка двоичного кода Flashing Tool" и сразу перейти к секции "Шаги по прошивке FLASH". Примечание: готовые собранные бинарники flashing tools, предоставленные с этим релизом, были протестированы вместе со средой разработки CCS v5.1. Выполните пересборку бинарников, если используете другую версию CCS. [Сборка двоичного кода Flashing Tool] Для сборки нужен компьютер с операционной системой Windows, где установлена IDE CCS v5.1. Примечание: готовый собранный образ доступен как host-tools/nand-flash-writer.out в пакете релиза Linux PSP [2]. • Исходный код NAND flasher должен быть доступен как часть пакета релиза AM335x [2] в файле host-tools/src/nandflash-< версия >.tar.gz. • Распакуйте zip-архив исходного кода. • Запустите CCS v5.1, и импортируйте этот проект, выполнив следующие шаги. 1. Откройте вид проектов c/c++ через меню View -> C/C++ Projects. • Через меню Projects кликните Build Project, Project -> Build Project. • Файл утилиты прошивки должен появиться в каталоге Nand_flasher/Debug. [Шаги по прошивке FLASH] Описанные шаги проверялись в среде IDE CCS v5.1, установленной на Windows XP. Примечание: EVM обозначает Evaluation Module, т. е. оценочная плата разработчика. • Подключите эмулятор XDS560 к AM335x EVM. • Запустите CCS v5.1. • Используйте файл конфигурации процессора AM335x.ccxml (target configuration file). Если нужно создать новую конфигурацию, то выполните следующие шаги. 1. Создайте новую область конфигурации Target Configurations через меню File -> New -> Target configuration file. • Выберите конфигурацию Debug в CCS, если это еще не сделано, через меню View -> Debug. • Выберите View -> Target Configurations. Разверните дерево User defined, чтобы достичь AM335x.ccxml. • Сделайте правый клик и выберите "Launch Selected Configuration". Это действие должно запустить сессию отладки. • В области просмотра Debug (прокрутите список до конца) выберите соединение "TI XDS560 Emulator_0/Cortex A8". • Сделайте правый клик и выберите опцию "Set Debug Scope". Это удалит из вида Debug все ядра, кроме Cortex A8. • Выполните правый клик на Cortex A8, находящийся в списке вида Debug, и кликните "Connect Target". • Запустите скрипт инициализации на закладке Scripts, AM335x System initialization -> AM335x_EVM_Initialization. Flashing tool ожидает GEL-файл для инициализации DDR и RAM, встроенной в кристалл процессора. Последний GEL-файл можно найти на страничке [3]. После подключения к target загрузите GEL-файл выбором GEL Files на закладке Tools. После загрузки GEL-файла инициализируйте EVM, используя скрипты на закладке Scripts. Для инициализации EVM выберите AM335x_EVM_Initialization в AM335x System Initialization. В этой врезке описана процедура прошивки образа в NAND flash, установленной на EVM. Готовый собранный инструментарий CCS (host-tools/nand-flash-writer.out) для NAND должен быть доступен как часть пакета релиза Linux PSP [2]. NAND flashing tool используется для прошивки SPL (Serial Port Loader) и U-boot. SPL должен быть прошит в первые 4 блока AM335x, потому что RBL (ROM Boot Loader) проверяет наличие SPL в первых 4 блоках NAND. Если в первом блоке загрузчик не найден, то RBL проверяет 2-й блок и так далее, вплоть до 4-го блока. Для поддержки этой функции SPL должен быть прошит в первые 4 блока. Таким образом, смещения секторов памяти для прошивки SPL будут 0x0, 0x20000, 0x40000 и 0x60000. Для U-Boot смещение прошивки составляет 0x80000, после 4-го блока. Карта содержимого NAND показана в разделе "NAND Layout" далее. Примечание: утилита прошивки (flashing utility) запускается всякий раз для прошивки каждого компонента. Во время прошивки flashing utility заботится об очистке требуемых блоков в микросхеме памяти NAND flash. Из-за жесткого мультиплексирования функций выводов процессора память NAND доступна только на некоторых AM335x EVM, и в некоторых профилях. Пользователь должен убедиться, что d-профили были правильно выбраны для разрешения NAND перед тем, как прошивать образ в NAND. Не поддерживаемые профили NAND flash tool не смогут определить наличие NAND. Для дополнительной информации см. руководство пользователя AM335x EVM [4]. [Прошивка образа в NAND Flash] 1. Запустите CCS, используя шаги, описанные выше во врезке "Подключение CCS к AM335x EVM". 2. Загрузите GEL-файл, используя шаги, описанные выше во врезке "Загрузка GEL-файла". 3. После того, как GEL-файл загружен, сбросьте плату запуском скриптов из GEL-файла. Для этого перейдите в Scripts -> AM335x System Initialization и кликните "AM335x_EVM_Initialization". 4. Убедитесь, что образ, предназначенный для прошивки - например Minimal LOader (MLO, т. е. файл загрузчика X-loader) - присутствует на компьютере Windows XP. 5. Загрузите nand-flash-writer.out и запустите его. Скрипт nand-flash-writer.out должен быть доступен в пакете релиза, в каталоге board-utilities\. 6. Выберите опцию для прошивки: Choose your operation Enter 1 ---> To Flash an Image Enter 2 ---> To ERASE the whole NAND Enter 3 ---> To EXIT Когда появится это приглашение, выберите опцию 1. Опцию 2 выбирайте, если хотите стереть все содержимое NAND. 7. Введите путь до прошиваемого образа, когда появится следующее приглашение: Enter image file path Следует предоставлять полный путь до файла образа, например C:\images\MLO. 8. После появления следующего приглашения введите адрес смещения в NAND: Enter offset (in hex): Это смещение (offset) задает стартовую позицию в памяти, куда должен быть прошит файл образа. Примечание: используйте для смещения hex-формат. Например, введите 0x0 для прошивки образа MLO (т. е. загрузчика первой стадии) в первый блок. Введите 0x80000 для прошивки U-Boot в четвертый блок (см. карту памяти NAND далее в разделе "NAND Layout"). 9. Выберите ECC для прошивки. Choose the ECC scheme from given options Enter 1 ---> BCH 8 bit Enter 2 ---> HAM Enter 3 ---> T0 EXIT Please enter ECC scheme type: Всегда выбирайте BCH8 для MLO и U-Boot, поскольку код ROM использует схему BCH8 ECC. Введите 1 для выбора BCH8. 10. Убедитесь, что информация flash-памяти, отображаемая инструментом, соответствует установленной в EVM памяти NAND flash. 11. После этого инструмент должен сначала стереть (erase) требуемый регион flash, и затем начать прошивать новый образ. 12. По окончанию процесса Вы должны увидеть следующее сообщение: Application is successfully flashed NAND boot preparation was successful! 13. Отключите CCS, и затем выключите питание платы. 14. Убедитесь, что выбран Profile для NAND boot mode. 15. Загрузите плату (подав на неё питание) и проверьте, как работает прошитый образ. [NAND Layout] Память NAND на плате EVM должна быть сконфигурирована по карте, показанной на схеме ниже. Упомянутые в схеме адреса используются в соответствующих командах NAND. +------------+-->0x00000000-> SPL start (копия SPL в 1 блоке) | | | |-->0x0001FFFF-> SPL end | |-->0x00020000-> SPL.backup1 start (копия SPL во 2 блоке) | | | |-->0x0003FFFF-> SPL.backup1 end | |-->0x00040000-> SPL.backup2 start (копия SPL в 3 блоке) | | | |-->0x0005FFFF-> SPL.backup2 end | |-->0x00060000-> SPL.backup3 start (копия SPL в 4 блоке) | | | |-->0x0007FFFF-> SPL.backup3 end | |-->0x00080000-> U-Boot start | | | |-->0x002BFFFF-> U-Boot end | |-->0x00260000-> ENV start | | | | | |-->0x0027FFFF-> ENV end | |-->0x00280000-> Linux Kernel start | | | | | | | | | |-->0x0077FFFF-> Linux Kernel end | |-->0x00780000-> File system start | | | | | | | | | | | | | | | | | | | | | | | | +------------+-->0x10000000-> NAND end (Free end) [Ссылки] 1. AM335x CCS Flashing Tools Guide site:processors.wiki.ti.com. |