From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 55169 invoked by alias); 8 Nov 2016 12:17:55 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 55150 invoked by uid 89); 8 Nov 2016 12:17:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.4 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=H*RU:Postfix, Hx-spam-relays-external:Postfix, 8:le, 3970 X-HELO: mail.marco.de Received: from mail.marco.de (HELO mail.marco.de) (93.104.246.50) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 08 Nov 2016 12:17:44 +0000 Received: from mailbox.marco.de (mailbox [10.1.2.4]) by mail.marco.de (Postfix) with ESMTP id F3ADD76213B; Tue, 8 Nov 2016 13:17:41 +0100 (CET) Received: from [10.1.1.1] (hera.dachau.marco.de [10.1.1.1]) (Authenticated sender: leo) by mailbox.marco.de (Postfix) with ESMTPSA; Tue, 8 Nov 2016 13:17:41 +0100 (CET) Subject: Re: embedded system and "target remote" To: Yao Qi , gdb@sourceware.org References: <5821A95F.2060408@marco.de> From: Matthias Pfaller Message-ID: <5821C264.4040709@marco.de> Date: Tue, 08 Nov 2016 12:17:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux i686; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms090909090404000009040809" X-IsSubscribed: yes X-SW-Source: 2016-11/txt/msg00010.txt.bz2 This is a cryptographically signed message in MIME format. --------------ms090909090404000009040809 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Content-length: 4022 On 11/08/2016 12:13 PM, Yao Qi wrote: > On Tue, Nov 8, 2016 at 10:30 AM, Matthias Pfaller wrote: >> Hi, >> >> I'm currently implementing gdb server support for our cortex-m3/m4 based >> embedded systems. >> >=20 > Out of curiosity, is it like openocd? No, it is a thread running on the target. >> At the moment I'm implementing break points using the FPB unit. >> >=20 > I don't know much about FPB unit. Most cortex-m? implementations have a debug/trace macro cell embedded and the FPB unit (flash breakpoint and patch unit) is one part of the debug subsytem. openocd is using the same facilities, just over SWD. But you can access almost all of the functionality from the cpu as well. That way one can debug the target even when there is no SWD-probe attached. and you can e.g. single step one thread while the rest of the system continues to run. Obviously you cannot debug a complete system crash, but it is usefull enough in a lot of cases. >> I would like to setup the FPB unit at context switch time for thread >> specific break points. Is there a way to pass the referenced thread id >> with the 'Z' commands? >> > The remote protocol is not aware of thread specific breakpoint. > Thread specific breakpoint just works, "b foo if thread 1", but it is not > efficient. What do you want to achieve? I do not want the system to halt when I set a breakpoint in a general library routine. So I plan to activate the breakpoints only when the thread corresponding to the breakpoint is running. >> Is there a way to modify the behaviour of the break point commands to >> always reference the currently selected thread? Gobal breakpoints do not >> make sense in my usage case. >=20 > What do you mean by "always reference the currently selected thread"? > Always set thread specific breakpoint for current selected thread? > You can get current thread via $_thread and $_gthread, > https://sourceware.org/gdb/download/onlinedocs/gdb/Convenience-Vars.html >=20 >> >> Another thing I'd really like to do is to enforce non-stop and >> target-async from the target side. Is there a way to do this? >=20 > See the first paragraph in GDB manual below, > https://sourceware.org/gdb/download/onlinedocs/gdb/Remote-Non_002dStop.ht= ml I know about this. In my case all-stop will never work. At least the gdbstub task and the idle task must never be stopped. I would like to enforce non-stop without having to put set non-stop on into my .gdbinit. > IIUC, GDB thinks async is on in remote (if the serial device is > async). >=20 >> >> regards, Matthias >> >> PS: How does gdb recoginze the initial stack frame? At the moment stack >> trace backs of stopped threads will not stop at correct frame. >=20 > Do you have an example? >=20 thread 2 received signal SIGINT, Interrupt. 0x00499448 in tsleep (event=3D, timeout=3D) at /mnt/projekt/soft/crt/save/../task.c:464 464 schedule_request(SCHEDULE_NOW); where #0 0x00499448 in tsleep (event=3D, timeout=3D) at /mnt/projekt/soft/crt/save/../task.c:464 #1 0x004bfbf2 in f83sleep (env=3D, event=3D, t=3D) at /mnt/projekt/soft/crt/save/../f83i16/f83sleep.c= :21 #2 0x004b0246 in f83inner () at f83inner.c:3970 #3 0x0049958c in task_create (name=3D, initial_pc=3D, arg=3D..., stacksize=3D, priority=3D) at /mnt/projekt/soft/crt/save/../task.c:626 #4 0x74726174 in ?? () Backtrace stopped: previous frame identical to this frame (corrupt stack?) Frame #3 and frame #4 are spurious. thanks, Matthias --=20 Matthias Pfaller Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8131 5161 41 Hans-B=C3=B6ckler-Str. 2, D 85221 Dachau Fax +49 8131 5161 66 http://www.marco.de/ Email leo@marco.de Gesch=C3=A4ftsf=C3=BChrer Martin Reuter HRB 171775 Amtsgericht = M=C3=BCnchen --------------ms090909090404000009040809 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature Content-length: 5897 MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG 9w0BBwEAAKCCC88wggXiMIIDyqADAgECAhBrp4p9CteI1lEK+Vnk57ThMA0G CSqGSIb3DQEBCwUAMH0xCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENv bSBMdGQuMSswKQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBT aWduaW5nMSkwJwYDVQQDEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhv cml0eTAeFw0xNTEyMTYwMTAwMDVaFw0zMDEyMTYwMTAwMDVaMHUxCzAJBgNV BAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFy dENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRD b20gQ2xhc3MgMSBDbGllbnQgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw ggEKAoIBAQC9fdr3w6J9g/Zbgv3bW1+uHht1wLUZr5gkrLtXedg17AkefMyU GwrQdvwObhajcVmnKVxhrUwkZPXRAwZZosRHfEIi5FH7x6SV/8Sp5lZEuiMn vMFG2MzLA84J6Ws5T4NfXZ0qn4TPgnr3X2vPVS51M7Ua9nIJgn8jvTra4eyy QzxvuA/GZwKg7VQfDCmCS+kICslYYWgXOMt2xlsSslxLce0CGWRsT8EpMyt1 iDflSjXZIsE7m1uTyHaKZspMLyIyz6mySu8j8BWWHpChNNeTrFuhVfrOAyDP FJVUvKZCLKBhibTLloyy+LatoWELrjdI4a8StZY8+dIR9t4APXGzAgMBAAGj ggFkMIIBYDAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0lBBYwFAYIKwYBBQUHAwIG CCsGAQUFBwMEMBIGA1UdEwEB/wQIMAYBAf8CAQAwMgYDVR0fBCswKTAnoCWg I4YhaHR0cDovL2NybC5zdGFydHNzbC5jb20vc2ZzY2EuY3JsMGYGCCsGAQUF BwEBBFowWDAkBggrBgEFBQcwAYYYaHR0cDovL29jc3Auc3RhcnRzc2wuY29t MDAGCCsGAQUFBzAChiRodHRwOi8vYWlhLnN0YXJ0c3NsLmNvbS9jZXJ0cy9j YS5jcnQwHQYDVR0OBBYEFCSBbDlhvkkPj7cbRivJKLUnSG1oMB8GA1UdIwQY MBaAFE4L7xqkQFulF2mHMMo0aEPQQa7yMD8GA1UdIAQ4MDYwNAYEVR0gADAs MCoGCCsGAQUFBwIBFh5odHRwOi8vd3d3LnN0YXJ0c3NsLmNvbS9wb2xpY3kw DQYJKoZIhvcNAQELBQADggIBAIvj94fsAYuErQ8BAluc4SMnIwS9NPBwAm5S H9uh2NCXTq7im61g7F1LIiNI/+wq37fUuaMbz4g7VarKQTgf8ubs0p7NZWcI e7Bvem2AWaXBsxsaRTYw5kG3DN8pd1hSEUuFoTa7DmNeFe8tiK1BrL3rbA/m 48jp4AiFXgvxprJrW7izsyetOrRHPbkW4Y07v29MdhaPv3u1JELyszXqOzjI Yo4sWlC8iDQXwgSW/ntvWy2n4LuiaozlCfXl149tKeqvwlvrla2Yklue/quW p9j9ou4T/OY0CXMuY+B8wNK0ohd2D4ShgFlMSjzAFRoHGKF81snTr2d1A7Ew 02oF6UQyCkC2aNNsK5cWOojBar5c7HplX9aHYUCZouxIeU28SONJAxnATgR4 cJ2jrpmYSz/kliUJ46S6UpVDo/ebn9c6PaM/XtDYCCaM/7XX6wc3s++sbQ7C tCn1Ax7df6ufQbwyO0V+oFa9H0KAsjHMzcwk3EV2B2NLatidKE/m7G+rB9m+ FlVgIiSp0mGlg43QO9Kh1+JqvTCIzv2bJJkmPMLQJNuKKwHNL8F4GGp6jbAV +WL+LDeGfVcq8DHS3LrD+xyYEXQBiqZEdiPVOMxLDSUCXsDO0uCWpaNQ8j6y 6S9p0xE/Ga0peVLadVHhqf9nXqKaxnr358VgfrxzUIrvOaOjMIIF5TCCBM2g AwIBAgIQIHbHM980Evwjct9SmnLqQjANBgkqhkiG9w0BAQsFADB1MQswCQYD VQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjEpMCcGA1UECxMgU3Rh cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIzAhBgNVBAMTGlN0YXJ0 Q29tIENsYXNzIDEgQ2xpZW50IENBMB4XDTE2MDYyMDEyMDEzNVoXDTE5MDky MDEyMDEzNVowNDEVMBMGA1UEAwwMbGVvQG1hcmNvLmRlMRswGQYJKoZIhvcN AQkBFgxsZW9AbWFyY28uZGUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK AoICAQDSGmyTfoERpWTylzlGjS7CTXsKVjXq8HMfxPECInX4297aDGrZdVgY cLUqYDtQV7/U7v/NLwoVpiPu3vnJZwqNz6A1iyH+pIF2+RIBg6PMOAtZHfbD JyDqOsbPfS07aW+R+ZJBaMKX5XTONtJREmnfSuimz+xRkqG5iTUs7oqh69hl +uytf4yUq7OxBF8c4n/zvDO5FY7tcELpSSHUXvafU4MfkvuLqjR9ZMGf3b3+ cEMwCJ5ahWV58JecIE9cgrp6g/ZY5nRjARNdR89xgTGF08hKGWC4lBssiVCD Qu+gAMB9z/rJJ3JWeWAj3VJeWDrDHpWleH55mUNGGORKb/yDdOKwUtju8xqJ X16xS6bCME7f7BMlhrMDGupGYlAQLRrYp8hwq+Y17Hcy541q6kn44X7OnjFX schwiDJfcJ0zh8/26JR76sPEGZV+VHBPV1nO07IQoZz20X5fTHD8PVZXkorZ oKWCbopmQEUE9dvn9nImyINCt1E2qDLRVHKXJucbdpthpN+wAwMA8N4d5jgR nfOqdZ7Gu8h1GfM0Mj01mKvfyi/1nNWHopR8vTZ+uV062iGl5YLeAJFk2kqL b/hG9EHk+F0T4reeQsMLtk1H35M7kS8PlObXc4OlSGD/oDrb+jGfAqbueMhD xfxr83o6kup1Qpi/0rVkgv5FCj2dSwIDAQABo4IBsDCCAawwDgYDVR0PAQH/ BAQDAgSwMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDBDAJBgNVHRME AjAAMB0GA1UdDgQWBBTn0WEZECQdirz6o75Ym30HEzJfTzAfBgNVHSMEGDAW gBQkgWw5Yb5JD4+3G0YrySi1J0htaDBvBggrBgEFBQcBAQRjMGEwJAYIKwYB BQUHMAGGGGh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbTA5BggrBgEFBQcwAoYt aHR0cDovL2FpYS5zdGFydHNzbC5jb20vY2VydHMvc2NhLmNsaWVudDEuY3J0 MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL3Nj YS1jbGllbnQxLmNybDAXBgNVHREEEDAOgQxsZW9AbWFyY28uZGUwIwYDVR0S BBwwGoYYaHR0cDovL3d3dy5zdGFydHNzbC5jb20vMEcGA1UdIARAMD4wPAYL KwYBBAGBtTcBAgUwLTArBggrBgEFBQcCARYfaHR0cHM6Ly93d3cuc3RhcnRz c2wuY29tL3BvbGljeTANBgkqhkiG9w0BAQsFAAOCAQEAHev1G7qoycMr1K9q l8W+3BYh1AtFbT3SmTZLdHevy9XcWbd5x34WxjrrNC07L38bRKy7et3lXXpi bhTqfgweEUz3S7QK0oorFJ9lcN8IHc4NrH7E/JpTG6xkOP1KdlzpH4jYWQfK uOUSmw8hzaF1Jdz80ul4W5iPvRDPcKe1N5Zqjbh28rN91Cy7KszX8PoKzNa3 Rwpqix6v5XPnY02dPCkEgKntxRGfyF0Wr9oURy5XtXLTXA4gYIZW+t+9QX49 XpbJgpQHkzS8XuyMaE/0xdPywYzKVCByhzlIYwRekuENaOzuQFW6YRsYSRos 3kPEBQ+dShUt99yFAQIROUCLvzGCBOwwggToAgEBMIGJMHUxCzAJBgNVBAYT AklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENv bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20g Q2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJYIZIAWUD BAIDBQCgggIzMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTE2MTEwODEyMTc0MFowTwYJKoZIhvcNAQkEMUIEQMz0HJS8MgEY XWJUMURZ+u9mNHK9pqzCOOo3revaJ0ZB0dYiaMTsA5P7efrIyp6A/+PbGfYG 6HJW+7PcZYmqvGwwbAYJKoZIhvcNAQkPMV8wXTALBglghkgBZQMEASowCwYJ YIZIAWUDBAECMAoGCCqGSIb3DQMHMA4GCCqGSIb3DQMCAgIAgDANBggqhkiG 9w0DAgIBQDAHBgUrDgMCBzANBggqhkiG9w0DAgIBKDCBmgYJKwYBBAGCNxAE MYGMMIGJMHUxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQu MSkwJwYDVQQLEyBTdGFydENvbSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEj MCEGA1UEAxMaU3RhcnRDb20gQ2xhc3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8 I3LfUppy6kIwgZwGCyqGSIb3DQEJEAILMYGMoIGJMHUxCzAJBgNVBAYTAklM MRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSkwJwYDVQQLEyBTdGFydENvbSBD ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEjMCEGA1UEAxMaU3RhcnRDb20gQ2xh c3MgMSBDbGllbnQgQ0ECECB2xzPfNBL8I3LfUppy6kIwDQYJKoZIhvcNAQEB BQAEggIAZOA1F577TSxFy/w7sVqO4Jww74X9y4cokZFrQT9gi7CgAGFZnnnu ID8nygLOPN6m61B1Ae9odla6C8GAnRnJ4I2mz1NX3zc6/jlvJkVPZrs3f2O5 qRSHp8lbF9r0Q4zncEG37EpydrblMY9+sUSKIYMBksqK4Sg8SIVlqs8NHMjU FvVNDi8PHrsdeOk4i/f59ZiDmyYAOg03WbqgWyWK4U9vHsiUxviISHKDFX9C ptuh6E5sa/Xbe4WAHtkHgsvl51sHLeFT+7sU9iLWOTjdTvxH/dqckUNYcZbd Bt87ur6D1vOmw47/VSoTP+7bfEyPdCfEo5NPEezAuptGnTxtl6fKoAiSGddr NjwewZ1n/JqPrwMhHkPqixOkqqDCV3Wws4XtJNOymFegA8Ghs1o5lg127vGS QK8T94AKZRypuzJKGXhrZ09zWOedPXyKLvcV5Xa0fVSEE/dHy5jpZfXPBOWc +eUQ63qHSXjcpD9i4ovDguhm6ARGERMoS9oM5jtX28CPC42a4I7ORNO/DVXE EZHMcyssUE6zuhC1Fr7fHfggCWnqrQfo+Iw4jQinBGlultY+TDf11uSMKAeK Fu/dSL0nIKiq7rh+VE9EzibRkRgw/cYfML/YGiLDUiLYzUMS1VzvZmNiSXaO vdgiZo36lKLYpjBiMJgT7U2qqFc8OKoAAAAAAAA= --------------ms090909090404000009040809--