Message ID | 1445125258-16679-1-git-send-email-pftbest@gmail.com |
---|---|
State | Superseded |
Delegated to: | Albert ARIBAUD |
Headers | show |
On Sun, Oct 18, 2015 at 1:40 AM, Vadzim Dambrouski <pftbest@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. > > Signed-off-by: Vadzim Dambrouski <pftbest@gmail.com> Hey, cool. Technically the (ulong) typecasts should be another patch but I don't care too much. Reviewed-by: Linus Walleij <linus.walleij@linaro.org> Are you using this with the smload commands? Yours, Linus Walleij
On 18.10.2015 12:20, Linus Walleij wrote: > Hey, cool. Technically the (ulong) typecasts should be another patch Sorry about that, this is my first time sending a patch. > Are you using this with the smload commands? Yes, I do use smhload command, and openocd on the other end. Useful for debugging targets without ethernet support.
Hello Vadzim, On Sun, 18 Oct 2015 12:45:51 +0300, Vadzim Dambrouski <pftbest@gmail.com> wrote: > On 18.10.2015 12:20, Linus Walleij wrote: > > Hey, cool. Technically the (ulong) typecasts should be another patch > > Sorry about that, this is my first time sending a patch. Would you mind resending as two different patches then? > > Are you using this with the smload commands? > > Yes, I do use smhload command, and openocd on the other end. > Useful for debugging targets without ethernet support. Amicalement,
On Sun, Oct 18, 2015 at 11:45 AM, Vadzim Dambrouski <pftbest@gmail.com> wrote: > On 18.10.2015 12:20, Linus Walleij wrote: >> Hey, cool. Technically the (ulong) typecasts should be another patch > > Sorry about that, this is my first time sending a patch. > >> Are you using this with the smload commands? > > Yes, I do use smhload command, and openocd on the other end. > Useful for debugging targets without ethernet support. That is *so* cool. You should make a blog post about this, I think it's generally useful for developers to know they can use U-Boot+JTAG+OpenOCD to get code into any platform (if they have a scan chain definitions) like this. Yours, Linus Walleij
On Mon, Oct 19, 2015 at 09:12:25AM +0200, Linus Walleij wrote: > On Sun, Oct 18, 2015 at 11:45 AM, Vadzim Dambrouski <pftbest@gmail.com> wrote: > > On 18.10.2015 12:20, Linus Walleij wrote: > >> Hey, cool. Technically the (ulong) typecasts should be another patch > > > > Sorry about that, this is my first time sending a patch. > > > >> Are you using this with the smload commands? > > > > Yes, I do use smhload command, and openocd on the other end. > > Useful for debugging targets without ethernet support. > > That is *so* cool. You should make a blog post about this, I think > it's generally useful for developers to know they can use > U-Boot+JTAG+OpenOCD to get code into any platform (if they have > a scan chain definitions) like this. Yes, please!
On 19.10.2015 18:37, Tom Rini wrote: > On Mon, Oct 19, 2015 at 09:12:25AM +0200, Linus Walleij wrote: >> On Sun, Oct 18, 2015 at 11:45 AM, Vadzim Dambrouski <pftbest@gmail.com> wrote: >>> On 18.10.2015 12:20, Linus Walleij wrote: >>>> Hey, cool. Technically the (ulong) typecasts should be another patch >>> >>> Sorry about that, this is my first time sending a patch. >>> >>>> Are you using this with the smload commands? >>> >>> Yes, I do use smhload command, and openocd on the other end. >>> Useful for debugging targets without ethernet support. >> >> That is *so* cool. You should make a blog post about this, I think >> it's generally useful for developers to know they can use >> U-Boot+JTAG+OpenOCD to get code into any platform (if they have >> a scan chain definitions) like this. > > Yes, please! > Sorry, I'm not very good at writing (I don't even have a blog) and there is not much to write about. But I'll consider starting a blog (it may be a good experience for me). Regards, Vadzim Dambrouski
diff --git a/arch/arm/lib/semihosting.c b/arch/arm/lib/semihosting.c index c3e964e..6541cb4 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)); @@ -90,7 +92,7 @@ static long smh_read(long fd, void *memp, size_t len) size_t len; } read; - debug("%s: fd %ld, memp %p, len %lu\n", __func__, fd, memp, len); + debug("%s: fd %ld, memp %p, len %lu\n", __func__, fd, memp, (ulong)len); read.fd = fd; read.memp = memp; @@ -105,7 +107,7 @@ static long smh_read(long fd, void *memp, size_t len) * with an error message. */ printf("%s: ERROR ret %ld, fd %ld, len %lu memp %p\n", - __func__, ret, fd, len, memp); + __func__, ret, fd, (ulong)len, memp); return -1; }
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. Signed-off-by: Vadzim Dambrouski <pftbest@gmail.com> --- arch/arm/lib/semihosting.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)