Программатор UFPI Инструкция 7 Файлы устройств .UDEV

Применение и особенности.

UFPI имеет возможность работы с файлами устройств (.UDEV). Файлы устройств это текстовые файлы со своим форматом (похожим на INI), которые содержат в себе информацию необходимую для работы с вашим устройством для каждого конкретного модуля. Это название, тип процессора, адрес памяти, строки инициализации, данные о разделах и т.п.

UDEV можно открывать используя горячие клавиши. В секции [INFO] можно писать любую информацию, которая будет выводиться при загрузке UDEV. Кодировка UTF-8, а так же выделять
цветом, применяя тэги #C1, #C2...

UDEV можно составлять в обычном блокноте, либо скриптами (например для поиска разделов) или в режиме доступа «Разделы», через меню по правой кнопке мыши.

Структура.

На примере NAND для TV SAMSUNG D5500.

[DESC]
; Имя устройства
Name = D5500
; Типа памяти
; eMMC, SD, NAND, ONENAND
FlashType1 = NAND

; Базовый адрес, используется только с JTAG и т.п.
FlashBase1 = 0x0
; Алгоритм ECC коррекции
; 0 - выключено
; 1 - схема
; 2 - HW
ECCAlgo = 1

; Схема ECC коррекции
ECCScheme = MSTAR_P8K_SP436_CW8_S12L42
; Анализ после чтения ID
; 0 - выключено
; 1 - dump
; 2 - dump, ic
; 3 - ic
; 4 - ic, dump
AnalysisOnID = 1
[BBM]

; Стирать плохие блоки или нет
bbErase = false
; Обнаружение плохих блоков
; 0 - выключено
; 1 - во время стирания
; 2 - первый байт маркер spare
; 3 - шестой байт маркер spare
; 4 - произвольная позиция маркера в spare
; 5 - произвольная позиция маркера в странице
; 6 - таблица плохих блоков
; 7 - BBM LUT (Serial NAND)
bbDetect = 2

; Управление плохими блоками
; 0 - выключено
; 1 - пропустить плохой блок
; 2 - использовать резервную зону
bbMgmt = 2
; Значение маркера
bbMarkerVal = 0x00
; Оператор маркера
; 0 - равно
; 1 - неравно
bbMarkerOp = 0

; Пользовательская позиция маркера
bbMarkerPos = 0
; Тип таблицы плохих блоков
; OFF - не используется
; AUTODETECT - автодетект
; LG BBMINFO
; Samsung RFS
bbTableType = Samsung RFS

; Номер блока таблицы плохих блоков
bbTableBlock = 0
[NAND]
;офлайн геометрия NAND для монтирования и анализа ББ.
PageData = 8192
PageSpare = 436
PagesInBlock = 128
Blocks = 2076
[INFO]
; любая текстовая информация, которая выводится при загрузке
[PARTITIONS]
; информация для работы с разделами

Пример .UDEV разделов для eMMC

[DESC]
Name = Partitions
FlashType1 = eMMC
FlashBase1 = 0
[PARTITIONS]
;Активировать режим доступа «Разделы».
PartitionsMode = true
;Начальный адрес, Размер раздела, Имя раздела, Часть/раздел(user/boot1/boot2/RPMB), Имя файла, Смещение в
файле, Файловая система
0x0000000000,0x00200000,Partitions_table,USER,
0x0000200000,0x00300000,MBOOT,USER,
...
0x0003080000,0x00040000,RTPM,USER,
0x00030C0000,0x2BC00000,system,USER,USER_0x00030C0000_0x2BC00000_system.bin,0,EXT4
0x002ECC0000,0x40400000,userdata,USER,,,EXT4

Для работы с разделами и сразу с файлами, необходимо называть файлы разделов именами "по
соглашению" типа boot1_0x0_0x1000_zboot.bin и нажимать в режиме доступа разделы "Загрузить из
папки".

Пример .UDEV разделов для NAND

[PARTITIONS]
PartitionsMode = true
; если адреса разделов указаны с учетом spare.
RawAddrMode = true
;если размеры разделов указаны без учета spare.
RawSizeMode = false
0x00000000,0x1950000,UBOOT
0x01950000,0x1734000,UBOOTENV
0x03084000,0x1B4A4000,SYSTEM.UBI
;0x00000000 - начальный адрес раздела, можно указывать как с учётом спаре, так и без
;0x1950000 - размер раздела, указываем только с учётом спаре.
;UBOOT - имя раздела

Примеры работы с разделами можно посмотреть в приложении.

You have no rights to post comments