mirror of
https://github.com/drasko/open-ameba.git
synced 2024-11-21 21:44:19 +00:00
Make some order. Remove JLink.
Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
This commit is contained in:
parent
6929af3ee0
commit
f39d1809c3
34 changed files with 74 additions and 1509 deletions
26
.gitignore
vendored
26
.gitignore
vendored
|
@ -1,2 +1,24 @@
|
||||||
/AutoMake/
|
# Dependency directory
|
||||||
/build/obj/
|
# 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
|
||||||
|
|
|
@ -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>
|
|
|
@ -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>
|
|
Binary file not shown.
|
@ -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>
|
|
|
@ -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.
|
@ -1,3 +0,0 @@
|
||||||
@echo off
|
|
||||||
call paths.bat
|
|
||||||
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL00ConsoleROM.JLinkScript
|
|
|
@ -1,3 +0,0 @@
|
||||||
@echo off
|
|
||||||
call paths.bat
|
|
||||||
JLink.exe -Device CORTEX-M3 -If SWD -Speed 10000 flasher/RTL_FFlash.JLinkScript
|
|
|
@ -1,3 +0,0 @@
|
||||||
@echo off
|
|
||||||
call paths.bat
|
|
||||||
JLink.exe -Device CORTEX-M3 -If SWD -Speed 1000 flasher\RTL_Reset.JLinkScript
|
|
|
@ -1,3 +0,0 @@
|
||||||
@echo off
|
|
||||||
call paths.bat
|
|
||||||
start JLink.exe -Device CORTEX-M3 -If SWD -Speed 4000 flasher\RTL_RunRAM.JLinkScript
|
|
85
README.md
85
README.md
|
@ -1,72 +1,35 @@
|
||||||
# RTL00(RTL8710AF) Test MP3 SDK V3.5.2 GCC
|
# Open Ameba
|
||||||
---
|
Open Ameba RTL8710 SDK.
|
||||||
|
|
||||||
MP3 stereo player V0004<br>
|
## Motivation
|
||||||
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>
|
Trying to make some order in the mess around this SoC build system.
|
||||||
[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>
|
Most of the work is done by [@pvxx](https://github.com/pvvx) in his [RTL00MP3](https://github.com/pvvx/RTL00MP3) project.
|
||||||
[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>
|
|
||||||
|
|
||||||
RTL00 module (RTL8710AF)<br>
|
## Getting Started
|
||||||
|
|
||||||
![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>
|
|
||||||
```
|
```
|
||||||
CONSOLE COMMAND SET:<br>
|
git clone https://github.com/drasko/open-ameba
|
||||||
==============================
|
cd open-ameba
|
||||||
ATPN=<SSID>[,<PASSPHRASE>[,WEPKEY]]: WIFI Connect to AP
|
make
|
||||||
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
|
|
||||||
==============================
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
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 |
|
@ -4,9 +4,9 @@ include userset.mk
|
||||||
include $(SDK_PATH)paths.mk
|
include $(SDK_PATH)paths.mk
|
||||||
#---------------------------
|
#---------------------------
|
||||||
#FLASHER = stlink-v2-1
|
#FLASHER = stlink-v2-1
|
||||||
#FLASHER = stlink-v2
|
FLASHER = stlink-v2
|
||||||
FLASHER ?= Jlink
|
#FLASHER ?= Jlink
|
||||||
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
|
#JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
|
||||||
#---------------------------
|
#---------------------------
|
||||||
# Default
|
# Default
|
||||||
#---------------------------
|
#---------------------------
|
||||||
|
@ -43,6 +43,15 @@ OPENOCD = $(OPENOCD_PATH)openocd
|
||||||
JLINK_GDB ?= JLinkGDBServer.exe
|
JLINK_GDB ?= JLinkGDBServer.exe
|
||||||
JLINK_EXE ?= JLink.exe
|
JLINK_EXE ?= JLink.exe
|
||||||
|
|
||||||
|
# For verbose make
|
||||||
|
ifeq ("$(V)","1")
|
||||||
|
Q :=
|
||||||
|
vecho := @true
|
||||||
|
else
|
||||||
|
Q := @
|
||||||
|
vecho := @echo
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(FLASHER), Jlink)
|
ifeq ($(FLASHER), Jlink)
|
||||||
# Jlink FLASHER_SPEED ..4000 kHz
|
# Jlink FLASHER_SPEED ..4000 kHz
|
||||||
FLASHER_SPEED = 3500
|
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)
|
$(OBJCOPY) --change-section-address .boot.head=0x10000ba8 -j .boot.head -j .bootloader -Obinary $(ELFFILE) $(RAM1P_IMAGE)
|
||||||
else
|
else
|
||||||
# $(OBJCOPY) -j .rom_ram -Obinary $(ELFFILE) $(RAM_IMAGE)
|
# $(OBJCOPY) -j .rom_ram -Obinary $(ELFFILE) $(RAM_IMAGE)
|
||||||
$(OBJCOPY) -j .ram.start.table -j .ram_image1.text -Obinary $(ELFFILE) $(RAM1R_IMAGE)
|
$(Q) $(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) $(PICK) 0x$(RAM1_START_ADDR) 0x$(RAM1_END_ADDR) $(RAM1R_IMAGE) $(RAM1P_IMAGE) head+reset_offset 0x0B000
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
$(error "BOOT-image size = 0")
|
$(error "BOOT-image size = 0")
|
||||||
|
@ -290,14 +299,14 @@ $(RAM2NS_IMAGE):$(ELFFILE) $(NMAPFILE)
|
||||||
@echo "==========================================================="
|
@echo "==========================================================="
|
||||||
@echo "Create image2ns ($(RAM2NS_IMAGE))"
|
@echo "Create image2ns ($(RAM2NS_IMAGE))"
|
||||||
# @echo "==========================================================="
|
# @echo "==========================================================="
|
||||||
mkdir -p $(BIN_DIR)
|
$(Q) mkdir -p $(BIN_DIR)
|
||||||
rm -f $(RAM2_IMAGE) $(RAM2NS_IMAGE)
|
$(Q) rm -f $(RAM2_IMAGE) $(RAM2NS_IMAGE)
|
||||||
$(eval RAM2_START_ADDR = $(shell grep __ram_image2_text $(NMAPFILE) | grep _start__ | awk '{print $$1}'))
|
$(Q) $(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) $(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_START_ADDR),,$(error "Not found __ram_image2_text_start__!"))
|
||||||
$(if $(RAM2_END_ADDR),,$(error "Not found __ram_image2_text_end__!"))
|
$(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)
|
$(Q) $(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) $(PICK) 0x$(RAM2_START_ADDR) 0x$(RAM2_END_ADDR) $(RAM2_IMAGE) $(RAM2NS_IMAGE) body+reset_offset
|
||||||
|
|
||||||
$(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
|
$(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
|
||||||
@echo "==========================================================="
|
@echo "==========================================================="
|
||||||
|
@ -311,8 +320,8 @@ $(RAM3_IMAGE): $(ELFFILE) $(NMAPFILE)
|
||||||
$(if $(RAM3_END_ADDR),,$(error "Not found __sdram_data_end__!"))
|
$(if $(RAM3_END_ADDR),,$(error "Not found __sdram_data_end__!"))
|
||||||
#ifneq ($(RAM3_START_ADDR),$(RAM3_END_ADDR))
|
#ifneq ($(RAM3_START_ADDR),$(RAM3_END_ADDR))
|
||||||
@echo $(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)
|
$(Q) $(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) $(PICK) 0x$(RAM3_START_ADDR) 0x$(RAM3_END_ADDR) $(RAM3_IMAGE) $(RAM3P_IMAGE) body+reset_offset
|
||||||
#else
|
#else
|
||||||
# @rm -f $(RAM3_IMAGE) $(RAM3P_IMAGE)
|
# @rm -f $(RAM3_IMAGE) $(RAM3P_IMAGE)
|
||||||
# @echo "SDRAM not used (size = 0)"
|
# @echo "SDRAM not used (size = 0)"
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
h
|
|
||||||
loadbin flasher/RTL00Console_ROM.bin 0x10000ba8
|
|
||||||
r
|
|
||||||
w4 0x40000210,0x4011117
|
|
||||||
g
|
|
||||||
q
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -1,9 +0,0 @@
|
||||||
r0
|
|
||||||
trst0
|
|
||||||
r1
|
|
||||||
trst1
|
|
||||||
h
|
|
||||||
r
|
|
||||||
w4 0x40000210,0x0211157
|
|
||||||
g
|
|
||||||
q
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
|
@ -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
|
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
113
jlinkarm.py
113
jlinkarm.py
|
@ -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()
|
|
|
@ -1 +0,0 @@
|
||||||
PATH=D:\MCU\GNU_Tools_ARM_Embedded\5.4_2016q2\bin;D:\MCU\SEGGER\JLink_V612i;%PATH%
|
|
|
@ -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>
|
|
|
@ -5,8 +5,5 @@ SDK_PATH ?= RTL00_SDKV35a/
|
||||||
#GCC_PATH = d:/MCU/GNU_Tools_ARM_Embedded/5.2_2015q4/bin/# + or set in PATH
|
#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
|
#OPENOCD_PATH = d:/MCU/OpenOCD/bin/# + or set in PATH
|
||||||
TOOLS_PATH ?= $(SDK_PATH)component/soc/realtek/8195a/misc/iar_utility/common/tools/
|
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/
|
FLASHER_PATH ?= $(SDK_PATH)flasher/
|
||||||
JLINK_PATH ?= D:/MCU/SEGGER/JLink_V612i/
|
|
||||||
JLINK_GDBSRV ?= JLinkGDBServer.exe
|
|
||||||
|
|
Loading…
Reference in a new issue