From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2069.outbound.protection.outlook.com [40.107.93.69]) by sourceware.org (Postfix) with ESMTPS id DD4453858D28 for ; Fri, 25 Feb 2022 21:37:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DD4453858D28 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tex.com.br Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=tex.com.br ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EiwUFxchCzdDEf9aXMsJ5rrwQ2SwdKn50VZTvA0KmCFpCs1cBa3ynq7nXoM8WxFOTN3yLWTKnnmUzrsf7xvbrY4prvNs6cWk72q3F0P0GNxHT6P8E96gWuwGYONiwQLqwwWYl0SU5bjc3KxL4AzsrN+dmmTz3kIV7PX6m5yDE2ymDcqAp6yXBit29nv4tDQvJljiOtJa1L+elGr1Mnucg+8VnW9byRuRd/QgHWFCqId4955Y3M9tqsJfZmS86puLJI+NbU4YfscCc3N8npCrgYjXoS9rFNYFh417CilJW2Y/oYAmtun5cuin8TC9wQ/djcgL1ax4cBwOAy6mwwdpiQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Hi1XNZggy+iK3BjcxtDDf7buT16ta9DTagcorkMJv4M=; b=W7orevZZLorn68lRXtflwlYeCpSCtmYMNsVj84dNqFSoQLxynhjCxmt3sLBokKT5NzRK8oQ0m5Ti7EPO03RW1kUrsk36jkPc/oP2rK3HojcJTf71OKoCbUct4jqe5fV4dOMgLGwzYQq31UDXvdf6TNE6kn+xqKP4SZcV3Hdt8EtNNn1wxr9jfuYYS8yejTS1JVuWd3lgUA22/gBarZKKoYCqyz2qJCZrW9OjMg0X1MtuVHE5lLase6Anso1pzI0kpZwfz2+irKK+zL0II+AkRC/Tm6mBBDO8A9/nQk8DJAGyZLEvAefD1C5Vh0ojtW7f8GBZn4Q0T+uBBQOcnKmP4w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=tex.com.br; dmarc=pass action=none header.from=tex.com.br; dkim=pass header.d=tex.com.br; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=texequipamentos.onmicrosoft.com; s=selector2-texequipamentos-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hi1XNZggy+iK3BjcxtDDf7buT16ta9DTagcorkMJv4M=; b=IjohLpbvQC2R2cMzIvfsAiY2xr57cZQp0IFfnSEqzXt1SfGo07gAFix9P6ZSFl/DeSNQkqzt0QJskXI0NE37/hlSUPlk9vYrxj0mt4NVwUM68t9s0svFebjPaqW6+cS86N3ohdHkDJmWnS1cS4LyHXfEO3DchoNiBbvGlmk3O3E= Received: from FR1PR80MB4744.lamprd80.prod.outlook.com (2603:10d6:202:33::15) by FR1PR80MB3640.lamprd80.prod.outlook.com (2603:10d6:202:23::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.24; Fri, 25 Feb 2022 21:37:15 +0000 Received: from FR1PR80MB4744.lamprd80.prod.outlook.com ([fe80::adae:a34e:5f78:6f2f]) by FR1PR80MB4744.lamprd80.prod.outlook.com ([fe80::adae:a34e:5f78:6f2f%6]) with mapi id 15.20.5017.022; Fri, 25 Feb 2022 21:37:14 +0000 From: Henrique Coser To: David Brown , Martin Sebor , "gcc-help@gcc.gnu.org" Subject: RE: Constant at fixed address Thread-Topic: Constant at fixed address Thread-Index: AQHYKl6zmSbtVGxHYEuSpzeRNAFkF6ykeWOAgAAT+wCAADo7bg== Date: Fri, 25 Feb 2022 21:37:14 +0000 Message-ID: References: <723b5ea5-7cbb-a36e-0734-9cae443eda70@gmail.com> In-Reply-To: Accept-Language: pt-PT, en-US Content-Language: pt-PT X-MS-Has-Attach: yes X-MS-TNEF-Correlator: suggested_attachment_session_id: e5287e10-a2ed-106e-86de-00caa20cdb61 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=tex.com.br; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6e1c6f7a-05f5-4635-f3b7-08d9f8a6fd6e x-ms-traffictypediagnostic: FR1PR80MB3640:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: l/JNhuQYjMMsdAVay2iN6y72iz2kAg2wh7Kn3KN4Ka1mQ9mLyiTA30ONsVFlt1LsF2zqWgfek2s1GlEVjI0itmSM8hau60kk49ZlP/PG0c4C7XTUgY8YhuucOKJj7zT2Jlq0uIi1rp4M0cnel9YMHYLzmQV+/rt/79fFEx7rubU/OfoQvAPyjN04zyk/WQrfJPGNExHjGOF9FeUQqzhrgzJWupCuwqyeM4Ce5rBMvsEnUit51UEWGPx4CdEejSJDzdhDb5qClMc7zKeukeGsl7LxC0D55l/GRvBNtxVihIoqPe6RZtp7LWRfkJCwqyC8T95DeOxZPqJxit49eHjpemvcGDi6qo1GBY2FeajvFp8BWKvR3FbauBH3ghpCoijMa8sBnI8mBOIWPWPiN7GulpmQlMt47lwMVx1/ehwKD+h9yCcwvZoyLINXAU8gpn1zT0gwdRtb29Vi4Vkv3HiRKQsyqSb9CeyOafstICLuoE8KxS7ufSgvch1qFDzAhok5Rsv32wEcCbGX4Ftlt0bG/d8I0JpZ0aTKaEredGu5X+E/bEdNn4W/KqYfaCszRtflgtTC7+/KslLSq2XnHqDWEWO3VPMtl3GVMwbr6SVB+dOlS/Q3noAkEhcPJhOTupFsQaBFK15eN9q8+AOzc6dCOMkT6StgH0wG19t4iIZkosqFU/qXQJxY4uxx+1OZFIDA1WrpLHIxQpV3y7+pc3JV+xrFLjBx458w/WUzQKv3eJE= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:FR1PR80MB4744.lamprd80.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(136003)(39840400004)(396003)(376002)(346002)(44832011)(91956017)(52536014)(83380400001)(19627405001)(8936002)(38070700005)(33656002)(5660300002)(55016003)(2906002)(110136005)(66446008)(64756008)(66946007)(38100700002)(53546011)(508600001)(186003)(99936003)(71200400001)(9686003)(3480700007)(8676002)(122000001)(6506007)(66476007)(76116006)(7696005)(316002)(26005)(66556008)(86362001)(460985005); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?hIctgRskCNfFEhbbcrOaP7C4aXV3WZ+oGY1VZBLUaT7VcztKN/z2WS6S12pV?= =?us-ascii?Q?M7HIvyldKx38JYpY7FwwHlq4jL6zFjBjWPUn59Lf2vsjBWWd1SLXcsVjHDb/?= =?us-ascii?Q?2bg0nnmzE+M0yAdQZe1vnS8elhH2HV24wiPv4uQ31IJgELG9cIJtWIFjxdPD?= =?us-ascii?Q?FnfTyWbuKKjs5qlb7JONh6PhVGhA9+/jeQ1jX21vmf2TmPj19IO+pewK3iKx?= =?us-ascii?Q?MgahGYGe4eH8YLG6K1AxWqk/qzP5qKdhISSCe9sxSB+gAzTvFJ9+IufZhfdr?= =?us-ascii?Q?KWXNBsf4bKMC7FI7vtUyyfWAJ31e8eBKB1uB3lPDm9nanR8g5InKeo018Fp9?= =?us-ascii?Q?8VCtwgPzX2VbziTjqJGDxXoTtn7ywocfff1dV629ut6uYCRCRmIe63ub2Jf1?= =?us-ascii?Q?ECQlceJqPatr8HxamjYdz/ZHWG5kyIMdUxs+WUdtHMLwwm24Xl31PbsSdyYo?= =?us-ascii?Q?kjvSSxogNXOSZIqqEngEjVlummhbtMxDuuo0m+1jUGY2CXf8zv+xFV0ROKLR?= =?us-ascii?Q?GKVFlavv2eGd4ZF2H+6Q5vB4eBV4dnQEKjgKKwtA6l72LY5IY7O3qupJZY8g?= =?us-ascii?Q?QQsQZ9J3W4o6rs39NDMJbuC2hVRfUXh+oTtDeXDRLreX2SVhEA3D14Ke2Kln?= =?us-ascii?Q?rsOQSaFLLhJ+aPONTLEuzv/EuoQF0heUWs1sVD1Mga5sV5KSRWyqoDh0o3PD?= =?us-ascii?Q?Dtc7aRxsroLgnXjT9wInYf4ip3ihzuUHOE0GvglQC/vG4VeK4Pg9NdsIbbhA?= =?us-ascii?Q?MjEGN0VEIRMZNc9IfjvSv7ag2Zl5eJwPtFtX6FT0/QulJyN0MH6oavXcEaCb?= =?us-ascii?Q?c7LKyYUiG9+foU/pdH9einO/wb9dLsgtVZIz8h31i9h2ZwX4HosAfYf6FDuh?= =?us-ascii?Q?qG8B2EfZxMXw7f4XiEvJeAab0qQLozPeWTDsgOTnojwxtmuxaPep7d/mz9u6?= =?us-ascii?Q?rChRv5qyqeobYZAauoQbUANyANyXDPNbFOeJzE0vnXOecv0RCH55ftX6zgnp?= =?us-ascii?Q?TjgjtHKBItCbtwqwNorj+tKVQpgFjKeX3Fg21ZCdwttcaktTu3R7oLogaVKD?= =?us-ascii?Q?wQJzA+rApaecR2iLfGowdKpK0Jubi5O2cT2uAbC7gOUkhtWianeJaoBad/I6?= =?us-ascii?Q?omonXKphZPs1+AMddDlk7NG/fQXfQXrTdpa6ZqOu6b9x7jG3y/xqr237wSZn?= =?us-ascii?Q?NNUrxlJm8S0CqZJfSt3EGf8kRE7KSeLVgTHbDDvavrJChpg4bjiOjlnkrQmi?= =?us-ascii?Q?C+VEJeaZg2/8gQh23863nlXJ40c6ZCYEjWlBA5qtKEPIKv+NXSdMHsboMxaL?= =?us-ascii?Q?rUetqhu9EhD8YdpQQ0Fz3nrP3LICmN2oIplS0YTusHYfLmml8GYmhp61FHRJ?= =?us-ascii?Q?BP0vXoPHA6XVpIFVcWCc7XgWnlh4RY2nvb1wLyGTn6c9kZ9ZjWQOVOzcYzTi?= =?us-ascii?Q?9kOzUV+1wSS4/9H7+3HduaNS9BD9743mvxyr05WeOb2ezWbtBYiwGfhCZoLK?= =?us-ascii?Q?xfRh0REo5S2rZiRT1ICEX7He1BisMTel3QcjTEgk0SNOXWnYeyH1OCx01YVr?= =?us-ascii?Q?sVXheQIvkz7+LVIFOZgR0uVKMM4nKniHlUyv5qeokTQdsG8jDQD9i5UjMWiI?= =?us-ascii?Q?s1J3doxuQybFtG8rrxq36AqWpER0zk9YdDRKIJPSjB/fr1ef2ucRWgl0fIqx?= =?us-ascii?Q?4kTRYw=3D=3D?= Content-Type: multipart/mixed; boundary="_005_FR1PR80MB474479F7C5AA397C0631FBD3BD3E9FR1PR80MB4744lamp_" MIME-Version: 1.0 X-OriginatorOrg: tex.com.br X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: FR1PR80MB4744.lamprd80.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e1c6f7a-05f5-4635-f3b7-08d9f8a6fd6e X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Feb 2022 21:37:14.8083 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c12094de-00da-429a-8e36-d7ffb9a44c41 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kdGUuUpFTcG/9DEPmzFbawAUYe/NHxJoKz8ZP+89DD6eBai1gbwm0ApkgVlEqSUVJIGmWQo3TF5njE2EOEeSpeVLwFMlTRUOpYbU/+De1NE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR1PR80MB3640 X-Spam-Status: No, score=4.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FOREIGN_BODY1, FORGED_SPF_HELO, HTML_MESSAGE, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, TXREP, T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.4 X-Spam-Level: **** X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Feb 2022 21:37:21 -0000 --_005_FR1PR80MB474479F7C5AA397C0631FBD3BD3E9FR1PR80MB4744lamp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Martin and David, thank you for your answers. Attached is the linker script that I use. In Keil, where I did the first version of the boot loader I can assure you = that a constant value is placed and correctly filled when use __attribute__= ((at(0x0401000))) I don't know how they do this but they do! I would be grateful If you could help me editting this script. Thank you very much. Henrique Coser Engenharia TEX Equip.Eletronicos Ind.e Com.Ltda. Fone: (+5511) 4591-2825 henrique.coser@tex.com.br MEDIR PARA MELHORAR! ________________________________ De: David Brown Enviado: 25 de fevereiro de 2022 14:56 Para: Martin Sebor ; Henrique Coser ; gcc-help@gcc.gnu.org Assunto: Re: Constant at fixed address On 25/02/2022 17:45, Martin Sebor via Gcc-help wrote: > On 2/25/22 09:01, Henrique Coser wrote: >> Hello, >> >> I need a help. I'm trying to solve a problem for weeks. >> I have a embeded software that is a boot loader. It puts the boot load >> version at a specific address. >> My memmory starts at 0x400000 with 0x1400 size. My constant version >> string value must be placed @0x401000 with 8bytes length. >> If I place this const value into a section like this: >> >> const unsigned char Version[8] __attribute__ ((section >> (".bootversion"))) =3D "V1.0.1a"; >> >> I got this error: >> >> section .bootversion LMA [00401000,00401007] overlaps section .text >> LMA [00400000,00401013]collect2.exe(0,0): error: ld returned 1 exit >> status >> >> I have already tried to split flash memmory using linker script but it >> does not worked. >> I wish to find something like "automatic" split. >> >> For example, this code was compiled using ARM Keil. With ARM Keil I >> have the attribute that makes all the magic : >> const unsigned char Version[8] __attribute__((at(0x0401000))) =3D >> "V1.0.1a"; >> >> I dont know if is possible to have something as pratical as ARM Keil >> attribute in GCC. > > GCC for the AVR target supports a couple of attributes that can be > used to pin a variable declaration to a fixed address: address and > io. It doesn't look to me like they're put in their own sections > like in the ARM Keil compiler (but the section attribute can be > used for that). > > Beside your use case, exposing at least the address attribute in all > targets would make would also solve a long-standing problem with GCC > issuing warnings for accesses to hardwired addresses). > > I suggest opening an enhancement request in Bugzilla. > > Martin > > I second that request - it would definitely be convenient to be able to put a variable or section at a specific address without having to modify a linker script. This is a feature that most embedded toolchains (Keil, IAR, etc.) support. Note that the attributes for the AVR here don't do what is needed, as far as I can see - it looks like they declare the variable at the given address, but that does not mean that there will be an absolute section allocated in the link. In other words, using the AVR "address" attribute to put "Version" at address 0x0401000 will not actually put the initialised data there, nor will it prevent the address being used by anything else that is linked to that memory area. The example for the "address" attribute is : volatile int porta __attribute__((address (0x600))); The effect of this is very similar to the more common and portable version used for other targets: #define porta *((volatile int *) 0x600) Henrique needs more than that here. AFAIK, Henrique, the only way to achieve your needs are a modified linker script. It's not hard to do that, but of course it looks hard the first time you do it! Post a copy of your current linker script and I can try to give you ideas for modification. --_005_FR1PR80MB474479F7C5AA397C0631FBD3BD3E9FR1PR80MB4744lamp_ Content-Type: application/octet-stream; name="sam3s4b_flash.ld" Content-Description: sam3s4b_flash.ld Content-Disposition: attachment; filename="sam3s4b_flash.ld"; size=3166; creation-date="Fri, 25 Feb 2022 21:28:55 GMT"; modification-date="Fri, 25 Feb 2022 21:31:42 GMT" Content-Transfer-Encoding: base64 LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiAgICAgICAgICAgICAgICAgIEF0bWVsIE1pY3Jv Y29udHJvbGxlciBTb2Z0d2FyZSBTdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICovCi8qICAg ICAgICAgICAgICAgICAgICAgICBTQU0gU29mdHdhcmUgUGFja2FnZSBMaWNlbnNlICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBDb3B5cmln aHQgKGMpICVjb3B5cmlnaHRfeWVhciUsIEF0bWVsIENvcnBvcmF0aW9uICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyog QWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIFJlZGlz dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dCAgICAgICAgICAgKi8KLyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gaXMgbWV0OiAgICAqLwovKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICovCi8qIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAgICAgKi8KLyogdGhpcyBsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBkaXNjbGFpbWVyIGJlbG93LiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIEF0bWVsJ3MgbmFtZSBtYXkgbm90 IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSAgICAg Ki8KLyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz c2lvbi4gICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8q IERJU0NMQUlNRVI6ICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFUTUVMICJBUyBJUyIg QU5EIEFOWSBFWFBSRVNTIE9SICAgKi8KLyogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiAqLwovKiBNRVJD SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5G UklOR0VNRU5UIEFSRSAgICovCi8qIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFUTUVM IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsICAgICAgKi8KLyogSU5DSURFTlRB TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVCAqLwovKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgICovCi8qIE9SIFBST0ZJVFM7IE9S IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg T0YgICAgKi8KLyogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgICAgICAgICAqLwovKiBORUdMSUdFTkNFIE9SIE9USEVS V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs ICovCi8qIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoK LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICogICAgICBMaW5rZXIgc2NyaXB0IGZvciBydW5uaW5n IGluIGludGVybmFsIEZMQVNIIG9uIHRoZSBBVFNBTTNTNEIKICotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ki8KCk9VVFBVVF9GT1JNQVQoImVsZjMyLWxpdHRsZWFybSIsICJlbGYzMi1saXR0bGVhcm0iLCAi ZWxmMzItbGl0dGxlYXJtIikKT1VUUFVUX0FSQ0goYXJtKQpTRUFSQ0hfRElSKC4pCgovKiBNZW1v cnkgU3BhY2VzIERlZmluaXRpb25zICovCk1FTU9SWQp7CiAgcm9tIChyeCkgIDogT1JJR0lOID0g MHgwMDQwMDAwMCwgTEVOR1RIID0gMHgwMDAwMTNGNiAgICAgIAogIHJhbSAocnd4KSA6IE9SSUdJ TiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMEMwMDAKfQoKLyogVGhlIHN0YWNrIHNpemUg dXNlZCBieSB0aGUgYXBwbGljYXRpb24uIE5PVEU6IHlvdSBuZWVkIHRvIGFkanVzdCBhY2NvcmRp bmcgdG8geW91ciBhcHBsaWNhdGlvbi4gKi8KU1RBQ0tfU0laRSA9IERFRklORUQoU1RBQ0tfU0la RSkgPyBTVEFDS19TSVpFIDogMHg0MDA7CgovKiBUaGUgaGVhcHNpemUgdXNlZCBieSB0aGUgYXBw bGljYXRpb24uIE5PVEU6IHlvdSBuZWVkIHRvIGFkanVzdCBhY2NvcmRpbmcgdG8geW91ciBhcHBs aWNhdGlvbi4gKi8KSEVBUF9TSVpFID0gREVGSU5FRChIRUFQX1NJWkUpID8gSEVBUF9TSVpFIDog MHgyMDA7CgpJTkNMVURFIHNhbTNzX2ZsYXNoLmxkCg== --_005_FR1PR80MB474479F7C5AA397C0631FBD3BD3E9FR1PR80MB4744lamp_ Content-Type: application/octet-stream; name="sam3s_flash.ld" Content-Description: sam3s_flash.ld Content-Disposition: attachment; filename="sam3s_flash.ld"; size=4898; creation-date="Fri, 25 Feb 2022 21:28:55 GMT"; modification-date="Fri, 25 Feb 2022 21:31:42 GMT" Content-Transfer-Encoding: base64 LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiAgICAgICAgICAgICAgICAgIEF0bWVsIE1pY3Jv Y29udHJvbGxlciBTb2Z0d2FyZSBTdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICovCi8qICAg ICAgICAgICAgICAgICAgICAgICBTQU0gU29mdHdhcmUgUGFja2FnZSBMaWNlbnNlICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwovKiBDb3B5cmln aHQgKGMpICVjb3B5cmlnaHRfeWVhciUsIEF0bWVsIENvcnBvcmF0aW9uICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyog QWxsIHJpZ2h0cyByZXNlcnZlZC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIFJlZGlz dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dCAgICAgICAgICAgKi8KLyogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb24gaXMgbWV0OiAgICAqLwovKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICovCi8qIC0gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0 YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAgICAgKi8KLyogdGhpcyBsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBkaXNjbGFpbWVyIGJlbG93LiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIEF0bWVsJ3MgbmFtZSBtYXkgbm90 IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSAgICAg Ki8KLyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz c2lvbi4gICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8q IERJU0NMQUlNRVI6ICBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFUTUVMICJBUyBJUyIg QU5EIEFOWSBFWFBSRVNTIE9SICAgKi8KLyogSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiAqLwovKiBNRVJD SEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5G UklOR0VNRU5UIEFSRSAgICovCi8qIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFUTUVM IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsICAgICAgKi8KLyogSU5DSURFTlRB TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVCAqLwovKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgICovCi8qIE9SIFBST0ZJVFM7IE9S IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg T0YgICAgKi8KLyogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgICAgICAgICAqLwovKiBORUdMSUdFTkNFIE9SIE9USEVS V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs ICovCi8qIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu ICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwoK LyogU2VjdGlvbiBEZWZpbml0aW9ucyAqLwpTRUNUSU9OUwp7CiAgICAudGV4dCA6CiAgICB7CiAg ICAgICAgLiA9IEFMSUdOKDQpOwogICAgICAgIF9zZml4ZWQgPSAuOwogICAgICAgIEtFRVAoKigu dmVjdG9ycyAudmVjdG9ycy4qKSkKICAgICAgICAqKC50ZXh0IC50ZXh0LiogLmdudS5saW5rb25j ZS50LiopCiAgICAgICAgKiguZ2x1ZV83dCkgKiguZ2x1ZV83KQogICAgICAgICooLnJvZGF0YSAu cm9kYXRhKiAuZ251LmxpbmtvbmNlLnIuKikKICAgICAgICAqKC5BUk0uZXh0YWIqIC5nbnUubGlu a29uY2UuYXJtZXh0YWIuKikKCiAgICAgICAgLyogU3VwcG9ydCBDIGNvbnN0cnVjdG9ycywgYW5k IEMgZGVzdHJ1Y3RvcnMgaW4gYm90aCB1c2VyIGNvZGUKICAgICAgICAgICBhbmQgdGhlIEMgbGli cmFyeS4gVGhpcyBhbHNvIHByb3ZpZGVzIHN1cHBvcnQgZm9yIEMrKyBjb2RlLiAqLwogICAgICAg IC4gPSBBTElHTig0KTsKICAgICAgICBLRUVQKCooLmluaXQpKQogICAgICAgIC4gPSBBTElHTig0 KTsKICAgICAgICBfX3ByZWluaXRfYXJyYXlfc3RhcnQgPSAuOwogICAgICAgIEtFRVAgKCooLnBy ZWluaXRfYXJyYXkpKQogICAgICAgIF9fcHJlaW5pdF9hcnJheV9lbmQgPSAuOwoKICAgICAgICAu ID0gQUxJR04oNCk7CiAgICAgICAgX19pbml0X2FycmF5X3N0YXJ0ID0gLjsKICAgICAgICBLRUVQ ICgqKFNPUlQoLmluaXRfYXJyYXkuKikpKQogICAgICAgIEtFRVAgKCooLmluaXRfYXJyYXkpKQog ICAgICAgIF9faW5pdF9hcnJheV9lbmQgPSAuOwoKICAgICAgICAuID0gQUxJR04oMHg0KTsKICAg ICAgICBLRUVQICgqY3J0YmVnaW4ubyguY3RvcnMpKQogICAgICAgIEtFRVAgKCooRVhDTFVERV9G SUxFICgqY3J0ZW5kLm8pIC5jdG9ycykpCiAgICAgICAgS0VFUCAoKihTT1JUKC5jdG9ycy4qKSkp ICAgICAgICAKCQlLRUVQICgqY3J0ZW5kLm8oLmN0b3JzKSkKCiAgICAgICAgLiA9IEFMSUdOKDQp OwogICAgICAgIEtFRVAoKiguZmluaSkpCgkJCQkKICAgICAgICAuID0gQUxJR04oNCk7CiAgICAg ICAgX19maW5pX2FycmF5X3N0YXJ0ID0gLjsKICAgICAgICBLRUVQICgqKC5maW5pX2FycmF5KSkK ICAgICAgICBLRUVQICgqKFNPUlQoLmZpbmlfYXJyYXkuKikpKQogICAgICAgIF9fZmluaV9hcnJh eV9lbmQgPSAuOwoKCQkKCiAgICAgICAgS0VFUCAoKmNydGJlZ2luLm8oLmR0b3JzKSkKICAgICAg ICBLRUVQICgqKEVYQ0xVREVfRklMRSAoKmNydGVuZC5vKSAuZHRvcnMpKQogICAgICAgIEtFRVAg KCooU09SVCguZHRvcnMuKikpKQogICAgICAgIEtFRVAgKCpjcnRlbmQubyguZHRvcnMpKQoKICAg ICAgICAuID0gQUxJR04oNCk7CiAgICAgICAgX2VmaXhlZCA9IC47ICAgICAgICAgICAgLyogRW5k IG9mIHRleHQgc2VjdGlvbiAqLwogICAgfSA+IHJvbQoKICAgIC8qIC5BUk0uZXhpZHggaXMgc29y dGVkLCBzbyBoYXMgdG8gZ28gaW4gaXRzIG93biBvdXRwdXQgc2VjdGlvbi4gICovCiAgICBQUk9W SURFX0hJRERFTiAoX19leGlkeF9zdGFydCA9IC4pOwogICAgLkFSTS5leGlkeCA6CiAgICB7CiAg ICAgICooLkFSTS5leGlkeCogLmdudS5saW5rb25jZS5hcm1leGlkeC4qKQogICAgfSA+IHJvbQog ICAgUFJPVklERV9ISURERU4gKF9fZXhpZHhfZW5kID0gLik7CgoJLiA9IEFMSUdOKDQpOwogICAg X2V0ZXh0ID0gLjsKICAgCgkucmVsb2NhdGUgOiBBVCAoX2V0ZXh0KQogICAgewogICAgICAgIC4g PSBBTElHTig0KTsKICAgICAgICBfc3JlbG9jYXRlID0gLjsKICAgICAgICAqKC5yYW1mdW5jIC5y YW1mdW5jLiopOwogICAgICAgICooLmRhdGEgLmRhdGEuKik7CiAgICAgICAgLiA9IEFMSUdOKDQp OwogICAgICAgIF9lcmVsb2NhdGUgPSAuOwogICAgfSA+IHJhbQoKICAgIC8qIC5ic3Mgc2VjdGlv biB3aGljaCBpcyB1c2VkIGZvciB1bmluaXRpYWxpemVkIGRhdGEgKi8KICAgIC5ic3MgKE5PTE9B RCkgOgogICAgewogICAgICAgIC4gPSBBTElHTig0KTsKICAgICAgICBfc2JzcyA9IC4gOwogICAg ICAgIF9zemVybyA9IC47CiAgICAgICAgKiguYnNzIC5ic3MuKikKICAgICAgICAqKENPTU1PTikK ICAgICAgICAuID0gQUxJR04oNCk7CiAgICAgICAgX2Vic3MgPSAuIDsKICAgICAgICBfZXplcm8g PSAuOwogICAgfSA+IHJhbQoKICAgIC8qIHN0YWNrIHNlY3Rpb24gKi8KICAgIC5zdGFjayAoTk9M T0FEKToKICAgIHsKICAgICAgICAuID0gQUxJR04oOCk7CiAgICAgICAgX3NzdGFjayA9IC47CiAg ICAgICAgLiA9IC4gKyBTVEFDS19TSVpFOwogICAgICAgIC4gPSBBTElHTig4KTsKICAgICAgICBf ZXN0YWNrID0gLjsKICAgIH0gPiByYW0KCiAgICAvKiBoZWFwIHNlY3Rpb24gKi8KICAgIC5oZWFw IChOT0xPQUQpOgogICAgewogICAgICAgIC4gPSBBTElHTig4KTsKICAgICAgICAgX3NoZWFwID0g LjsKICAgICAgICAuID0gLiArIEhFQVBfU0laRTsKICAgICAgICAuID0gQUxJR04oOCk7CiAgICAg ICAgX2VoZWFwID0gLjsKICAgIH0gPiByYW0KCiAgICAuID0gQUxJR04oNCk7CiAgICBfZW5kID0g LiA7CiAgICBfcmFtX2VuZF8gPSBPUklHSU4ocmFtKSArIExFTkdUSChyYW0pIC0xIDsKfQo= --_005_FR1PR80MB474479F7C5AA397C0631FBD3BD3E9FR1PR80MB4744lamp_--