Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


problem with target programming

When I start programming I see it:

Open On-Chip Debugger 0.10.0-dev-00278-ga53935e-dirty (2017-05-09-09:25)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter speed: 4000 kHz
adapter_nsrst_delay: 100
Info : clock speed 4000 kHz
Info : STLINK v2 JTAG v25 API v2 M v14 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.211533
Warn : Silicon bug: single stepping will enter pending exception handler!
Info : STM32F746NGHx.cpu: hardware has 8 breakpoints, 4 watchpoints
STM32F746NGHx.cpu: target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc

    • Programming Started **

auto erase enabled
Info : flash size probed value 1024
STM32F746NGHx.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x20000084 msp: 0xfffffffc
Info : flash size probed value 1024
Warn : no flash bank found for address 90000000
wrote 262144 bytes from file Debug/STM32F7-DISCO.elf in 3.757343s (68.133 KiB/s)

    • Programming Finished **
    • Verify Started **

STM32F746NGHx.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000002e msp: 0xfffffffc
STM32F746NGHx.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000002e msp: 0xfffffffc
STM32F746NGHx.cpu: target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000002e msp: 0xfffffffc
Error: checksum mismatch - attempting binary compare
Command canceled

Anyone help me ?

diff 0 address 0x90000000. Was 0x00 instead of 0xff
diff 1 address 0x90000001. Was 0x00 instead of 0xff
diff 2 address 0x90000002. Was 0x00 instead of 0xff
diff 3 address 0x90000003. Was 0x00 instead of 0xff
diff 4 address 0x90000004. Was 0x00 instead of 0xff
diff 5 address 0x90000005. Was 0x00 instead of 0xff
diff 6 address 0x90000006. Was 0x00 instead of 0xff
diff 7 address 0x90000007. Was 0x00 instead of 0xff
diff 8 address 0x90000008. Was 0x00 instead of 0xff
diff 9 address 0x90000009. Was 0x00 instead of 0xff
diff 10 address 0x9000000a. Was 0x00 instead of 0xff
diff 11 address 0x9000000b. Was 0x00 instead of 0xff
diff 12 address 0x9000000c. Was 0x00 instead of 0xff
diff 13 address 0x9000000d. Was 0x00 instead of 0xff
diff 14 address 0x9000000e. Was 0x00 instead of 0xff
diff 15 address 0x9000000f. Was 0x00 instead of 0xff
diff 16 address 0x90000010. Was 0x00 instead of 0xff
diff 17 address 0x90000011. Was 0x00 instead of 0xff
diff 18 address 0x90000012. Was 0x00 instead of 0xff
diff 19 address 0x90000013. Was 0x00 instead of 0xff
diff 20 address 0x90000014. Was 0x00 instead of 0xff
diff 21 address 0x90000015. Was 0x00 instead of 0xff
diff 22 address 0x90000016. Was 0x00 instead of 0xff
diff 23 address 0x90000017. Was 0x00 instead of 0xff
diff 24 address 0x90000018. Was 0x00 instead of 0xff
diff 25 address 0x90000019. Was 0x00 instead of 0xff
diff 26 address 0x9000001a. Was 0x00 instead of 0xff
diff 27 address 0x9000001b. Was 0x00 instead of 0xff
diff 28 address 0x9000001c. Was 0x00 instead of 0xff
diff 29 address 0x9000001d. Was 0x00 instead of 0xff
diff 30 address 0x9000001e. Was 0x00 instead of 0xff
diff 31 address 0x9000001f. Was 0x00 instead of 0xff
diff 32 address 0x90000020. Was 0x00 instead of 0xff
diff 33 address 0x90000021. Was 0x00 instead of 0xff
diff 34 address 0x90000022. Was 0x00 instead of 0xff
diff 35 address 0x90000023. Was 0x00 instead of 0xff
diff 36 address 0x90000024. Was 0x00 instead of 0xff
diff 37 address 0x90000025. Was 0x00 instead of 0xff
diff 38 address 0x90000026. Was 0x00 instead of 0xff
diff 39 address 0x90000027. Was 0x00 instead of 0xff
diff 40 address 0x90000028. Was 0x00 instead of 0xff
diff 41 address 0x90000029. Was 0x00 instead of 0xff
diff 42 address 0x9000002a. Was 0x00 instead of 0xff
diff 43 address 0x9000002b. Was 0x00 instead of 0xff
diff 44 address 0x9000002c. Was 0x00 instead of 0xff
diff 45 address 0x9000002d. Was 0x00 instead of 0xff
diff 46 address 0x9000002e. Was 0x00 instead of 0xff
diff 47 address 0x9000002f. Was 0x00 instead of 0xff
diff 48 address 0x90000030. Was 0x00 instead of 0xff
diff 49 address 0x90000031. Was 0x00 instead of 0xff
diff 50 address 0x90000032. Was 0x00 instead of 0xff
diff 51 address 0x90000033. Was 0x00 instead of 0xff
diff 52 address 0x90000034. Was 0x00 instead of 0xff
diff 53 address 0x90000035. Was 0x00 instead of 0xff
diff 54 address 0x90000036. Was 0x00 instead of 0xff
diff 55 address 0x90000037. Was 0x00 instead of 0xff
diff 56 address 0x90000038. Was 0x00 instead of 0xff
diff 57 address 0x90000039. Was 0x00 instead of 0xff
diff 58 address 0x9000003a. Was 0x00 instead of 0xff
diff 59 address 0x9000003b. Was 0x00 instead of 0xff
diff 60 address 0x9000003c. Was 0x00 instead of 0xff
diff 61 address 0x9000003d. Was 0x00 instead of 0xff
diff 62 address 0x9000003e. Was 0x00 instead of 0xff
diff 63 address 0x9000003f. Was 0x00 instead of 0xff
diff 64 address 0x90000040. Was 0x00 instead of 0xff
diff 65 address 0x90000041. Was 0x00 instead of 0xff
diff 66 address 0x90000042. Was 0x00 instead of 0xff
diff 67 address 0x90000043. Was 0x00 instead of 0xff
diff 68 address 0x90000044. Was 0x00 instead of 0xff
diff 69 address 0x90000045. Was 0x00 instead of 0xff
diff 70 address 0x90000046. Was 0x00 instead of 0xff
diff 71 address 0x90000047. Was 0x00 instead of 0xff
diff 72 address 0x90000048. Was 0x00 instead of 0xff
diff 73 address 0x90000049. Was 0x00 instead of 0xff
diff 74 address 0x9000004a. Was 0x00 instead of 0xff
diff 75 address 0x9000004b. Was 0x00 instead of 0xff
diff 76 address 0x9000004c. Was 0x00 instead of 0xff
diff 77 address 0x9000004d. Was 0x00 instead of 0xff
diff 78 address 0x9000004e. Was 0x00 instead of 0xff
diff 79 address 0x9000004f. Was 0x00 instead of 0xff
diff 80 address 0x90000050. Was 0x00 instead of 0xff
diff 81 address 0x90000051. Was 0x00 instead of 0xff
diff 82 address 0x90000052. Was 0x00 instead of 0xff
diff 83 address 0x90000053. Was 0x00 instead of 0xff
diff 84 address 0x90000054. Was 0x00 instead of 0xff
diff 85 address 0x90000055. Was 0x00 instead of 0xff
diff 86 address 0x90000056. Was 0x00 instead of 0xff
diff 87 address 0x90000057. Was 0x00 instead of 0xff
diff 88 address 0x90000058. Was 0x00 instead of 0xff
diff 89 address 0x90000059. Was 0x00 instead of 0xff
diff 90 address 0x9000005a. Was 0x00 instead of 0xff
diff 91 address 0x9000005b. Was 0x00 instead of 0xff
diff 92 address 0x9000005c. Was 0x00 instead of 0xff
diff 93 address 0x9000005d. Was 0x00 instead of 0xff
diff 94 address 0x9000005e. Was 0x00 instead of 0xff
diff 95 address 0x9000005f. Was 0x00 instead of 0xff
diff 96 address 0x90000060. Was 0x00 instead of 0xff
diff 97 address 0x90000061. Was 0x00 instead of 0xff
diff 98 address 0x90000062. Was 0x00 instead of 0xff
diff 99 address 0x90000063. Was 0x00 instead of 0xff
diff 100 address 0x90000064. Was 0x00 instead of 0xff
diff 101 address 0x90000065. Was 0x00 instead of 0xff
diff 102 address 0x90000066. Was 0x00 instead of 0xff
diff 103 address 0x90000067. Was 0x00 instead of 0xff
diff 104 address 0x90000068. Was 0x00 instead of 0xff
diff 105 address 0x90000069. Was 0x00 instead of 0xff
diff 106 address 0x9000006a. Was 0x00 instead of 0xff
diff 107 address 0x9000006b. Was 0x00 instead of 0xff
diff 108 address 0x9000006c. Was 0x00 instead of 0xff
diff 109 address 0x9000006d. Was 0x00 instead of 0xff
diff 110 address 0x9000006e. Was 0x00 instead of 0xff
diff 111 address 0x9000006f. Was 0x00 instead of 0xff
diff 112 address 0x90000070. Was 0x00 instead of 0xff
diff 113 address 0x90000071. Was 0x00 instead of 0xff
diff 114 address 0x90000072. Was 0x00 instead of 0xff
diff 115 address 0x90000073. Was 0x00 instead of 0xff
diff 116 address 0x90000074. Was 0x00 instead of 0xff
diff 117 address 0x90000075. Was 0x00 instead of 0xff
diff 118 address 0x90000076. Was 0x00 instead of 0xff
diff 119 address 0x90000077. Was 0x00 instead of 0xff
diff 120 address 0x90000078. Was 0x00 instead of 0xff
diff 121 address 0x90000079. Was 0x00 instead of 0xff
diff 122 address 0x9000007a. Was 0x00 instead of 0xff
diff 123 address 0x9000007b. Was 0x00 instead of 0xff
diff 124 address 0x9000007c. Was 0x00 instead of 0xff
diff 125 address 0x9000007d. Was 0x00 instead of 0xff
diff 126 address 0x9000007e. Was 0x00 instead of 0xff
diff 127 address 0x9000007f. Was 0x00 instead of 0xff
More than 128 errors, the rest are not printed.

