Discussion:
porting "1497_usb_armory_demo" on imx53qsb
김진홍
2016-07-03 06:51:58 UTC
Permalink
Hi,
I'm currently developing a simple trustzone device driver running in Normal World to communicate with Genode in Secure World.
I'm using I.MX53 QSB.

And I read following article to acheive my goal :
https://sourceforge.net/p/genode/mailman/message/34341641/

After read the article, I tried to use "1497_usb_armory_demo".

my procedure was as follows:

1. git clone genode and linux branch.
(https://github.com/m-stein/genode/tree/1497_usb_armory_demo , https://github.com/m-stein/linux/tree/1497_usb_armory_demo)
2. cd <linux>
3. make ARCH=arm CROSS_COMPILE=${gcc-eabi} LOADADDR=0x80008000 usbarmory_defconfig
4. make ARCH=arm CROSS_COMPILE=${gcc-eabi} LOADADDR=0x80008000 uImage
And uImage is ready

5. cd <genode>
6. ./tool/create_builddir hw_imx53_qsb_tz BUILD_DIR=mx53_tz
7. cd mx53_tz
8. mkdir bin
9. cp <linux>/arch/arm/boot/uImage ./bin/linux
10. cd mx53_tz and modify RUN_OPT in etc/build.conf to include “image/uboot"(e.g. RUN_OPT = --include boot_dir/hw --include image/uboot)
11. modify <genode>/repos/os/run/tz_vmm.run
(only delete md5 check routine, "exec >& /dev/null wget -O linux.md5 $linux_uri.md5" and "exec md5sum -c linux.md5")
12. make run/tz_vmm
And uImage can be found in mx53_tz/var/run/tz_vmm



I booted system using sdcard and uboot.
but, error is occured :


=> ext2load mmc 0:1 0xb0000000 uImage
7039880 bytes read in 410 ms (16.4 MiB/s)
=> bootm 0xb0000000
## Booting kernel from Legacy Image at b0000000 ...
Image Name:
Image Type: ARM Linux Kernel Image (gzip compressed)
Data Size: 7039816 Bytes = 6.7 MiB
Load Address: 70010000
Entry Point: 70010000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK

Starting kernel ...

kernel initialized
Genode 15.08
int main(): --- create local services ---
int main(): --- start init ---
int main(): transferred 243 MB to init
int main(): --- init created, waiting for exit condition ---
[init] Could not open ROM session for module "ld.lib.so"
[init] parent provides
[init] service "ROM"
[init] service "RAM"
[init] service "IRQ"
[init] service "IO_MEM"
[init] service "IO_PORT"
[init] service "CAP"
[init] service "PD"
[init] service "RM"
[init] service "CPU"
[init] service "LOG"
[init] service "SIGNAL"
[init] service "VM"
[init] child "tz_vmm"
[init] RAM quota: 10203136
[init] ELF binary: tz_vmm
[init] priority: 0
[init -> tz_vmm] Start virtual machine ...
[init -> tz_vmm] Cpu state:
[init -> tz_vmm] Register Virt Phys
[init -> tz_vmm] ---------------------------------
[init -> tz_vmm] r0 = 07000000 [00000000]
[init -> tz_vmm] r1 = f801ff50 [00000000]
[init -> tz_vmm] r2 = ffffffe4 [00000000]
[init -> tz_vmm] r3 = 40002000 [00000000]
[init -> tz_vmm] r4 = 00000000 [00000000]
[init -> tz_vmm] r5 = 00000000 [00000000]
[init -> tz_vmm] r6 = 000000ee [00000000]
[init -> tz_vmm] r7 = 00000000 [00000000]
[init -> tz_vmm] r8 = 00000000 [00000000]
[init -> tz_vmm] r9 = 00000000 [00000000]
[init -> tz_vmm] r10 = 00000000 [00000000]
[init -> tz_vmm] r11 = 00000000 [00000000]
[init -> tz_vmm] r12 = 00000000 [00000000]
[init -> tz_vmm] sp = 00000000 [00000000]
[init -> tz_vmm] lr = 00000000 [00000000]
[init -> tz_vmm] ip = 0040dfe8 [00000000]
[init -> tz_vmm] cpsr = 60000093
[init -> tz_vmm] sp_und = 00000000 [00000000]
[init -> tz_vmm] lr_und = 00000000 [00000000]
[init -> tz_vmm] spsr_und = 00000000 [00000000]
[init -> tz_vmm] sp_svc = f801ff4c [00000000]
[init -> tz_vmm] lr_svc = 0040bc97 [00000000]
[init -> tz_vmm] spsr_svc = 00000093 [00000000]
[init -> tz_vmm] sp_abt = 00000000 [00000000]
[init -> tz_vmm] lr_abt = 00000000 [00000000]
[init -> tz_vmm] spsr_abt = 00000000 [00000000]
[init -> tz_vmm] sp_irq = 00000000 [00000000]
[init -> tz_vmm] lr_irq = 00000000 [00000000]
[init -> tz_vmm] spsr_irq = 00000000 [00000000]
[init -> tz_vmm] sp_fiq = 00000000 [00000000]
[init -> tz_vmm] lr_fiq = 00000000 [00000000]
[init -> tz_vmm] spsr_fiq = 00000000 [00000000]
[init -> tz_vmm] ttbr0 = 00000000
[init -> tz_vmm] ttbr1 = 00000000
[init -> tz_vmm] ttbrc = 00000000
[init -> tz_vmm] dfar = 07000000 [00000000]
[init -> tz_vmm] exception = data_abort
[init -> tz_vmm] Could not handle data-abort will exit!





I don't know how to port "1497_usb_armory_demo" on my imx53 board.
Is there any way for this?
Is there any comment to implement this kind of example?

I'm really looking forward to any responses.

My Best Regards,
Jinhong Kim

Loading...