ARM Trustzone, Open Virtualization SDK Boot stuck - arm

I am currently working on something related to ARM Trustzone so I found this Open Virtualization (http://openvirtualization.org/)
I followed the documentation over the Sierra TEE build and boot guide to build and it compiles without issues.
However when I am trying to boot the system, it seems it loops in the "normal world" forever and the log shows the following:
Trying 127.0.0.1... Connected to localhost. Escape charater is '^['.
SW: Entering Secure Main
SW: UART driver initialized successfully the mount file system is 32
and the value is 0 file system successfully mounted in FAT32 nsk
load:load addr = 80000000, startaddr = 90d00000, size = 3aedcc Done
tzhyp_guest_context_init:SW: dispatch task id 0x111
It seems it loops in the normal world forever and the boot process is stuck at this point.
If anyone happen to work on this before please help.

Related

Why does Jetson TK1 hang at "Starting kernel ..."

With freshly flashed L4T 21.8, the serial console stops with output like:
## Flattened Device Tree blob at 82000000
Booting using the fdt blob at 0x82000000
Using Device Tree in place at 82000000, end 83014f2d
Starting kernel ...
How do I get serial output from the kernel?
When things stop after "Starting kernel...", across boards, there are usually two causes:
serial console isn't enabled right
kernel didn't have enough space to unpack itself and start printing to serial console.
The first thing to enable is serial console. Make sure the kernel command line for TK1 includes:
console=ttyS0,115200n8 earlycon=uart8250,mmio32,0x70006300 earlyprintk
Two things are going on there: One is enabling normal serial console once boot gets far enough. The other is enabling earlycon before the proper 8250 driver is initialized, so you can see early boot failures too. This serial setup should get you output on the DB9 connector J1A2 (UART4) just like u-boot uses.
If you still don't have serial output with that, likely the issue is the kernel trashing the dtb while unpacking -- the default 16Mb between 0x81000000 kernel and 0x82000000 fdt is not enough for many kernels. You need to move the fdt address up to make space. Press the reset button, and interrupt the boot by pressing a key when prompted, then enter this in your u-boot command line:
set fdt_addr_r 0x83000000
saveenv
run bootcmd
This gets you 32MB of space for the kernel image for this boot, and thanks to saveenv also any following ones.

UEFI (UGA) Graphics After exiting Boot Services

I was writing an Operating System and testing it on an emulator in my primary computer (HP Z420), i tested it sometimes on that computer but i was always in a boot/shutdown loop that taked a long time. So i had an old pc (HP 620) Which has an old version of UEFI and nothing gets displayed when i run the O.S on it. So i founded that it has not GOP Support and Frame buffer address is always 0. I switched from gnu-efi to edk2 to give support to U.G.A, i succeeded and graphics worked, however when i exit boot services and call UgaProtocol->Blt from the kernel, the system triple faults but when i call it without exiting boot services, everything works fine.
I know that these functions are Boot Services and may use Boot Services so that maybe the cause of the triple fault
So how can i implement a permanent communication with U.G.A After exiting boot services (in G.O.P, we usually write to a frame buffer)
If i do not exit boot services, changing the gdt or the idt or any other thing causes a debug exception (Result on qemu & VBox) and halts on Real Hardware.

Google coral board disconnects randomly

I connect to google coral development board using ubuntu terminal with mdt shell command which basically connects via ssh through USB (no wifi required). It has occurred many times that the board disconnects, or becomes unresponsive. Since it happens randomly, I do not know what triggers it and when it will happen, nor can I reproduce it. To confirm, I run mdt devices whenever it happens and it outputs nothing.
Has anyone faced this issue? If yes, what could be the reason and how to deal with it? It will be used for long time demonstration in a fair, so this is a big problem.
Just to confirm, are you running Ubuntu Terminal on Ubuntu OS or Windows running ubuntu terminal?
I had similar issues when I tried doing mdt devices but after I switched to Ubuntu OS, everything worked fine.
Second thing you can try is different cable, maybe the cable is having a lose connection
Let me know if this works.

Program Run fine in CY8CKIT-050 but fails in Hardware PSoC 5 FreeRTOS

PSoC Creator FreeRTOS PSoC 5 CY8C5868AXI-LP035 GLCD 128x64
Hi there,
I am facing weird problem with my Application on PSoC 5 based hardware. This application is based on FreeRTOS, and application contains 128×64 kind of monochromatic LCD (Graphical LCD), having controller like ks0107.
The problem is that if we run this program with the PIN used for CY8CKIT-050, it runs smoothly and complete every task as desired with no problem at all. But if we only change the MCU PINs as used in our Hardware and program the Hardware MCU with same program, application runs to certain point and then hang. We tried debug mode and found out that after running for some time application goes to :
CY_ISR(IntDefaultHandler)
{
while(1)
{
/***********************************************************************
* We must not get here. If we do, a serious problem occurs, so go
* into an infinite loop.
***********************************************************************/
}
}
which is in Cm3Start.c. And at this point application stays in hanged state.
Here please note that this only happens if we used the same program in our Hardware. But if we use it in Kit (CY8CKIT-050), it runs completely fine without any fault.
We would like to also share that we have used FreeRTOS prior to this application, and we have successfully built applications with FreeRTOS.
Attaching(as I don't know how to attach I am providing Google drive links):
Application program for CY8CKIT-050 here.
Application program for our Hardware here (Only with different PIN usage)
Call Stack window screen shot where problem occurs:
PS: This discussion is going on in parallel at
Cypress Community Forum
FreeRTOS Forum
Other Forum

Embedded System Hangs

I am using TIOMAP/AM3517 based custom board which has ARM7 core + Linux 2.6.32 running on it.
Recently, I started observing an issue in which all the interfaces serial console, RNDIS/USB, Network stops responding (my type on keyboard connected to serial port/console port doesn't go through + no device is detected upon removal/insertion of USB sticks/BT dongle + Ethernet/network activities are stopped (can't login over ssh or access webPage that the system has.
I checked the power to the CPU and other power rails using DMM and it looks fine.
There is no keyboard attached so MagicSysRq cannot be used while the issue happens.
I have watchdog on the system which rebooted the system, however to reproduce the issue and to get more information of the system's state, now i have disabled the watchdog.
Finally, my system/linux is configured to reboot upon detecting softlockup which is not happening either. Also, I have enabled verbose debug options under kernel hacking but nothing seems to give any more information.
How do I debug the issue to identify the rot cause of it?

Resources