我想将配置文本作为 argv[1] 传递给 main() 函数,并且已经尝试过命令行。set semihosting args "config txt" ,but it seems like the config txt is argv[0] not argv[1],so how to pass multi arguments to main()?
set semihosting args "config txt" ,but it seems like the config txt is argv[0] not argv[1],so how to pass multi arguments to main()?
The same settings in a simple hello_world project works suceessfully, But failed when the project using sve intrinsics, the command line error info is:
Semihosting stack/heap configured using values:Stack: 0x800185A0 ~ 0x80017DA0Heap: 0x800085A0 ~ 0x80017D9CWARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001B4)WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001DC)WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001E4)WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001E8)ERROR(TAD11-NAL23): ! Failed to write 49 bytes to address EL3:0xDEADDEADDEADDEB5! Memory write at address 0xDEADDEADDEADDEB5 failed with error code E_error_memory_abort (this error code also occurred at other addresses)Execution stopped in EL3h mode at breakpoint -1: EL3:0x0000000000000200
Semihosting stack/heap configured using values:
Stack: 0x800185A0 ~ 0x80017DA0
Heap: 0x800085A0 ~ 0x80017D9C
WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001B4)
WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001DC)
WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001E4)
WARNING(TAB186): Unknown semihosting operation 0x800085A0 (returning to EL3:0x00000000800001E8)
ERROR(TAD11-NAL23):
! Failed to write 49 bytes to address EL3:0xDEADDEADDEADDEB5
! Memory write at address 0xDEADDEADDEADDEB5 failed with error code E_error_memory_abort (this error code also occurred at other addresses)
Execution stopped in EL3h mode at breakpoint -1: EL3:0x0000000000000200
This error occurs using .ds script pass arguments.
When choosing another method pass arguments like FVP model parameter "semihosgin-cmd_line="1 2 3"", no error occurs.
Hi againYou wrote:>The same settings in a simple hello_world project works successfully, But failed when the project using sve intrinsics.Sorry, I can't think of any reason why SVE intrinsics themselves would cause such a failure.The semihosting vector/breakpoint address will depend on (and is an offset from) the Vector Base Address Register (VBAR) for the current EL.For a simple Hello World project, with no assembler startup code, the VBARs will contain zero (default for the FVPs), and so the "set semihosting vector ADDR" should be EL3:0x00000200.However, if you have a more complex project, with assembler startup code that changes the VBARs, or changes the EL, then you may have to change the address. Does your SVE intrinsics project have assembler startup code? If so, I suggest you check the value of VBAR_EL3.Stephen