[U-Boot] [PATCH v2 1/2] arm: add support for semihosting for ARMv7M targets

Albert ARIBAUD albert.u.boot at aribaud.net
Mon Oct 19 08:00:33 CEST 2015


Hello Vadzim,

On Mon, 19 Oct 2015 00:13:28 +0300, Vadzim Dambrouski
<pftbest at gmail.com> wrote:
> It is possible to enable CONFIG_SEMIHOSTING for STM32F429 target, but it
> would result in compile error. This patch adds support for semihosting for
> STM32F429 or any other ARMv7M target. Tested on STM32F429-DISCOVERY board.

You should give some more indication of the reason for the compile
error and the nature of the fix. For instance, you could quote the
essential part of the error message (so that people googling for the
error message may find this commit and mail thread) and a very short
analysis (so that they can test if 'their' error is the same and can
be solved the same way).

> Signed-off-by: Vadzim Dambrouski <pftbest at gmail.com>
> ---
> 
>  arch/arm/lib/semihosting.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c
> index c3e964e..ed5e8e4 100644
> --- a/arch/arm/lib/semihosting.c
> +++ b/arch/arm/lib/semihosting.c
> @@ -31,6 +31,8 @@ static noinline long smh_trap(unsigned int sysnum, void *addr)
>  	register long result asm("r0");
>  #if defined(CONFIG_ARM64)
>  	asm volatile ("hlt #0xf000" : "=r" (result) : "0"(sysnum), "r"(addr));
> +#elif defined(CONFIG_CPU_V7M)
> +	asm volatile ("bkpt #0xAB" : "=r" (result) : "0"(sysnum), "r"(addr));
>  #else
>  	/* Note - untested placeholder */
>  	asm volatile ("svc #0x123456" : "=r" (result) : "0"(sysnum), "r"(addr));
> -- 
> 2.6.1
> 



Amicalement,
-- 
Albert.


More information about the U-Boot mailing list