Hi all,
Yesterday I received the S32G3 VPN box but have spent hours trying to boot from SD Card it won't work.
I get the errors:
U-Boot 2020.04+g6286902c94 (Nov 17 2021 - 08:47:30 +0000)
CPU: NXP S32G399A rev. 1.1.0
Reset cause: Power-On Reset
Model: NXP S32G3XX
Board: NXP S32G399A-RDB3
DRAM: Error 3 on ddr_init
initcall sequence 000000003410be40 failed at call 00000000340a2f18 (err=3)
### ERROR ### Please RESET the board ###
Has anyone experienced this before?
Hi @carlos_o ,
I have tried all day to find any information or tutorials on performing DDR tests using S32DS but in vain.
Would you please provide some pointers in that direction? If some PDF exists, I would appreciate if you help attach it here.
It is my first working working with S32DS & S32G in general and most of this stuff is mostly new. Please understand my situation.
Thanks.
Hi @mkayondo,
You need to turn on the board as Serial Boot
[Page 9, S32G-VNP-RDB3 User Guide, Rev. 1.0, 03/2023]
You can open/create a project for you S32 Device. After open ConfigTools and click on DDR.
It will load a page like the next (it can be on the DDR View or Validation tab; you need to be on the validation tab):
Verify the project selected at the top. After select the port COM.
Check the Firmware Init test and click on Start Validation.
It will run and you can see if this passes or not. Please share the output you get here.
Let me know if you need help.
Also here is a reference for a Getting Started: DDR Tool Video
Hi @carlos_o ,
Sorry, it took long to setup the S32DS environment.
Here is the output from the DDR Test:
#################### Result for: phy_init ###### Run 1 #############################################
Microsoft Windows [Version 10.0.26100.2314]
(c) Microsoft Corporation. All rights reserved.
C:\NXP\S32DS.3.5\eclipse>C:\NXP\S32DS.3.5\S32DS\build_tools\msys32\mingw32\bin\python2 C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts\s.py -l DEBUG -parentPID 3308 "C:/Users/kayon/AppData/Local/Temp/mem_validation/connect.json" "C:/Users/kayon/AppData/Local/Temp/mem_validation/test.json" "C:/Users/kayon/AppData/Local/Temp/mem_validation/phy.json"
DEBUG:test:Initializing test
INFO:test:Using binary C:/NXP/S32DS.3.5/eclipse/mcu_data/processors/S32G358A/PlatformSDK_S32XX_4_0_0/scripts/ddrv/binaries/S32G3_M7_A53.bin
DEBUG:backend:Executing: set remotetimeout 60000
DEBUG:backend:Executing: set debug remote 0
DEBUG:backend:Executing: set interactive-mode off
DEBUG:backend:Executing: set pagination off
DEBUG:backend:Executing: set print repeats 0
DEBUG:backend:Executing: disconnect
DEBUG:utils.serial_lib:App path C:/NXP/S32DS.3.5/eclipse/mcu_data/processors/S32G358A/PlatformSDK_S32XX_4_0_0/scripts/ddrv/binaries/S32G3_M7_A53.bin
DEBUG:utils.serial_lib:establishing bootrom connection
DEBUG:utils.serial_lib:HEADER :
['0xd8', '0x0', '0x0', '0x60', '0x0', '0x0', '0x30', '0x34', '0x0', '0x0', '0x30', '0x34', '0x50', '0x31', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0', '0x0']
INFO:utils.serial_lib:Writing firmware.
DEBUG:utils.serial_lib:12624
DEBUG:utils.serial_lib:1 / 4
DEBUG:utils.serial_lib:2 / 4
DEBUG:utils.serial_lib:3 / 4
DEBUG:utils.serial_lib:4 / 4
INFO:utils.serial_lib:Writing firmware completed.
DEBUG:utils.serial_lib:establishing master connection
DEBUG:utils.serial_lib:Requested ACK
DEBUG:utils.serial_lib:Received ACK
DEBUG:gdbcommands.commands:----------------------------------
DEBUG:gdbcommands.commands:C:\Users\kayon\AppData\Local\Temp\mem_validation\phy.json
INFO:gdbcommands.commands:Preparing DDR training data
DEBUG:utils.serial_lib:Read value FEDC8855
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:/NXP/S32DS.3.5/eclipse/mcu_data/processors/S32G358A/PlatformSDK_S32XX_4_0_0/scripts/ddrv/binaries/phy/g3_phy.bin
DEBUG:backend:> To address: 0x34000000
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:\Users\kayon\AppData\Local\Temp\mem_validation\dcd.bin
DEBUG:backend:> To address: 0x34000300
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.function
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.result_status
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_logged_items
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.log_addr
DEBUG:backend:> Value: 876675072
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.log_types
DEBUG:backend:> Value: 1023
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.log_upper_addr_limit
DEBUG:backend:> Value: 876744704
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.swap_enable
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.ccsr_phy1_addr
DEBUG:backend:> Value: 1077411840
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.ccsr_phy2_addr
DEBUG:backend:> Value: 23068672
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.reg_map_compression_ver
DEBUG:backend:> Value: 3
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_source_1d
DEBUG:backend:> Value: 872759296
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_destination_1d
DEBUG:backend:> Value: 327680
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_size_1d
DEBUG:backend:> Value: 32428
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_source_1d
DEBUG:backend:> Value: 872792320
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_destination_1d
DEBUG:backend:> Value: 344064
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_size_1d
DEBUG:backend:> Value: 1660
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_source_2d
DEBUG:backend:> Value: 872796160
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_destination_2d
DEBUG:backend:> Value: 327680
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.imem_fw_size_2d
DEBUG:backend:> Value: 25504
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_source_2d
DEBUG:backend:> Value: 872824832
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_destination_2d
DEBUG:backend:> Value: 344064
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dmem_fw_size_2d
DEBUG:backend:> Value: 1404
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.train_2d
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.ctrl_id
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dram_type
DEBUG:backend:> Value: 2
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dimm_type
DEBUG:backend:> Value: 4
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.frequency
DEBUG:backend:> Value: 800
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.hard_macro_ver
DEBUG:backend:> Value: 4
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_dbyte
DEBUG:backend:> Value: 4
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_active_dbyte_dfi0
DEBUG:backend:> Value: 2
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_anib
DEBUG:backend:> Value: 10
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_rank_dfi0
DEBUG:backend:> Value: 2
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_rank_dfi1
DEBUG:backend:> Value: 2
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_pstates
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.pll_bypass
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dfi_freq_ratio
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.read_dbi_enable
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dfi1_exists
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dram_data_width
DEBUG:backend:> Value: 16
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dram_byte_swap
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.ext_cal_res_val
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx_slew_rise_dq
DEBUG:backend:> Value: 15
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx_slew_fall_dq
DEBUG:backend:> Value: 15
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx_slew_rise_ac
DEBUG:backend:> Value: 15
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx_slew_fall_ac
DEBUG:backend:> Value: 15
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.odt_impedance
DEBUG:backend:> Value: 60
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx_impedance
DEBUG:backend:> Value: 40
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.atx_impedance
DEBUG:backend:> Value: 40
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mem_alert_en
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mem_alert_pu_imp
DEBUG:backend:> Value: 5
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mem_alert_vref_level
DEBUG:backend:> Value: 41
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mem_alert_sync_bypass
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.cal_interval
DEBUG:backend:> Value: 9
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.cal_once
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dis_dyn_adr_tri
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.is2t_timing
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.d4rx_preamble_length
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.d4tx_preamble_length
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.decision_feedback_eq
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.phy_odt_impedance
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.phy_drv_impedance
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.msg_misc
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.hdt_ctrl
DEBUG:backend:> Value: 255
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.cs_present
DEBUG:backend:> Value: 3
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.cs_present_d0
DEBUG:backend:> Value: 3
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.cs_present_d1
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.phy_vref
DEBUG:backend:> Value: 24
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.dfi_mrl_margin
DEBUG:backend:> Value: 3
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.addr_mirror
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.wr_odt_pat_rank0
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.wr_odt_pat_rank1
DEBUG:backend:> Value: 2
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.wr_odt_pat_rank2
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.wr_odt_pat_rank3
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rd_odt_pat_rank0
DEBUG:backend:> Value: 32
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rd_odt_pat_rank1
DEBUG:backend:> Value: 16
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rd_odt_pat_rank2
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rd_odt_pat_rank3
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.d4_misc
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.disabled_dbyte
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.sequence_ctrl
DEBUG:backend:> Value: 4895
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.sequence_ctrl_2d
DEBUG:backend:> Value: 97
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park0
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park1
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park2
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park3
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park4
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park5
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park6
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rtt_nom_wr_park7
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.share_2d_vref_result
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.delay_weight_2d
DEBUG:backend:> Value: 128
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.voltage_weight_2d
DEBUG:backend:> Value: 32
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr0
DEBUG:backend:> Value: 12292
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr1
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr2
DEBUG:backend:> Value: 48
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr3
DEBUG:backend:> Value: 1088
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr4
DEBUG:backend:> Value: 4608
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr5
DEBUG:backend:> Value: 5696
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.mr6
DEBUG:backend:> Value: 4096
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.atx_delay
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.atx_delay_en
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.rx2d_train_opt
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.tx2d_train_opt
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.train_opt_en
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.train_count_1d
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.train_count_2d
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_imem_fw_source
DEBUG:backend:> Value: 873095168
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_imem_fw_destination
DEBUG:backend:> Value: 327680
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_imem_fw_size
DEBUG:backend:> Value: 22496
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_dmem_fw_source
DEBUG:backend:> Value: 873117664
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_dmem_fw_destination
DEBUG:backend:> Value: 344576
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_dmem_fw_size
DEBUG:backend:> Value: 6900
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_test
DEBUG:backend:> Value: 5
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_subtest
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_out_addr_hi
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_out_addr_lo
DEBUG:backend:> Value: 873124824
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_cs
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_r_count
DEBUG:backend:> Value: 32
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_l_count
DEBUG:backend:> Value: 16
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_x_count
DEBUG:backend:> Value: 32
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_seed
DEBUG:backend:> Value: 65535
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_prbs
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_byte
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_lane
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.diag_test_addr
DEBUG:backend:> Value: 4096
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_use_broadcast_mr
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_ca_terminating_rank_ch_a
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_ca_terminating_rank_ch_b
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr1
DEBUG:backend:> Value: 36
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr2
DEBUG:backend:> Value: 18
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr3
DEBUG:backend:> Value: 51
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr4
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr11
DEBUG:backend:> Value: 102
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr12
DEBUG:backend:> Value: 77
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr13
DEBUG:backend:> Value: 8
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr14
DEBUG:backend:> Value: 79
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr16
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr17
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr22
DEBUG:backend:> Value: 4
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_mr24
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_wdqsext
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_lp4x_mode
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_misc
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lp4_ca_train_opt_en
DEBUG:backend:> Value: 1
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.log_io_addr
DEBUG:backend:> Value: 876748800
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.log_io_upper_addr_limit
DEBUG:backend:> Value: 877797376
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.num_logged_io_items
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lane_0_dq_map
DEBUG:backend:> Value: 1985229328
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lane_1_dq_map
DEBUG:backend:> Value: 1985229328
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lane_2_dq_map
DEBUG:backend:> Value: 1985229328
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.lane_3_dq_map
DEBUG:backend:> Value: 1985229328
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: g_params.static_refresh_rate
DEBUG:backend:> Value: 0
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\binaries\firmware\lpddr4_pmu_train_dmem.bin
DEBUG:backend:> To address: 0x3405c100
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\binaries\firmware\lpddr4_pmu_train_imem.bin
DEBUG:backend:> To address: 0x34054000
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\binaries\firmware\lpddr4_2d_pmu_train_dmem.bin
DEBUG:backend:> To address: 0x34064000
DEBUG:backend:[ SerialLib ] Writing file to memory
DEBUG:backend:> From File: C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\binaries\firmware\lpddr4_2d_pmu_train_imem.bin
DEBUG:backend:> To address: 0x3405d000
DEBUG:backend:[ SerialLib ] Writing symbol
DEBUG:backend:> Symbol: TEST_OUT.appState
DEBUG:backend:> Value: 2857740885
INFO:gdbcommands.commands:Completed DDR data preparation
INFO:gdbcommands.commands:Running DDR training
DEBUG:utils.serial_lib:Read value FEDC8855
DEBUG:backend:[ SerialLib ] Reading symbol
DEBUG:backend:> Symbol: g_params.result_status
DEBUG:utils.serial_lib:Read value 00000003
INFO:gdbcommands.commands:Training finished with code : 3
INFO:gdbcommands.commands:Collecting logs
DEBUG:backend:[ SerialLib ] Reading symbol
DEBUG:backend:> Symbol: g_params.num_logged_items
DEBUG:utils.serial_lib:Read value 00000001
DEBUG:backend:[ SerialLib ] Reading memory
DEBUG:backend:> From address: 0x34410000
DEBUG:backend:> Size: 0x800
DEBUG:backend:> Access size: 1
DEBUG:utils.serial_lib:Read value FF000000000000000000000000000000000000000000000000
DEBUG:backend:[ SerialLib ] Reading memory
DEBUG:backend:> From address: 0x34410800
DEBUG:backend:> Size: 0x800
DEBUG:backend:> Access size: 1
DEBUG:utils.serial_lib:Read value 00000000000000000000000000000000000000000000000000
Firmware has failed (firmware completed)
ERROR:test:Traceback (most recent call last):
File "C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts/test.py", line 99, in run
self.prepare_app()
File "C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts/test.py", line 146, in prepare_app
phy.execute_operation(CwPhy.OP_FULL_INIT)
File "C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts/gdbcommands/commands.py", line 962, in execute_operation
self.__execute_algorithm()
File "C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts/gdbcommands/commands.py", line 844, in __execute_algorithm
self.display_error_message(result_status)
File "C:\NXP\S32DS.3.5\eclipse\mcu_data\processors\S32G358A\PlatformSDK_S32XX_4_0_0\scripts\ddrv\scripts/gdbcommands/commands.py", line 1387, in display_error_message
raise PhyTrainingException(self.get_error_message(result_status))
PhyTrainingException: DDR PHY: 1D training failed
****DONE****
DEBUG:backend:Executing: quit
Hi @mkayondo,
Thank you for running the test. Unfortunately, it seems to be a HW issue of the DDR. Please contact your FAE to verify if you can request a replacement.
Hi @carlos_o ,
Thanks for your response.
The output I have posted is all I get every time I press the reset button. That's with the default BSP version that came with the Board on the SD Card.
I tried BSP35.0 with the ubuntu image, but that gives me the following output when I try to boot the board or press the reset button:
NOTICE: Reset status: Power-On Reset
ERROR: Failed to configure the DDR subsystem
PANIC at PC: 0x00...34306878
I tried BSP42, the latest version I suppose, but that too gave the same output.
I'm wondering whether there's some step I'm missing.
Thanks.
Hi @mkayondo
Can you run the Validation of the DDR Tool from S32 Design Studio 3.5 and share the output you get?
Meanwhile I will review with the internal team possible reasons of the error and their solutions.
Hi @mkayondo
Which version of BSP are you using?
Can you share the full output when you try to boot?