This is an automated email from the ASF dual-hosted git repository. mssun pushed a commit to branch rww-doc in repository https://gitbox.apache.org/repos/asf/incubator-teaclave-trustzone-sdk.git
commit 7d4a1f2f47b18ad935a0c900e182cd6cfd3408f1 Author: Mingshen Sun <[email protected]> AuthorDate: Tue Oct 19 13:18:52 2021 -0700 Delete trailing whitespaces --- docs/debugging-optee-ta.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/debugging-optee-ta.md b/docs/debugging-optee-ta.md index 54ebba8..7425428 100644 --- a/docs/debugging-optee-ta.md +++ b/docs/debugging-optee-ta.md @@ -2,26 +2,26 @@ permalink: /trustzone-sdk-docs/debugging-optee-ta.md --- -# Debugging OP-TEE TA +# Debugging OP-TEE TA -When developing applications, it is inevitable that there will be a need for -debugging. This tutorial introduces how to configure the debug environment in -OP-TEE enabled QEMU environment. You may also check -[OP-TEE documentation](https://optee.readthedocs.io/en/latest/building/devices/qemu.html) +When developing applications, it is inevitable that there will be a need for +debugging. This tutorial introduces how to configure the debug environment in +OP-TEE enabled QEMU environment. You may also check +[OP-TEE documentation](https://optee.readthedocs.io/en/latest/building/devices/qemu.html) for more information about running QEMU for Arm v8. -To debug TEE core running QEMU with GDB, it is necessary to disable TEE ASLR with -`CFG_CORE_ASLR ?= n` in `OP-TEE/optee_os/mk/config.mk`. Note that you need to -recompile QEMU with `make run` again. You can also choose to add the compilation +To debug TEE core running QEMU with GDB, it is necessary to disable TEE ASLR with +`CFG_CORE_ASLR ?= n` in `OP-TEE/optee_os/mk/config.mk`. Note that you need to +recompile QEMU with `make run` again. You can also choose to add the compilation information directly at compile time. ```sh $ make run CFG_CORE_ASLR=n ``` -Since we will debug the TA remotely with a `gdb` server, please also add the +Since we will debug the TA remotely with a `gdb` server, please also add the `GDBSERVER=y` flag when compiling QEMU. -To debug a TA, you need to first start a gdb on the host machine. Then run +To debug a TA, you need to first start a gdb on the host machine. Then run `target remote :1234` to connect to the remote QEMU GDB server. ```sh @@ -37,7 +37,7 @@ Next, in the GDB console, load the symbol table of the TEE core library. ```sh (gdb) symbol-file /path/to/qemu-v8-project/optee_os/out/arm/core/tee.elf ``` -Taking `hello_world-rs` as an example, you can get the start address of the text +Taking `hello_world-rs` as an example, you can get the start address of the text section from the log in the secure world console, which is 0x40014000. ```sh @@ -48,13 +48,13 @@ Then, you can load symbols from TA file (in debug build) to the address. ```sh (gdb) add-symbol-file /path/to/examples/hello_world-rs/ta/target/aarch64-unknown-optee-trustzone/debug/ta 0x40014000 ``` -Now, you can add breakpoints according to your own needs in the corresponding +Now, you can add breakpoints according to your own needs in the corresponding functions or addresses. ```sh (gdb) b invoke_command Breakpoint 2 at 0xe11bb08: invoke_command. (6 locations) ``` -Last, initiate the boot. You can execute `hello_world-rs` in the normal world +Last, initiate the boot. You can execute `hello_world-rs` in the normal world console, and will see that the breakpoint we set was hit. ```sh (gdb) c --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
