Elprotronic GangFlasher ST provides convenient procedure for programming boards with ST MPx microprocessor inside. Within this procedure called User-Defined boards programming it is possible to automatically adapt user Device Trees. They provide non-recoverable peripherals and external devices as a static structure. One of GangFlasher (GF) functionalities is export of used minimal Device Tree (DTmin) and direct user correction of used nodes via DTmin configuration file. Let us consider one of microprocessor (MPU) Vendor example board, in this case it will be Karo TXMP-1570 board.
GangFlasher-CLI example
Firstly compile GF-CLI with F_LoadOS()
functionality (argument cmd
cmd equal 3). GF-CLI functionalities are described in details in GF-CLI tutorial. To setup Karo in GF User-Defined mode please set in configuration file and load it with usage of function F_LoadTargetConfig()
:
MCU_name Karo UserDefined_Board_1_Name Karo UserDefined_Board_1_tfa_File /home/UserXX/Karo/tf-a-stm32mp157c-txmp-1570-trusted.stm32 UserDefined_Board_1_zImage_File /home/UserXX/Karo/fip-stm32mp157c-txmp-1570-trusted.bin
Compile and run this configuration, in UART console there will be shown log:
INFO: DT: bsec_probe() OK INFO: DT: dt_open_and_check() OK INFO: DT: stm32mp1_clk_probe() OK ERROR: CLKSRC 281 start failed @ 0x50000028: 0x1 INFO: DT: stm32mp1_clk_init() ERROR ERROR: TFA PANIC at func: "bl2_el3_plat_arch_setup() file "plat/st/stm32mp1/bl2_plat_setup.c" l.:322"; PANIC at PC : 0x2ffec63f Exception mode=0x00000016 at: 0x2ffec63f