Файл cardtool.fex
Примечание. Всё сказанное ниже относится также и к аналогичному файлу usbtool.fex, с той лишь разницей,
что он используется прошивальщиком PhoenixSuite, работающем через USB и прошивающим
внутреннюю nand-память (если и когда она есть на устройстве).
Файл cardtool.fex используется прошивальщиком PhoenixCard и при его запуске
и выборе образа прошивки копируется в текущую папку с именем card.scj
как временый файл. После завершения работы и выхода из PhoenixCard файл из папки удаляется.
Если учесть, что PhoenixCard - это достаточно универсальная программа записи образа
на карту для любых устройств Allwinner, то можно предположить, что в cardtool.fex
содержится специфическая информация (возможно, библиотечная), необходимая для записи данного
конкретного образа, поэтому это файл упаковывается в него при сборке.
Однако непосредственно на карту этот файл не записывается, поэтому для целей создания альтернативного
образа (и способа записи без PhoenixCard) он не представляет особого интереса,
учитывая отсутствие какой-либо документации. А гадать на кофейной гуще не хочется...
Какое-то представление о функциях cardtool.fex можно получить из списка содержащихся
в нём текстовых строк (в т.ч. сообщений):
- text
- rdata
- data
- reloc
- bad allocation
- ERROR:%s[%d] FUNC:%s:%s
- ParseScript: Param(0x%x), script Info(0x%x)
- thisdata.fex
- bad4b626-2f05-4308-b7db-697d16ef6641
- sparse: incompatible format
- sparse: bad magic
- sparse: bad chunk size for chunk %d, type Raw
- sparse: flash write failed Ln--%d
- sparse: flash write failed Block %d Ln--%d
- sparse: bad chunk size for chunk %d, type FILL
- sparse: bogus DONT CARE chunk
- sparse: unknown chunk ID %x
- sparse: chunk ID is CHUNK_TYPE_FILL
- input size = %d
- 720420d3-fbbe-44a3- 83c3-08d35afa1cca
- cardtool
- scottyu
- cd1bc3b8-afea-403e- bca0-016e4afd92a6
- c4c12549-6916-4c73- 9cd0-61d97af44a95
- 571a0639-251e-445f- 8a71-05b7ee2758c5
- 49b6715e-7bdf-4cc8- ab80-52415d73d677
- card_work_mode=0x%x
- toc0 item num=0x%x
- use default card_work_mode
- uboot magic is error
- uboot
- error:can't find uboot
- u-boot
- Entry_name = %s
- TOC0_00000000000
- UBOOT_0000000000
- Write boot0 for secure img end
- Write boot0 for secure img error
- Write boot0 for secure img start: Pos = %d,Boot0Len = %d
- 1234567890BOOT_0
- thisdata
- thisfile
- Start pos over the step[%s]
(sta%d(sec) + length:%d (sec) = %d(sec) > %d sec.
- Burn ([%s] strar pos = %d sec)Error.
- Please select the image file retry again.
- Please Check the file cardscript.fex in the image.
- Check error: [%s] startpos = %d, PreStep End = %d
- DISKFS_FEX000000
- PHOENIX_CARD_IMG
- invalid vector subscript
- IniParasor.cpp
- softw311
- ScriptMan.cpp
- err = %d
- Image error, use new version image file!
- ParseScriptInfo ok
- UDISK
- DATA File
- startpos
- thisdata00000000
- IMG File
- RFSFAT16
- 1234567890___mbr
- commchs
- commen
- param7
- param6
- param5
- param4
- param3
- param2
- param1
- param0
- type
- sectors
- start
- sub
- main
- mode
- Error
- GetKeyString(%s %s) failed
- process
- version
- Load MBR and dlInfo Failed
- mbr.fex
- dlinfo.fex
- burnkey
- test
- update
- bromrun
- product
- null
- Delete
- NoRemove
- ForceRemove
- Val
- mfc90.dll
- __CxxFrameHandler3
- MSVCR90.dll
- __CppXcptFilter
- __dllonexit
- _type_info_dtor_internal_ method@type_info@@QAEXXZ
- __clean_type_info_names_internal
- CloseHandle
- CreateFileA
- KERNEL32.dll
- USER32.dll
- MSVCP90.dll
- CardTool.dll
- GetAuthor
- GetCopyRight
- GetInterface
- GetPlugInName
- GetPlugInType
- GetPlugInVersion
- QueryInterface
- Start Burning...
- Invalid Parameter
- Image File Invalid
- Script Invalid
- Burn End...
- Burn Failed %d
- File (%s) NOT Exist !
- Magic Complete
- Magic Failed %d
- Check Complete
- Check Failed
- Burn Sucess
- Burn Fail
- Error
- Fail
- Invalid Parameter!
- DATA_TYPE_l1 Not Support
- DATA_TYPE_l2 Not Support
- Not Support
- DATA_TYPE_RAW Not Support
- CardCheckEntry Trying to Complete
- IsValidImage Trying to Complete
- IsValidInterface Error %d
- Write DiskSector Failed %d
- Disk=%c %s %s length=%d start=%d
- %s %s FileCRC=%x
- ReadDisk Sector Failed %d
- %s %s DataCRC=%x
- Data Not Match %s %s %x %x
- Device Open Failed
- AVbad_alloc@std@@
- AVexception@std@@
- AVlogic_error@std@@
- AVlength_error@std@@
- AVout_of_range@std@@
- AVIniParasor@@
- AVPartionInfoAW@@
- AVPartionInfoA23@@
- AVPartionInfoA33@@
- AVScriptMan@@
- AVCMemoryException@@
- AV_AFX_DLL_MODULE_STATE@@
- AVAFX_MODULE_STATE@@
- AVCNoTrackObject@@
- AVtype_info
Примечание. Выделены строки сообщений, которые появляются
в окне сообщений PhoenixCard в случае нормального и успешного процесса
записи образа на карту.