Hello,

In the Disco F746, there is external memory at address 0x9000 0000 and openocd doesn’t support the ext memory flash programming.

You can program it via STLINK utility (with external memory loader).
You need to activate the NOR ext FLASH memory loader for STM32F746-disco first.
I just tried and it programmed the demo hex file successfully (hex file found in cube Hal fw F7).

Rgds,
Laurent

Hi , I also found the same problem. Earlier my program is flash easily , but now it shows me following error

Info : using stlink api v2
Info : Target voltage: 3.211533
Warn : Silicon bug: single stepping will enter pending exception handler!
Info : STM32F746NGHx.cpu: hardware has 8 breakpoints, 4 watchpoints

Please help how to solve it.

Hi,
If you have the same error on addresses 0x90000000, it is external memory access that openocd doesn’t manage.
You must use another program to program these external memory, look my post above.

If you have another error, please show the entire log to see where is the issue.

Rgds,
Laurent

Hello Everyone,

I have generated code using STM32CUBE for stm32f746 discovery board . I have used Middleware FreeRTOS and Graphics STemwin.
and other peripheral like ADC,CAN,Timers.

Code is build properly but when I Debug code, it will stuck in infinite loop

.section .text.Default_Handler,”ax”,%progbits
Default_Handler:
Infinite_Loop:
b Infinite_Loop
.size Default_Handler, .-Default_Handler

