Make some order. Remove JLink.

Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
This commit is contained in:
Drasko DRASKOVIC 2017-05-14 18:25:35 +02:00
parent 6929af3ee0
commit f39d1809c3
34 changed files with 74 additions and 1509 deletions

26
.gitignore vendored
View file

@ -1,2 +1,24 @@
/AutoMake/
/build/obj/
# Dependency directory
# Deployed apps should consider commenting this line out:
# see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
node_modules
# Visual Studio files
*.sln
*.njsproj
# Vim files
# swap
[._]*.s[a-w][a-z]
[._]s[a-w][a-z]
# session
Session.vim
# temporary
.netrwhist
*~
# auto-generated tag files
tags
# Binary
build

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="MPbinary.application" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="MPbinary" asmv2:product="MPbinary" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.5.1" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="Application Files\MPbinary_1_0_0_10\MPbinary.exe.manifest" size="7194">
<assemblyIdentity name="MPbinary.exe" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>waVOlvqW5dOh4L+yqh+/vn6+jfAEMx2DxLCeov+iKOU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=RTDOMAIN\alfa.chou" issuerKeyHash="723c643dc0aa0c81fcefda01addef28025b12ef2" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>jUakwwkIm7aYjPBUngK3a4FcGajJIegDThBBwDvd8vQ=</DigestValue></Reference></SignedInfo><SignatureValue>l71/9JeAHh9mOJbghqHfW89Tx6DOTG8BRhi8vumFJTVFCiYWYcNHMVNRt7r+VRlqRj9bjQjNsT9A/Bef0mpS+sI2pdxfpyE1DvCFXKsoqQF5jq4mGFCRGUBbp5/7FifObaZqD0ncmhXGnhCfC5CpgtE1J6uDjMrXw3rKVefr+fk=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="f4f2dd3bc041104e03e821c9a8195c816bb7029e54f08c98b69b0809c3a4468d" Description="" Url=""><as:assemblyIdentity name="MPbinary.application" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=RTDOMAIN\alfa.chou</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>xBC3WO8FE91OVXefmMEtQGpyp4bzigoUqg31gOtymoc=</DigestValue></Reference></SignedInfo><SignatureValue>Vgk6ZbDOu5LvIC/TPjPDO2nNbsxKKMc0iXKv/lED55QGFP2zJHBik/VyonE8fhKqQZNKM3kj5kl46mLlMcYwBS5BK6rSI8VIhsAZs/WnanNXTVJcx1DNJN059kyEOrjn9hAwwnd9K09rDQvszvazZTWxyWG+fbX7xBBfQl+OLYc=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQIuAyKGyKbLJA2qiu9kaxoTANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwHhcNMTUwMzA1MDgyNjMxWhcNMTYwMzA0MTQyNjMxWjAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKkXThxAWCUBeqwjlh/ZXp+pyUjWSI/+8vNwYllfld0gDFvfKjmeSoFmdJst+s4aR0v7g2UlUGM2gFFlhsAlCFw2VDyIuf2Dkih5bkw5ifpjFpz7NwBVuForv+WOgNoPkurbzPf33N7djHC2+vhh/4IIKFfV7Z8m582D0Ed0EzpRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAJwH5AlyO+H8K1642SYotp6zplPkrYBZcr4yFGPe7l6ETNObTN1a6+p2agjmTfEcTMiscSb/SeZmnfjlNi/ev87dURIDODEG714LNcWZByJ/ERibb9UgTn2dOFX6Ap96lRp7inBlSoFk6NsFXlzFYbqUdhkcjSmFngBu2piMmM5g=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

View file

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/></startup>
</configuration>

View file

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<asmv1:assemblyIdentity name="MPbinary.exe" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" type="win32" />
<application />
<entryPoint>
<assemblyIdentity name="MPbinary" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<commandLine file="MPbinary.exe" parameters="" />
</entryPoint>
<trustInfo>
<security>
<applicationRequestMinimum>
<PermissionSet Unrestricted="true" ID="Custom" SameSite="site" />
<defaultAssemblyRequest permissionSetReference="Custom" />
</applicationRequestMinimum>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!--
UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentOS>
<osVersionInfo>
<os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" />
</osVersionInfo>
</dependentOS>
</dependency>
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
</dependentAssembly>
</dependency>
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MPbinary.exe" size="57296">
<assemblyIdentity name="MPbinary" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>yWrp4figSatgFIhWpA486yZG/ligXIvCX1OJ90OfoRA=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<file name="MPbinary.exe.config" size="176">
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>5jpXYyQse/HsfhEOEinypyZ+bRRplzFJfh5PWeIwRsk=</dsig:DigestValue>
</hash>
</file>
<publisherIdentity name="CN=RTDOMAIN\alfa.chou" issuerKeyHash="723c643dc0aa0c81fcefda01addef28025b12ef2" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>RSncHADGCCFMpm4m1Wz7DfAeMCh0kuL6HN9Kjj44c5g=</DigestValue></Reference></SignedInfo><SignatureValue>QptMKfNJm7vNPPQmEIHz5r8A4FUJ2XURRTsbjYnrK2fu2lD7dWbBDC31QExVvU0HRwLqgwnzp+9StkVNsE8gvrh1uhJf4LxKS7dm04zmb1KsSYP4VqvNkvDPJC+HSAwnUCy7FREFArG7iCYQIXtQzBt5Q6LI9iaxLp8xE2dy7WM=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="9873383e8e4adf1cfae2927428301ef00dfb6cd5266ea64c2108c6001cdc2945" Description="" Url=""><as:assemblyIdentity name="MPbinary.exe" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" type="win32" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=RTDOMAIN\alfa.chou</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>Z+x2CvCjvzTtsEB7dUoX4wnuPZf/rreEEYvbdCXSWSs=</DigestValue></Reference></SignedInfo><SignatureValue>LIP3Wu1F5aTtjpuSgmh1QUQVfZsKynOp6qoYor5vBbJsGtP0E+oesOm9wysh/Ype6s7rJiKPA9Y0ba98mD5+EkV/8PwXvaf7n32jLkmnfZvcpqkMA0t1Cm/XsM66MyTAdFURyvH746BCuD95vtKVCdGW0kuRH61cfE7cZzy4o3U=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQIuAyKGyKbLJA2qiu9kaxoTANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwHhcNMTUwMzA1MDgyNjMxWhcNMTYwMzA0MTQyNjMxWjAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKkXThxAWCUBeqwjlh/ZXp+pyUjWSI/+8vNwYllfld0gDFvfKjmeSoFmdJst+s4aR0v7g2UlUGM2gFFlhsAlCFw2VDyIuf2Dkih5bkw5ifpjFpz7NwBVuForv+WOgNoPkurbzPf33N7djHC2+vhh/4IIKFfV7Z8m582D0Ed0EzpRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAJwH5AlyO+H8K1642SYotp6zplPkrYBZcr4yFGPe7l6ETNObTN1a6+p2agjmTfEcTMiscSb/SeZmnfjlNi/ev87dURIDODEG714LNcWZByJ/ERibb9UgTn2dOFX6Ap96lRp7inBlSoFk6NsFXlzFYbqUdhkcjSmFngBu2piMmM5g=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