Please help me what i done wrong.


hello,
I can compile a project, but when I run it I get the message bellow, is it normal?
thank

Open On-Chip Debugger 0.10.0-dev-00011-g46c94c8 (2018-09-06-08:44)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_assert_srst
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
adapter_nsrst_delay: 100
adapter speed: 240 kHz
Info : clock speed 240 kHz
Info : STLINK v2.1 JTAG v28 API v2 M17 VID 0x0483 PID 0x374B
Info : using stlink api v2
Info : Target voltage: 3.283124
Info : Stlink adapter speed set to 240 kHz
Info : STM32L152RETx.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : Stlink adapter speed set to 240 kHz
adapter speed: 240 kHz
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000230 msp: 0x20014000
STM32L: Enabling HSI
Info : Stlink adapter speed set to 4000 kHz
adapter speed: 4000 kHz

    • Programming Started **

auto erase enabled
Info : Device: STM32L1xx (Cat.5/Cat.6)
Info : STM32L flash has dual banks. Bank (0) size is 256kb, base address is 0x8000000
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000000e msp: 0x20014000
wrote 4096 bytes from file Debug/test.elf in 0.228703s (17.490 KiB/s)

    • Programming Finished **
    • Verify Started **

target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000002e msp: 0x20014000
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x2000002e msp: 0x20014000
verified 2100 bytes in 0.034671s (59.150 KiB/s)

    • Verified OK **
    • Resetting Target **

Info : Stlink adapter speed set to 240 kHz
adapter speed: 240 kHz
shutdown command invoked