View file

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly xsi:schemaLocation="urn:schemas-microsoft-com:asm.v1 assembly.adaptive.xsd" manifestVersion="1.0" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns="urn:schemas-microsoft-com:asm.v2" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xrml="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:co.v1="urn:schemas-microsoft-com:clickonce.v1" xmlns:co.v2="urn:schemas-microsoft-com:clickonce.v2">
<assemblyIdentity name="MPbinary.application" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" />
<description asmv2:publisher="MPbinary" asmv2:product="MPbinary" xmlns="urn:schemas-microsoft-com:asm.v1" />
<deployment install="true" mapFileExtensions="true" />
<compatibleFrameworks xmlns="urn:schemas-microsoft-com:clickonce.v2">
<framework targetVersion="4.5.1" profile="Full" supportedRuntime="4.0.30319" />
</compatibleFrameworks>
<dependency>
<dependentAssembly dependencyType="install" codebase="Application Files\MPbinary_1_0_0_10\MPbinary.exe.manifest" size="7194">
<assemblyIdentity name="MPbinary.exe" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" type="win32" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" />
<dsig:DigestValue>waVOlvqW5dOh4L+yqh+/vn6+jfAEMx2DxLCeov+iKOU=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
<publisherIdentity name="CN=RTDOMAIN\alfa.chou" issuerKeyHash="723c643dc0aa0c81fcefda01addef28025b12ef2" /><Signature Id="StrongNameSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>jUakwwkIm7aYjPBUngK3a4FcGajJIegDThBBwDvd8vQ=</DigestValue></Reference></SignedInfo><SignatureValue>l71/9JeAHh9mOJbghqHfW89Tx6DOTG8BRhi8vumFJTVFCiYWYcNHMVNRt7r+VRlqRj9bjQjNsT9A/Bef0mpS+sI2pdxfpyE1DvCFXKsoqQF5jq4mGFCRGUBbp5/7FifObaZqD0ncmhXGnhCfC5CpgtE1J6uDjMrXw3rKVefr+fk=</SignatureValue><KeyInfo Id="StrongNameKeyInfo"><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><msrel:RelData xmlns:msrel="http://schemas.microsoft.com/windows/rel/2005/reldata"><r:license xmlns:r="urn:mpeg:mpeg21:2003:01-REL-R-NS" xmlns:as="http://schemas.microsoft.com/windows/pki/2005/Authenticode"><r:grant><as:ManifestInformation Hash="f4f2dd3bc041104e03e821c9a8195c816bb7029e54f08c98b69b0809c3a4468d" Description="" Url=""><as:assemblyIdentity name="MPbinary.application" version="1.0.0.10" publicKeyToken="f8183547a2f76851" language="neutral" processorArchitecture="msil" xmlns="urn:schemas-microsoft-com:asm.v1" /></as:ManifestInformation><as:SignedBy /><as:AuthenticodePublisher><as:X509SubjectName>CN=RTDOMAIN\alfa.chou</as:X509SubjectName></as:AuthenticodePublisher></r:grant><r:issuer><Signature Id="AuthenticodeSignature" xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /><Reference URI=""><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /><DigestValue>xBC3WO8FE91OVXefmMEtQGpyp4bzigoUqg31gOtymoc=</DigestValue></Reference></SignedInfo><SignatureValue>Vgk6ZbDOu5LvIC/TPjPDO2nNbsxKKMc0iXKv/lED55QGFP2zJHBik/VyonE8fhKqQZNKM3kj5kl46mLlMcYwBS5BK6rSI8VIhsAZs/WnanNXTVJcx1DNJN059kyEOrjn9hAwwnd9K09rDQvszvazZTWxyWG+fbX7xBBfQl+OLYc=</SignatureValue><KeyInfo><KeyValue><RSAKeyValue><Modulus>qRdOHEBYJQF6rCOWH9len6nJSNZIj/7y83BiWV+V3SAMW98qOZ5KgWZ0my36zhpHS/uDZSVQYzaAUWWGwCUIXDZUPIi5/YOSKHluTDmJ+mMWnPs3AFW4Wiu/5Y6A2g+S6tvM9/fc3t2McLb6+GH/gggoV9XtnybnzYPQR3QTOlE=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue></KeyValue><X509Data><X509Certificate>MIIB4TCCAUqgAwIBAgIQIuAyKGyKbLJA2qiu9kaxoTANBgkqhkiG9w0BAQsFADAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwHhcNMTUwMzA1MDgyNjMxWhcNMTYwMzA0MTQyNjMxWjAvMS0wKwYDVQQDHiQAUgBUAEQATwBNAEEASQBOAFwAYQBsAGYAYQAuAGMAaABvAHUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKkXThxAWCUBeqwjlh/ZXp+pyUjWSI/+8vNwYllfld0gDFvfKjmeSoFmdJst+s4aR0v7g2UlUGM2gFFlhsAlCFw2VDyIuf2Dkih5bkw5ifpjFpz7NwBVuForv+WOgNoPkurbzPf33N7djHC2+vhh/4IIKFfV7Z8m582D0Ed0EzpRAgMBAAEwDQYJKoZIhvcNAQELBQADgYEAJwH5AlyO+H8K1642SYotp6zplPkrYBZcr4yFGPe7l6ETNObTN1a6+p2agjmTfEcTMiscSb/SeZmnfjlNi/ev87dURIDODEG714LNcWZByJ/ERibb9UgTn2dOFX6Ap96lRp7inBlSoFk6NsFXlzFYbqUdhkcjSmFngBu2piMmM5g=</X509Certificate></X509Data></KeyInfo></Signature></r:issuer></r:license></msrel:RelData></KeyInfo></Signature></asmv1:assembly>

Binary file not shown.

Binary file not shown.

View file

@ -1,3 +0,0 @@
@echo off
call paths.bat
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL00ConsoleROM.JLinkScript

View file

@ -1,3 +0,0 @@
@echo off
call paths.bat
JLink.exe -Device CORTEX-M3 -If SWD -Speed 10000 flasher/RTL_FFlash.JLinkScript

View file

@ -1,3 +0,0 @@
@echo off
call paths.bat
JLink.exe -Device CORTEX-M3 -If SWD -Speed 1000 flasher\RTL_Reset.JLinkScript

View file

@ -1,3 +0,0 @@
@echo off
call paths.bat
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL_RunRAM.JLinkScript

View file

@ -1,72 +1,35 @@
# RTL00(RTL8710AF) Test MP3 SDK V3.5.2 GCC
---
# Open Ameba
Open Ameba RTL8710 SDK.
MP3 stereo player V0004<br>
Module RTL00(RTL8710AF), [F11AMIM13](http://fn-link.en.made-in-china.com/product/sSinPtAKZBke/China-RTL8711AM-Iot-Module.html) (RTL8711AM), [F11AFIM13-B1](http://fn-link.en.made-in-china.com/product/PSHnuEtJVXWh/China-RTL8711AF-IoT-Module-IEEE-802-11-B-G-N-2-4GHz-1T1R-WiFi-NFC-Module.html) (RTL8711AF)<br>
[PADI](https://www.pine64.org/?page_id=946) (RTL8710AF), [F10AFIM13-B1](http://en.ofeixin.com/products_detail/productId=65.html) (RTL8710AF), [TinyCon2005-A-BE](http://www.ralinwi.com/product.aspx?info_lb=54&flag=1) (RTL8711AF),<br>
[WFM-400](http://www.rayson.com/rayson/en/?pros=product&pros=product&b_cat_id=A03&m_cat_id=A0304&s_cat_id=A030401&prod_id=P0113&level=3) (RTL8711AM), [WFM-410](http://www.rayson.com/rayson/en/?pros=product&pros=product&b_cat_id=A03&m_cat_id=A0304&s_cat_id=A030401&prod_id=P0114&level=3) (RTL8711AF), [WFM-250](http://www.rayson.com/rayson/en/?pros=product&pros=product&b_cat_id=A03&m_cat_id=A0304&s_cat_id=A030401&prod_id=P0112&level=3) (RTL8195AM),<br>
[AW-CU238, AW-CU239](https://www.buyiot.net/pd-1) (RTL8711AM), [AW-CU245, AW-CU245, AW-CU245](https://www.buyiot.net/home-1) (RTL8711AM/RTL8195AM/RTL8711AF),<br>
[WG6611](http://www.jorjin.com/product.php?id=98) (RTL8711AM), [RAK473](http://www.rakwireless.com/en/download/RAK473/Firmware%20Upgrade) (RTL8711AM), [RAK474, RAK476](http://www.rakwireless.com/en/download/RAK473/Firmware%20Upgrade) (RTL8711AF), ...<br>
## Motivation
Trying to make some order in the mess around this SoC build system.
Most of the work is done by [@pvxx](https://github.com/pvvx) in his [RTL00MP3](https://github.com/pvvx/RTL00MP3) project.
RTL00 module (RTL8710AF)<br>
![SCH](https://github.com/pvvx/RTL00MP3/blob/master/RTL00_MP3_SCH.gif)
Только Тест!<br>
PWM Out GC_2 and PE_2 (2 канала по 96Bit на один исходный sample 48 кГц)<br>
Console command (RX/TX GB1/GB0 38400 baud):<br>
## Getting Started
```
CONSOLE COMMAND SET:<br>
==============================
ATPN=<SSID>[,<PASSPHRASE>[,WEPKEY]]: WIFI Connect to AP
ATWS=<URL,PORT>: MP3 Connect to URL
ATWS=<c>[lose]: Close MP3
ATWS=<r>[ead]: Read MP3 URL
ATWS=<s>[ave]: Save MP3 URL
ATWS=<?>: URL Info
ATWD: WIFI Disconnect
ATST: Memory info
ATLW: Lwip Info
ATSB=<ADDRES(hex)>[,COUNT(dec)]: Dump byte register
ATSD=<ADDRES(hex)>[,COUNT(dec)]: Dump dword register
ATSW=<ADDRES(hex)>,<DATA(hex)>: Set register
ATDS=[TIME(ms)]: Deep sleep
ATON: Open connections
ATOF: Close connections
?: This Help
==============================
git clone https://github.com/drasko/open-ameba
cd open-ameba
make
```
Use verbose `make` for debugging:
```
make V=1
```
User preferences are set in `userset.mk`
Project preferences are set in `project.mk`
## Author
Crafted by [@drasko](https://github.com/drasko)
## License
My work has been licensed under Apache-2.0. Rest of the licenses have to be analyzed (depend on used components).
По умолчанию, в качестве JTAG используется J-Link STLink V2.<br>
Используемое ПО<br>
JTAG/SWD Drivers:<br>
* [ST-Link](http://www.st.com/web/catalog/tools/FM146/CL1984/SC724/SS1677/PF251168?sc=internet/evalboard/product/251168.jsp)<br>
* [SEEGER J-Link Software and Documentation Pack](https://www.segger.com/downloads/jlink)<br>
* [Converting ST-LINK on-board into a J-Link](https://www.segger.com/jlink-st-link.html)<br>
System:<br>
* [MinGW64](https://sourceforge.net/projects/mingw-w64/)<br>
* [Minimalist GNU for Windows](http://www.mingw.org/wiki/msys)<br>
* [GNU ARM Embedded Toolchain](https://launchpad.net/gcc-arm-embedded/+download)<br>
* [OpenOCD: Open On-Chip Debugger](https://sourceforge.net/projects/gnuarmeclipse/files/OpenOCD/)<br>
Eclipse:<br>
* [Eclipse IDE for C/C++ Developers](https://eclipse.org/downloads/packages/eclipse-ide-cc-developers/lunasr1a)<br>
* [GNU ARM Eclipse Plug-ins](http://gnuarmeclipse.github.io/downloads/)<br>
* [GNU ARM Eclipse OpenOCD](http://gnuarmeclipse.github.io/openocd/install/)<br>
Изначальные версии для дополнений исходников и SDK:<br>
от [PADI IoT Stamp Resources PINE64](https://www.pine64.org/?page_id=946):<br>
* [sdk-ameba-rtl8710af-v3.5a_without_NDA_GCC_V1.0.0.zip](https://yadi.sk/d/dfIwqNkZv6m63)<br>
от [Realtek IoT/Arduino Solution](http://www.amebaiot.com/en/):<br>
* [sdk-ameba1-v3.4b3_without_NDA.zip](https://yadi.sk/d/Yt7iS1KBvUAV9)<br>
из GitHub:<br>
* [Ameba8195/Arduino: This is Arduino SDK for Ameba Arduino board](https://github.com/Ameba8195/Arduino)<br>
+ [rtl_ameba_gcc_sample](https://github.com/eggman/rtl_ameba_gcc_sample)<br>
+ [rebane rtl8710_openocd](https://bitbucket.org/rebane/rtl8710_openocd/src)<br>
Доп.информация: [esp8266.ru/forum](https://esp8266.ru/forum/threads/rtl00-mp3-player.1697/)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

View file

@ -4,9 +4,9 @@ include userset.mk
include $(SDK_PATH)paths.mk
#---------------------------
#FLASHER = stlink-v2-1
#FLASHER = stlink-v2
FLASHER ?= Jlink
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
FLASHER = stlink-v2
#FLASHER ?= Jlink
#JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
#---------------------------
# Default
#---------------------------
@ -43,6 +43,15 @@ OPENOCD = $(OPENOCD_PATH)openocd
JLINK_GDB ?= JLinkGDBServer.exe
JLINK_EXE ?= JLink.exe
# For verbose make
ifeq ("$(V)","1")
Q :=
vecho := @true
else
Q := @
vecho := @echo
endif
ifeq ($(FLASHER), Jlink)
# Jlink FLASHER_SPEED ..4000 kHz
FLASHER_SPEED = 3500
@ -262,8 +271,8 @@ ifdef COMPILED_BOOT_BIN
$(OBJCOPY) --change-section-address .boot.head=0x10000ba8 -j .boot.head -j .bootloader -Obinary $(ELFFILE) $(RAM1P_IMAGE)
else
# $(OBJCOPY) -j .rom_ram -Obinary $(ELFFILE) $(RAM_IMAGE)
$(OBJCOPY) -j .ram.start.table -j .ram_image1.text -Obinary $(ELFFILE) $(RAM1R_IMAGE)
$(PICK) 0x$(RAM1_START_ADDR) 0x$(RAM1_END_ADDR) $(RAM1R_IMAGE) $(RAM1P_IMAGE) head+reset_offset 0x0B000
$(Q) $(OBJCOPY) -j .ram.start.table -j .ram_image1.text -Obinary $(ELFFILE) $(RAM1R_IMAGE)
$(Q) $(PICK) 0x$(RAM1_START_ADDR) 0x$(RAM1_END_ADDR) $(RAM1R_IMAGE) $(RAM1P_IMAGE) head+reset_offset 0x0B000
endif
else
$(error "BOOT-image size = 0")
@ -290,14 +299,14 @@ $(RAM2NS_IMAGE):$(ELFFILE) $(NMAPFILE)
@echo "==========================================================="
@echo "Create image2ns ($(RAM2NS_IMAGE))"
# @echo "==========================================================="
mkdir -p $(BIN_DIR)
rm -f $(RAM2_IMAGE) $(RAM2NS_IMAGE)
$(eval RAM2_START_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
$(eval RAM2_END_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _end__ | awk '{print $$1}'))
$(Q) mkdir -p $(BIN_DIR)
$(Q) rm -f $(RAM2_IMAGE) $(RAM2NS_IMAGE)
$(Q) $(eval RAM2_START_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
$(Q) $(eval RAM2_END_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _end__ | awk '{print $$1}'))
$(if $(RAM2_START_ADDR),,$(error "Not found __ram_image2_text_start__!"))
$(if $(RAM2_END_ADDR),,$(error "Not found __ram_image2_text_end__!"))
$(OBJCOPY) -j .image2.start.table -j .ram_image2.text -j .ram_image2.rodata -j .ram.data -Obinary $(ELFFILE) $(RAM2_IMAGE)
$(PICK) 0x$(RAM2_START_ADDR) 0x$(RAM2_END_ADDR) $(RAM2_IMAGE) $(RAM2NS_IMAGE) body+reset_offset
$(Q) $(OBJCOPY) -j .image2.start.table -j .ram_image2.text -j .ram_image2.rodata -j .ram.data -Obinary $(ELFFILE) $(RAM2_IMAGE)
$(Q) $(PICK) 0x$(RAM2_START_ADDR) 0x$(RAM2_END_ADDR) $(RAM2_IMAGE) $(RAM2NS_IMAGE) body+reset_offset
$(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
@echo "==========================================================="
@ -311,8 +320,8 @@ $(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
$(if $(RAM3_END_ADDR),,$(error "Not found __sdram_data_end__!"))
#ifneq ($(RAM3_START_ADDR),$(RAM3_END_ADDR))
@echo $(RAM3_START_ADDR) $(RAM3_END_ADDR)
@$(OBJCOPY) -j .image3 -j .sdr_text -j .sdr_rodata -j .sdr_data -Obinary $(ELFFILE) $(RAM3_IMAGE)
$(PICK) 0x$(RAM3_START_ADDR) 0x$(RAM3_END_ADDR) $(RAM3_IMAGE) $(RAM3P_IMAGE) body+reset_offset
$(Q) $(OBJCOPY) -j .image3 -j .sdr_text -j .sdr_rodata -j .sdr_data -Obinary $(ELFFILE) $(RAM3_IMAGE)
$(Q) $(PICK) 0x$(RAM3_START_ADDR) 0x$(RAM3_END_ADDR) $(RAM3_IMAGE) $(RAM3P_IMAGE) body+reset_offset
#else
# @rm -f $(RAM3_IMAGE) $(RAM3P_IMAGE)
# @echo "SDRAM not used (size = 0)"

View file

@ -1,6 +0,0 @@
h
loadbin flasher/RTL00Console_ROM.bin 0x10000ba8
r
w4 0x40000210,0x4011117
g
q

View file

@ -1,119 +0,0 @@
AppVersion = 47812
[GENERAL]
ConnectMode = 0
CurrentFile = "fullflash.bin"
DataFileSAddr = 0x98000000
GUIMode = 0
HostName = ""
TargetIF = 1
USBPort = 0
USBSerialNo = 0x00000000
[JTAG]
IRLen = 0
MultipleTargets = 0
NumDevices = 0
Speed0 = 400
Speed1 = 12000
TAP_Number = 0
UseAdaptive0 = 0
UseAdaptive1 = 0
UseMaxSpeed0 = 0
UseMaxSpeed1 = 0
[CPU]
CheckCoreID = 0
ChipName = "RTL8710AF"
ClockSpeed = 0x00000000
Core = 0x030000FF
CoreID = 0x00000000
CoreIDMask = 0x0F000FFF
DeviceFamily = 0x00000003
EndianMode = 0
HasInternalFlash = 0
InitStep0_Action = "Reset"
InitStep0_Comment = "Reset and Halt"
InitStep0_Value0 = 0x00000000
InitStep0_Value1 = 0x00000005
InitStep1_Action = "Go"
InitStep1_Comment = ""
InitStep1_Value0 = 0x00000000
InitStep1_Value1 = 0x00000000
InitStep2_Action = "Reset"
InitStep2_Comment = "Reset and halt target"
InitStep2_Value0 = 0x00000000
InitStep2_Value1 = 0x00000005
InitStep3_Action = "Write Register"
InitStep3_Comment = "Only T=1"
InitStep3_Value0 = 0x00000010
InitStep3_Value1 = 0x01000000
InitStep4_Action = "Write 32bit"
InitStep4_Comment = "Setup SystemCoreClock"
InitStep4_Value0 = 0x40000014
InitStep4_Value1 = 0x00000001
InitStep5_Action = "Delay"
InitStep5_Comment = ""
InitStep5_Value0 = 0x00000000
InitStep5_Value1 = 0x00000005
InitStep6_Action = "Write 32bit"
InitStep6_Comment = "Write Page Size"
InitStep6_Value0 = 0x1FFFFFF0
InitStep6_Value1 = 0x00000100
InitStep7_Action = "Write 32bit"
InitStep7_Comment = "Write Sector Size"
InitStep7_Value0 = 0x1FFFFFF4
InitStep7_Value1 = 0x00001000
InitStep8_Action = "Write 32bit"
InitStep8_Comment = "Write Block Size"
InitStep8_Value0 = 0x1FFFFFF8
InitStep8_Value1 = 0x00010000
InitStep9_Action = "Write 32bit"
InitStep9_Comment = "Write Block Count"
InitStep9_Value0 = 0x1FFFFFFC
InitStep9_Value1 = 0x00000010
NumExitSteps = 0
NumInitSteps = 10
RAMAddr = 0x10000000
RAMSize = 0x00010000
ScriptFile = ""
UseAutoSpeed = 0x00000001
UseRAM = 1
UseScriptFile = 0
[FLASH]
aSectorSel[0] =
AutoDetect = 1
BankName = ""
BankSelMode = 1
BaseAddr = 0x98000000
CheckId = 3
CustomRAMCode = "RTL8710AF.hex"
DeviceName = "Auto detected flash memory"
EndBank = 8191
NumBanks = 1
OrgNumBits = 16
OrgNumChips = 1
StartBank = 0
UseCustomRAMCode = 1
[PRODUCTION]
AutoPerformsErase = 1
AutoPerformsHardLock = 0
AutoPerformsHardUnlock = 0
AutoPerformsProgram = 1
AutoPerformsSecure = 0
AutoPerformsSoftLock = 0
AutoPerformsSoftUnlock = 1
AutoPerformsStartApp = 0
AutoPerformsUnsecure = 0
AutoPerformsVerify = 1
EnableProductionMode = 0
EnableTargetPower = 0
EraseType = 2
ProductionDelay = 0x000001F4
ProductionThreshold = 0x00000BB8
ProgramSN = 0
SerialFile = ""
SNAddr = 0x00000000
SNInc = 0x00000001
SNLen = 0x00000004
SNListFile = ""
SNValue = 0x00000001
TargetPowerDelay = 0x00000014
VerifyType = 1

View file

@ -1,17 +0,0 @@
h
r
w4 0x40000230,0x0000D3C4
w4 0x40000210,0x00200113
w4 0x400002C0,0x00110001
w4 0x40006008,0
w4 0x4000602C,0
w4 0x40006010,1
w4 0x40006014,2
w4 0x40006018,0
w4 0x4000601C,0
w4 0x4000604C,0
savebin fullflash.bin 0x98000000 0x100000
w4 0x40000210,0x211157
r
g
q

View file

@ -1,9 +0,0 @@
r0
trst0
r1
trst1
h
r
w4 0x40000210,0x0211157
g
q

View file

@ -1,12 +0,0 @@
r0
trst0
r1
trst1
h
r
loadbin build/bin/ram_1.r.bin 0x10000bc8
loadbin build/bin/ram_2.bin 0x10006000
r
w4 0x40000210,0x20111113
g
q

View file

@ -1,9 +0,0 @@
define call1
SetFirwareSize build/bin/ram_all.bin
end
define call2
FlasherWrite build/bin/ram_all.bin 0 $Image1Size
end
define call3
FlasherWrite build/bin/ram_all.bin $Image2Addr $Image2Size
end

View file

@ -1,198 +0,0 @@
####################################
# J-LINK GDB SERVER initialization #
####################################
define InitJlink
printf "Jlink Init:\n"
set verbose off
set complaints 0
set confirm off
set exec-done-display off
show exec-done-display
set trace-commands off
#set debug aix-thread off
#set debug dwarf2-die 0
set debug displaced off
set debug expression 0
set debug frame 0
set debug infrun 0
set debug observer 0
set debug overload 0
#set debugvarobj 0
set pagination off
set print address off
set print symbol-filename off
set print symbol off
set print pretty off
set print object off
#set debug notification off
set debug parser off
set debug remote 0
target remote localhost:2331
set remotetimeout 10000
monitor device Cortex-M3
monitor endian little
monitor reset
# Set max speed
monitor speed 4000
set mem inaccessible-by-default off
# Setup GDB FOR FASTER DOWNLOADS
set remote memory-write-packet-size 8192
set remote memory-write-packet-size fixed
end
#############
# Boot_Flash
define SetBootFlash
printf "SetBoot = Flash:\n"
monitor long 0x40000210 = 0x211157
end
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
define SetBootCall0
printf "SetBoot = Call0:\n"
monitor long 0x40000210 = 0x80011117
end
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
define SetBootCall1
printf "SetBoot = Call1:\n"
monitor long 0x40000210 = 0x20011117
end
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
define SetBootCall2
printf "SetBoot = Call2:\n"
monitor long 0x40000210 = 0x10011117
end
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
define SetBootCall3
printf "SetBoot = Call3:\n"
monitor long 0x40000210 = 0x8011117
end
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
define SetBootCall4
printf "SetBoot = Call4:\n"
monitor long 0x40000210 = 0x4011117
end
# CPU CLK 166 MHz?
define SetClk166MHz
printf "SetCLK 166.66MHz:\n"
monitor long 0x40000014 = 0x00000011
end
# CPU CLK 83 MHz?
define SetClk83MHz
printf "SetCLK 83.33MHz:\n"
monitor long 0x40000014 = 0x00000021
end
###############
# System Init #
###############
define SystemInit
printf "System Init:\n"
monitor long 0x40000304 = 0x1FC00002
monitor long 0x40000250 = 0x400
monitor long 0x40000340 = 0x0
monitor long 0x40000230 = 0xdcc4
monitor long 0x40000210 = 0x11117
monitor long 0x40000210 = 0x11157
monitor long 0x400002c0 = 0x110011
monitor long 0x40000320 = 0xffffffff
end
############
# SPI Init #
############
define SPI_Init
printf "Init SPI:\n"
#enable spi flash peripheral clock
set $Temp = {int}(0x40000230)
set $Temp = ($Temp | 0x300)
set {int}(0x40000230) = $Temp
#enable spi flash peripheral
set $Temp = {int}(0x40000210)
set $Temp = ($Temp | 0x10)
set {int}(0x40000210) = $Temp
#select spi flash pinout (0 - internal), enable spi flash pins
set $Temp = {int}(0x400002C0)
set $Temp = (($Temp & 0xFFFFFFF8) | 1)
set {int}(0x400002C0) = $Temp
#disable SPI FLASH operation
monitor long 0x40006008 = 0
#disable all interrupts
monitor long 0x4000602C = 0
#use first "slave select" pin
monitor long 0x40006010 = 1
#baud rate, default value
monitor long 0x40006014 = 2
#tx fifo threshold
monitor long 0x40006018 = 0
#rx fifo threshold
monitor long 0x4000601C = 0
#disable DMA
monitor long 0x4000604C = 0
set $SPI_FLASH_BASE = 0x98000000
end
###################
# SetFirwareSize #
###################
define SetFirwareSize
set $rambuffer = 0x10000300
printf "Get ImagesSize:\n"
restore $arg0 binary $rambuffer 0 0x20
set $Image1Size = {int}($rambuffer+0x10) + 32
set $Image1LoadAddr = {int}($rambuffer+0x14)
set $Image2Addr = {short}($rambuffer+0x18) * 1024
if $Image1Size != 0 && $Image1Size < 0x1000000
if $Image2Addr == 0
set $Image2Addr = $Image1Size
end
printf "Image1Size = %d\n", $Image1Size
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
printf "Image2FlashAddr = 0x%08x\n", $Image2Addr
set $parms1 = $rambuffer - $Image2Addr
set $parms3 = $Image2Addr + 0x08
restore $arg0 binary $parms1 $Image2Addr $parms3
set $Image2Size = {int}($rambuffer)
set $Image2LoadAddr = {int}($rambuffer+0x4)
if $Image2Size != 0xFFFFFFFF && $Image2Size != 0
set $Image2Size = $Image2Size + 16
printf "Image2Size = %d\n", $Image2Size
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
set $FirmwareSize = $Image2Addr + $Image2Size
printf "FirmwareSize = %d\n", $FirmwareSize
else
set $Image2Size = 0
printf "Image2 - None\n"
set $FirmwareSize = $Image1Size
printf "FirmwareSize = %d\n", $FirmwareSize
end
else
set $Image1Size = 0
set $Image2Size = 0
set $Image2Addr = 0
set $FirmwareSize = 0
printf "Image not format Firmware!\n"
end
end
#####################
# Flash Images Info #
#####################
define FlashImagesInfo
printf "Flash Info:\n"
set $Image1Size = {int}($SPI_FLASH_BASE + 0x10) + 32
set $Image1LoadAddr = {int}($SPI_FLASH_BASE + 0x14)
if $Image1LoadAddr == 0xFFFFFFFF
printf "Image1 - None\n"
else
set $Image2FlashAddr = {short}($SPI_FLASH_BASE + 0x18) * 1024
if $Image2FlashAddr == 0
$Image2FlashAddr = $Image1Size
end
set $Image2Size = {int}($Image2FlashAddr + $SPI_FLASH_BASE)
set $Image2LoadAddr = {int}($Image2FlashAddr + $SPI_FLASH_BASE + 0x4)
printf "Image1Size = %d\n", $Image1Size
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
printf "Image2FlashAddr = 0x%08x\n", $Image2FlashAddr
if $Image2Size != 0xFFFFFFFF
printf "Image2Size = %d\n", $Image2Size
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
else
printf "Image2 - None\n"
end
end
end

View file

@ -1,30 +0,0 @@
#
# J-LINK GDB SERVER initialization
#
target remote localhost:2331
set remotetimeout 10000
monitor device Cortex-M3
monitor endian little
monitor reset
# Set max speed
monitor speed 4000
set mem inaccessible-by-default off
# Setup GDB FOR FASTER DOWNLOADS
#set remote memory-write-packet-size 4096
#set remote memory-write-packet-size fixed
# Boot Flash
monitor long 0x40000210 = 0x211157
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
#monitor long 0x40000210 = 0x80011117
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
#monitor long 0x40000210 = 0x20011117
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
#monitor long 0x40000210 = 0x10011117
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
#monitor long 0x40000210 = 0x8011117
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
monitor long 0x40000210 = 0x4011117
# CPU CLK 166 MHz?
# monitor long 0x40000014 = 0x00000011
# CPU CLK 83 MHz?
#monitor long 0x40000014 = 0x00000021

View file

@ -1,374 +0,0 @@
####################################
# J-LINK GDB SERVER initialization #
####################################
define InitJlink
printf "Jlink Init:\n"
set verbose off
set complaints 0
set confirm off
set exec-done-display off
show exec-done-display
set trace-commands off
#set debug aix-thread off
#set debug dwarf2-die 0
set debug displaced off
set debug expression 0
set debug frame 0
set debug infrun 0
set debug observer 0
set debug overload 0
#set debugvarobj 0
set pagination off
set print address off
set print symbol-filename off
set print symbol off
set print pretty off
set print object off
#set debug notification off
set debug parser off
set debug remote 0
target remote localhost:2331
set remotetimeout 10000
monitor device Cortex-M3
monitor endian little
monitor reset
# Set max speed
monitor speed 4000
set mem inaccessible-by-default off
# Setup GDB FOR FASTER DOWNLOADS
set remote memory-write-packet-size 8192
set remote memory-write-packet-size fixed
end
#############
# Boot_Flash
define SetBootFlash
printf "SetBoot = Flash:\n"
monitor long 0x40000210 = 0x211157
end
# Boot RAM start_addr0() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x80000000 )
define SetBootCall0
printf "SetBoot = Call0:\n"
monitor long 0x40000210 = 0x80011117
end
# Boot RAM start_addr1() Run if ( v40000210 & 0x20000000 )
define SetBootCall1
printf "SetBoot = Call1:\n"
monitor long 0x40000210 = 0x20011117
end
# Boot RAM start_addr2() Run if ( v40000210 & 0x10000000 )
define SetBootCall2
printf "SetBoot = Call2:\n"
monitor long 0x40000210 = 0x10011117
end
# Boot RAM start_addr3() Run if ( v400001F4 & 0x8000000 ) && ( v40000210 & 0x8000000 )
define SetBootCall3
printf "SetBoot = Call3:\n"
monitor long 0x40000210 = 0x8011117
end
# Boot RAM start_addr4() Init console, Run if ( v40000210 & 0x4000000 )
define SetBootCall4
printf "SetBoot = Call4:\n"
monitor long 0x40000210 = 0x4011117
end
# CPU CLK 166 MHz?
define SetClk166MHz
printf "SetCLK 166.66MHz:\n"
monitor long 0x40000014 = 0x00000011
end
# CPU CLK 83 MHz?
define SetClk83MHz
printf "SetCLK 83.33MHz:\n"
monitor long 0x40000014 = 0x00000021
end
###############
# System Init #
###############
define SystemInit
printf "System Init:\n"
monitor long 0x40000304 = 0x1FC00002
monitor long 0x40000250 = 0x400
monitor long 0x40000340 = 0x0
monitor long 0x40000230 = 0xdcc4
monitor long 0x40000210 = 0x11117
monitor long 0x40000210 = 0x11157
monitor long 0x400002c0 = 0x110011
monitor long 0x40000320 = 0xffffffff
end
############
# SPI Init #
############
define SPI_Init
printf "Init SPI:\n"
#enable spi flash peripheral clock
set $Temp = {int}(0x40000230)
set $Temp = ($Temp | 0x300)
set {int}(0x40000230) = $Temp
#enable spi flash peripheral
set $Temp = {int}(0x40000210)
set $Temp = ($Temp | 0x10)
set {int}(0x40000210) = $Temp
#select spi flash pinout (0 - internal), enable spi flash pins
set $Temp = {int}(0x400002C0)
set $Temp = (($Temp & 0xFFFFFFF8) | 1)
set {int}(0x400002C0) = $Temp
#disable SPI FLASH operation
monitor long 0x40006008 = 0
#disable all interrupts
monitor long 0x4000602C = 0
#use first "slave select" pin
monitor long 0x40006010 = 1
#baud rate, default value
monitor long 0x40006014 = 2
#tx fifo threshold
monitor long 0x40006018 = 0
#rx fifo threshold
monitor long 0x4000601C = 0
#disable DMA
monitor long 0x4000604C = 0
set $SPI_FLASH_BASE = 0x98000000
end
###################
# GetOtaSize #
###################
define GetOtaSize
set $rambuffer = 0x10000300
printf "Get ImagesSize:\n"
set $ImageOtaSize = 0
restore $arg0 binary $rambuffer 0 4
set $ImageAddSize = {int}($rambuffer+0)
if $ImageAddSize != 0
printf "Image2Size = %d\n", $ImageAddSize
set $ImageOtaSize = $ImageOtaSize + $ImageAddSize + 16
set $parms1 = $rambuffer - $ImageOtaSize
set $parms3 = $ImageOtaSize + 4
restore $arg0 binary $parms1 $ImageOtaSize $parms3
set $ImageAddSize = {int}($rambuffer+0)
if $ImageAddSize < 0x200000
printf "ImageSdramSize = %d\n", $ImageAddSize
set $ImageOtaSize = $ImageOtaSize + $ImageAddSize + 20
end
else
printf "Image2Size = %d !\n", $ImageOtaSize
end
end
#####################
# Flash Images Info #
#####################
define FlashImagesInfo
printf "Flash Info:\n"
set $Image1Size = {int}($SPI_FLASH_BASE + 0x10) + 32
set $Image1LoadAddr = {int}($SPI_FLASH_BASE + 0x14)
if $Image1LoadAddr == 0xFFFFFFFF
printf "Image1 - None\n"
else
set $Image2FlashAddr = {short}($SPI_FLASH_BASE + 0x18) * 1024
if $Image2FlashAddr == 0
$Image2FlashAddr = $Image1Size
end
set $Image2Size = {int}($Image2FlashAddr + $SPI_FLASH_BASE)
set $Image2LoadAddr = {int}($Image2FlashAddr + $SPI_FLASH_BASE + 0x4)
printf "Image1Size = %d\n", $Image1Size
printf "Image1LoadAddr = 0x%08x\n", $Image1LoadAddr
printf "Image2FlashAddr = 0x%08x\n", $Image2FlashAddr
if $Image2Size != 0xFFFFFFFF
printf "Image2Size = %d\n", $Image2Size
printf "Image2LoadAddr = 0x%08x\n", $Image2LoadAddr
else
printf "Image2 - None\n"
end
end
set $ImageOtaAddr = {int}($SPI_FLASH_BASE + 0x9000)
if $ImageOtaAddr != 0x80000
printf "ImageOtaAddr = 0x%08x - Invalid!\n", $ImageOtaAddr
else
printf "ImageOtaAddr = 0x%08x\n", $ImageOtaAddr
end
end
###############
# FlasherInit #
###############
define FlasherInit
set $rtl8710_flasher_capacity = 0
set $rtl8710_flasher_auto_erase = 1
set $rtl8710_flasher_auto_verify = 1
set $rtl8710_flasher_firmware_ptr = 0x10001000
set $rtl8710_flasher_buffer = 0x10008000
set $rtl8710_flasher_buffer_size = 421888
set $rtl8710_flasher_sector_size = 4096
set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF
end
###############
# FlasherWait #
###############
define FlasherWait
set $fresult = {int}($rtl8710_flasher_buffer)
while ($fresult != 0)
set $fresult = {int}($rtl8710_flasher_buffer)
end
end
###############
# FlasherLoad #
###############
define FlasherLoad
if $rtl8710_flasher_capacity == 0
printf "initializing RTL8710 flasher\n"
restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968
monitor reset
set $pc = $rtl8710_flasher_firmware_ptr
set $sp = 0x1ffffffc
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
#continue
monitor go
FlasherWait
set $id = {int}($rtl8710_flasher_buffer + 0x0C)
set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff)
if ($id == 0x1420c2)
printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
else
printf "Flash ID = 0x%08x : (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
end
printf "RTL8710 flasher initialized\n"
else
printf "reinitializing RTL8710 flasher\n"
end
end
##################
# FlasherRdBlock #
##################
define FlasherRdBlock
#printf "FlashRdBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 3
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
error "read error, offset 0x%08x", $arg0
end
end
##################
# FlasherWrBlock #
##################
define FlasherWrBlock
#printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 4
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
error "write error, offset 0x%08x", $arg0
end
end
##################
# FlasherVrBlock #
##################
define FlasherVrBlock
#printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 5
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
set $status = {int}($rtl8710_flasher_buffer + 0x0C)
set $status = {int}($status + $arg0)
error "verify error, offset 0x%08x", $status
end
end
#################
# FlashSecErase #
#################
define FlashSecErase
#printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0
set {int}($rtl8710_flasher_buffer + 0x04) = 2
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
end
################
# FlasherWrite #
################
define FlasherWrite
set $sector = 0
set $offset = 0
set $size = $arg2
while $offset < $size
set $len = $size - $offset
if $len > $rtl8710_flasher_buffer_size
set $len = $rtl8710_flasher_buffer_size
end
set $flash_offset = $arg1 + $offset
printf "write offset 0x%08x\n", $flash_offset
set $parms1 = $rtl8710_flasher_buffer + 0x20 - $offset
set $parms2 = $offset
set $parms3 = $offset + $len
restore $arg0 binary $parms1 $parms2 $parms3
if $rtl8710_flasher_auto_erase != 0
set $count_i = $flash_offset
while $count_i < ($flash_offset + $len)
set $sector = $count_i/$rtl8710_flasher_sector_size
if $rtl8710_flasher_auto_erase_sector != $sector
set $parms1 = $sector * $rtl8710_flasher_sector_size
printf "erase sector %d at 0x%08x\n", $sector, $parms1
FlashSecErase $parms1
set $rtl8710_flasher_auto_erase_sector = $sector
end
set $count_i = $count_i + 1
end
end
FlasherWrBlock $flash_offset $len
printf "write %d bytes at 0x%08x\n", $len, $flash_offset
if $rtl8710_flasher_auto_verify != 0
printf "verify offset 0x%08x len %d\n", $flash_offset, $len
FlasherVrBlock $flash_offset $len
end
set $offset = $offset + $rtl8710_flasher_buffer_size
end
end
#########################################
InitJlink
SystemInit
SetClk166MHz
SPI_Init
GetOtaSize build/bin/ota.bin
if $ImageOtaSize != 0
FlasherInit
FlasherLoad flasher/rtl8710_flasher.bin
set $FixOtaAddr = 0x80000
set $pbuffer = $rtl8710_flasher_buffer + 0x20
FlasherRdBlock 0x9000 0x1000
set $ImageOtaAddr = {int}($pbuffer)
if $ImageOtaAddr != $FixOtaAddr
printf "ImageOtaAddr = 0x%08x - Invalid!\n", $ImageOtaAddr
set {int}($pbuffer) = $FixOtaAddr
set $Temp = $ImageOtaAddr & $FixOtaAddr
if $Temp != $FixOtaAddr
printf "FlashSecErase at 0x9000\n"
FlashSecErase 0x9000
printf "Write offset 0x9000 4096 bytes\n"
FlasherWrBlock 0x9000 0x1000
else
printf "Write offset 0x9000 4 bytes\n"
FlasherWrBlock 0x9000 0x0004
end
end
FlasherWrite build/bin/ota.bin $FixOtaAddr $ImageOtaSize
restore build/bin/ota.bin binary $pbuffer 0 0x1000
set {int}($pbuffer + 0x08) = 0x35393138
set {int}($pbuffer + 0x0C) = 0x31313738
FlasherWrBlock $FixOtaAddr 0x10
FlashImagesInfo
end
monitor reset
SetBootFlash
monitor go
quit

View file

@ -1,16 +0,0 @@
# GDB Jlink read fullflash
# Init
source -v flasher/gdb_flasher.jlink
InitJlink
SystemInit
SPI_Init
#FlashInfo
# Read FullFlash
printf "Read FullFlash:\n"
set $dumpstartaddr = $SPI_FLASH_BASE
set $dumpendaddr = $SPI_FLASH_BASE + 0x100000
printf "Start addr of dumping = 0x%08x\n", $dumpstartaddr
printf "End addr of dumping = 0x%08x\n", $dumpendaddr
dump binary memory ./build/bin/fullflash.bin $dumpstartaddr $dumpendaddr
printf "FullFlash saved in ./build/bin/fullflash.bin - OK.\n"
quit

View file

@ -1,11 +0,0 @@
#
# J-LINK GDB SERVER initialization
#
source -v flasher/gdb_flasher.jlink
InitJlink
load build/obj/build.axf
SetBootCall4
monitor reset
monitor go
quit

View file

@ -1,156 +0,0 @@
###############
# FlasherInit #
###############
define FlasherInit
set $rtl8710_flasher_capacity = 0
set $rtl8710_flasher_auto_erase = 1
set $rtl8710_flasher_auto_verify = 1
set $rtl8710_flasher_firmware_ptr = 0x10001000
set $rtl8710_flasher_buffer = 0x10008000
set $rtl8710_flasher_buffer_size = 421888
set $rtl8710_flasher_sector_size = 4096
set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF
end
###############
# FlasherWait #
###############
define FlasherWait
set $fresult = {int}($rtl8710_flasher_buffer)
while ($fresult != 0)
set $fresult = {int}($rtl8710_flasher_buffer)
end
end
###############
# FlasherLoad #
###############
define FlasherLoad
if $rtl8710_flasher_capacity == 0
printf "initializing RTL8710 flasher\n"
restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968
monitor reset
set $pc = $rtl8710_flasher_firmware_ptr
set $sp = 0x1ffffffc
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
#continue
monitor go
FlasherWait
set $id = {int}($rtl8710_flasher_buffer + 0x0C)
set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff)
if ($id == 0x1420c2)
printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
else
printf "Flash ID = 0x%08x : (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
end
printf "RTL8710 flasher initialized\n"
else
printf "reinitializing RTL8710 flasher\n"
end
end
##################
# FlasherWrBlock #
##################
define FlasherWrBlock
#printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 4
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
error "write error, offset 0x%08x", $arg0
end
end
##################
# FlasherVrBlock #
##################
define FlasherVrBlock
#printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 5
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
set $status = {int}($rtl8710_flasher_buffer + 0x0C)
set $status = {int}($status + $arg0)
error "verify error, offset 0x%08x", $status
end
end
#################
# FlashSecErase #
#################
define FlashSecErase
#printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0
set {int}($rtl8710_flasher_buffer + 0x04) = 2
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
end
################
# FlasherWrite #
################
define FlasherWrite
set $sector = 0
set $offset = 0
set $size = $arg2
while $offset < $size
set $len = $size - $offset
if $len > $rtl8710_flasher_buffer_size
set $len = $rtl8710_flasher_buffer_size
end
set $flash_offset = $arg1 + $offset
printf "write offset 0x%08x\n", $flash_offset
set $parms1 = $rtl8710_flasher_buffer + 0x20 - $offset
set $parms2 = $offset
set $parms3 = $offset + $len
restore $arg0 binary $parms1 $parms2 $parms3
if $rtl8710_flasher_auto_erase != 0
set $count_i = $flash_offset
while $count_i < ($flash_offset + $len)
set $sector = $count_i/$rtl8710_flasher_sector_size
if $rtl8710_flasher_auto_erase_sector != $sector
set $parms1 = $sector * $rtl8710_flasher_sector_size
printf "erase sector %d at 0x%08x\n", $sector, $parms1
FlashSecErase $parms1
set $rtl8710_flasher_auto_erase_sector = $sector
end
set $count_i = $count_i + 1
end
end
FlasherWrBlock $flash_offset $len
printf "wrote %d bytes at 0x%08x\n", $len, $flash_offset
if $rtl8710_flasher_auto_verify != 0
printf "verify offset 0x%08x len %d\n", $flash_offset, $len
FlasherVrBlock $flash_offset $len
end
set $offset = $offset + $rtl8710_flasher_buffer_size
end
end
#########################################
source -v flasher/gdb_flasher.jlink
source -v flasher/file_info.jlink
InitJlink
SystemInit
SetClk83MHz
SPI_Init
FlasherInit
FlasherLoad flasher/rtl8710_flasher.bin
call1
if $ImageSize != 0
set $ImageEnd = $ImageSize + $ImageAddr + 0x4000
if $rtl8710_flasher_capacity >= $ImageEnd
printf "Write Image size %d to Flash addr 0x%08x:\n", $ImageSize, $ImageAddr
call2
else
printf "Error: Image size is too big!\n"
end
else
printf "Error: Image size is zero!\n"
end
quit

View file

@ -1,164 +0,0 @@
###############
# FlasherInit #
###############
define FlasherInit
set $rtl8710_flasher_capacity = 0
set $rtl8710_flasher_auto_erase = 1
set $rtl8710_flasher_auto_verify = 1
set $rtl8710_flasher_firmware_ptr = 0x10001000
set $rtl8710_flasher_buffer = 0x10008000
set $rtl8710_flasher_buffer_size = 421888
set $rtl8710_flasher_sector_size = 4096
set $rtl8710_flasher_auto_erase_sector = 0xFFFFFFFF
end
###############
# FlasherWait #
###############
define FlasherWait
set $fresult = {int}($rtl8710_flasher_buffer)
while ($fresult != 0)
set $fresult = {int}($rtl8710_flasher_buffer)
end
end
###############
# FlasherLoad #
###############
define FlasherLoad
if $rtl8710_flasher_capacity == 0
printf "initializing RTL8710 flasher\n"
restore $arg0 binary $rtl8710_flasher_firmware_ptr 0 968
monitor reset
set $pc = $rtl8710_flasher_firmware_ptr
set $sp = 0x1ffffffc
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
#continue
monitor go
FlasherWait
set $id = {int}($rtl8710_flasher_buffer + 0x0C)
set $rtl8710_flasher_capacity = 1 << (($id >> 16) & 0x0ff)
if ($id == 0x1420c2)
printf "Flash ID = 0x%08x : MX25L8006E (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
else
printf "Flash ID = 0x%08x : (%d kbytes)\n", $id, $rtl8710_flasher_capacity>>10
end
printf "RTL8710 flasher initialized\n"
else
printf "reinitializing RTL8710 flasher\n"
end
end
##################
# FlasherWrBlock #
##################
define FlasherWrBlock
#printf "FlashWrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 4
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
error "write error, offset 0x%08x", $arg0
end
end
##################
# FlasherVrBlock #
##################
define FlasherVrBlock
#printf "FlashVrBlock 0x%08x, 0x%08x\n", $arg0, $arg1
set {int}($rtl8710_flasher_buffer + 0x04) = 5
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x14) = $arg1
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
set $status = {int}($rtl8710_flasher_buffer + 0x08)
if $status > 0
set $status = {int}($rtl8710_flasher_buffer + 0x0C)
set $status = {int}($status + $arg0)
error "verify error, offset 0x%08x", $status
end
end
#################
# FlashSecErase #
#################
define FlashSecErase
#printf "FlashSecErase 0x%08x, 0x%08x\n", $rtl8710_flasher_buffer, $arg0
set {int}($rtl8710_flasher_buffer + 0x04) = 2
set {int}($rtl8710_flasher_buffer + 0x08) = 0
set {int}($rtl8710_flasher_buffer + 0x10) = $arg0
set {int}($rtl8710_flasher_buffer + 0x00) = 1
FlasherWait
end
################
# FlasherWrite #
################
define FlasherWrite
set $sector = 0
set $offset = 0
set $size = $arg2
while $offset < $size
set $len = $size - $offset
if $len > $rtl8710_flasher_buffer_size
set $len = $rtl8710_flasher_buffer_size
end
set $flash_offset = $arg1 + $offset
printf "write offset 0x%08x\n", $flash_offset
set $parms1 = $rtl8710_flasher_buffer + 0x20 - $flash_offset
set $parms2 = $flash_offset
set $parms3 = $flash_offset + $len
restore $arg0 binary $parms1 $parms2 $parms3
if $rtl8710_flasher_auto_erase != 0
set $count_i = $flash_offset
while $count_i < ($flash_offset + $len)
set $sector = $count_i/$rtl8710_flasher_sector_size
if $rtl8710_flasher_auto_erase_sector != $sector
set $parms1 = $sector * $rtl8710_flasher_sector_size
printf "erase sector %d at 0x%08x\n", $sector, $parms1
FlashSecErase $parms1
set $rtl8710_flasher_auto_erase_sector = $sector
end
set $count_i = $count_i + 1
end
end
FlasherWrBlock $flash_offset $len
printf "wrote %d bytes at 0x%08x\n", $len, $flash_offset
if $rtl8710_flasher_auto_verify != 0
printf "verify offset 0x%08x len %d\n", $flash_offset, $len
FlasherVrBlock $flash_offset $len
end
set $offset = $offset + $rtl8710_flasher_buffer_size
end
end
#########################################
source -v flasher/gdb_flasher.jlink
source -v flasher/flash_file.jlink
InitJlink
SystemInit
SetClk166MHz
SPI_Init
FlashImagesInfo
#SetFirwareSize $wr_flile
call1
if $FirmwareSize == 0
error "FirmwareSize = 0!"
end
FlasherInit
FlasherLoad flasher/rtl8710_flasher.bin
if $Image1Size != 0
printf "Write Image1 size %d to Flash addr 0x00000000:\n", $Image1Size
#FlasherWrite $wr_flile 0 $Image1Size
call2
if $Image2Size != 0 && $Image2Addr >= $Image1Size
printf "Write Image2 size %d to Flash addr 0x%08x:\n", $Image2Size, $Image2Addr
#FlasherWrite $wr_flile $Image2Addr $Image2Size
call3
end
end
FlashImagesInfo
monitor reset
SetBootFlash
monitor go
quit

View file

@ -1,113 +0,0 @@
import ctypes
_jl = None
def loadJLinkARMdll(lib_str):
global _jl
_jl = ctypes.cdll.LoadLibrary(lib_str)
if _jl:
return _jl
else:
raise RuntimeError('JLink ARM dynamic library is not loaded')
def _jlink():
if _jl:
return _jl
else:
raise RuntimeError('JLink ARM dynamic library is not loaded')
def open():
r = _jlink().JLINKARM_Open()
if r != 0: raise RuntimeError('Adapter is not found')
def exec_command(cmd, a, b):
r = _jlink().JLINKARM_ExecCommand(cmd, a, b)
#if r != 0: raise RuntimeError('Unable to execute command')
def tif_select(n):
if not isinstance(n, ctypes.c_ulong):
n = ctypes.c_ulong(n)
r = _jlink().JLINKARM_TIF_Select(n)
if r != 0: raise RuntimeError('Unable to select TIF')
def set_speed(speed):
if not isinstance(speed, ctypes.c_ulong):
speed = ctypes.c_ulong(speed)
r = _jlink().JLINKARM_SetSpeed(speed)
#if r != 0: raise RuntimeError('Unable to set speed')
def reset():
r = _jlink().JLINKARM_Reset()
if r != 0: raise RuntimeError('fail')
def is_connected():
if _jlink().JLINKARM_IsConnected() != 0: return True
else: return False
def go():
r = _jlink().JLINKARM_Go()
#if r != 0: raise RuntimeError('fail')
def write_u32(r, val):
if not isinstance(val, ctypes.c_ulong):
val = ctypes.c_ulong(val)
r = _jlink().JLINKARM_WriteU32(r, val)
if r != 0: raise RuntimeError('fail')
def read_reg(r):
return _jlink().JLINKARM_ReadReg(r)
def write_reg(r, val):
if not isinstance(val, ctypes.c_ulong):
val = ctypes.c_ulong(val)
ret = _jlink().JLINKARM_WriteReg(r, val)
#if ret != 0: raise RuntimeError('fail')
def get_speed():
return _jlink().JLINKARM_GetSpeed()
def write_mem(startaddress, buf):
_jlink().JLINKARM_WriteMem.argtypes = [ctypes.c_int, ctypes.c_int, ctypes.c_char_p]
_jlink().JLINKARM_WriteMem.restype = ctypes.c_int
print "writemem addr %s size %s" % (hex(startaddress), hex(len(buf)))
r = _jlink().JLINKARM_WriteMem(startaddress, len(buf), buf)
#if r != 0: raise RuntimeError('fail')
def read_mem_U32(startaddress, count):
buftype=ctypes.c_uint32 * int(count)
buf=buftype()
r=_jlink().JLINKARM_ReadMemU32(startaddress, count, buf, 0)
#if r != 0: raise RuntimeError('fail')
return buf
def close():
r = _jlink().JLINKARM_Close()
#if r != 0: raise RuntimeError('fail')
def clear_TCK():
r = _jlink().JLINKARM_ClrTCK()
def set_TCK():
r = _jlink().JLINKARM_SetTCK()
def clear_TMS():
r = _jlink().JLINKARM_ClrTMS()
def set_TMS():
r = _jlink().JLINKARM_SetTMS()
def clear_TDI():
r = _jlink().JLINKARM_ClrTDI()
def set_TDI():
r = _jlink().JLINKARM_SetTDI()
def clear_TRST():
r = _jlink().JLINKARM_ClrTRST()
def set_TRST():
r = _jlink().JLINKARM_SetTRST()
def clear_RESET():
r = _jlink().JLINKARM_ClrRESET()
def set_RESET():
r = _jlink().JLINKARM_SetRESET()
def halt():
r = _jlink().JLINKARM_Halt()

View file

@ -1 +0,0 @@
PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.4_2016q2\bin;D:\MCU\SEGGER\JLink_V612i;%PATH%

View file

@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<cdtprojectproperties>
<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.IncludePaths">
<language name="Assembly Source File">
</language>
<language name="C Source File">
<includepath workspace_path="true">/${ProjName}/project/inc</includepath>
<includepath workspace_path="true">/${ProjName}/project/inc/rtl8195a</includepath>
<includepath workspace_path="true">/${ProjName}/project/inc/mad</includepath>
</language>
<language name="C++ Source File">
<includepath workspace_path="true">/${ProjName}/project/inc</includepath>
<includepath workspace_path="true">/${ProjName}/project/inc/rtl8195a</includepath>
<includepath workspace_path="true">/${ProjName}/project/inc/mad</includepath>
</language>
<language name="Object File">
</language>
</section>
<section name="org.eclipse.cdt.internal.ui.wizards.settingswizards.Macros">
<language name="Assembly Source File">
</language>
<language name="C Source File">
<macro>
<name>CONFIG_PLATFORM_8195A</name><value/>
</macro>
<macro>
<name>GCC_ARMCM3</name><value/>
</macro>
<macro>
<name>ARDUINO_SDK</name><value/>
</macro>
<macro>
<name>M3</name><value/>
</macro>
<macro>
<name>F_CPU</name><value>166666666L</value>
</macro>
</language>
<language name="C++ Source File">
<macro>
<name>CONFIG_PLATFORM_8195A</name><value/>
</macro>
<macro>
<name>GCC_ARMCM3</name><value/>
</macro>
<macro>
<name>ARDUINO_SDK</name><value/>
</macro>
<macro>
<name>M3</name><value/>
</macro>
<macro>
<name>F_CPU</name><value>166666666L</value>
</macro>
</language>
<language name="Object File">
</language>
</section>
</cdtprojectproperties>

View file

@ -5,8 +5,5 @@ SDK_PATH ?= RTL00_SDKV35a/
#GCC_PATH = d:/MCU/GNU_Tools_ARM_Embedded/5.2_2015q4/bin/# + or set in PATH
#OPENOCD_PATH = d:/MCU/OpenOCD/bin/# + or set in PATH
TOOLS_PATH ?= $(SDK_PATH)component/soc/realtek/8195a/misc/iar_utility/common/tools/
FLASHER_TYPE ?= Jlink
#FLASHER_TYPE ?= OCD
FLASHER_TYPE = OCD
FLASHER_PATH ?= $(SDK_PATH)flasher/
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
JLINK_GDBSRV ?= JLinkGDBServer.exe