From 9bee6d15f47d0e8bd32125a75946845f30b49c9c Mon Sep 17 00:00:00 2001 From: EricB-ADI <122300463+EricB-ADI@users.noreply.github.com> Date: Mon, 6 Jan 2025 15:16:10 -0600 Subject: [PATCH] added dats, and updated linker script --- .../MAX32657/Bluetooth/BLE_dats/.cproject | 93 + Examples/MAX32657/Bluetooth/BLE_dats/.project | 26 + .../BLE_dats/.settings/language.settings.xml | 15 + .../org.eclipse.cdt.codan.core.prefs | 93 + .../.settings/org.eclipse.cdt.core.prefs | 15 + .../Bluetooth/BLE_dats/.vscode/README.md | 47 + .../BLE_dats/.vscode/c_cpp_properties.json | 53 + .../Bluetooth/BLE_dats/.vscode/flash.gdb | 17 + .../Bluetooth/BLE_dats/.vscode/launch.json | 133 + .../Bluetooth/BLE_dats/.vscode/settings.json | 101 + .../Bluetooth/BLE_dats/.vscode/tasks.json | 115 + .../Bluetooth/BLE_dats/ARM/Abstract.txt | 1 + .../MAX32657/Bluetooth/BLE_dats/ARM/BLE.sct | 47 + .../Bluetooth/BLE_dats/ARM/BTLE_fit.uvoptx | 292 ++ .../Bluetooth/BLE_dats/ARM/BTLE_fit.uvprojx | 574 +++ .../BLE_dats/ARM/EventRecorderStub.scvd | 9 + .../Bluetooth/BLE_dats/BLE_dats.launch | 62 + .../Bluetooth/BLE_dats/IAR/BLE_fit.ewd | 2974 +++++++++++ .../Bluetooth/BLE_dats/IAR/BLE_fit.ewp | 4374 +++++++++++++++++ Examples/MAX32657/Bluetooth/BLE_dats/Makefile | 382 ++ .../MAX32657/Bluetooth/BLE_dats/README.md | 22 + .../MAX32657/Bluetooth/BLE_dats/dats_api.h | 75 + .../MAX32657/Bluetooth/BLE_dats/dats_main.c | 1026 ++++ Examples/MAX32657/Bluetooth/BLE_dats/main.c | 289 ++ .../MAX32657/Bluetooth/BLE_dats/project.mk | 55 + .../Bluetooth/BLE_dats/services/svc_sds.c | 145 + .../Bluetooth/BLE_dats/services/svc_sds.h | 107 + .../MAX32657/Bluetooth/BLE_dats/stack_dats.c | 97 + .../Maxim/MAX32657/Source/GCC/max32657.ld | 17 +- 29 files changed, 11255 insertions(+), 1 deletion(-) create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/.cproject create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/.project create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/.settings/language.settings.xml create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.codan.core.prefs create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.core.prefs create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/README.md create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/c_cpp_properties.json create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/flash.gdb create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/launch.json create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/settings.json create mode 100755 Examples/MAX32657/Bluetooth/BLE_dats/.vscode/tasks.json create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/ARM/Abstract.txt create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/ARM/BLE.sct create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvoptx create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvprojx create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/ARM/EventRecorderStub.scvd create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/BLE_dats.launch create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewd create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewp create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/Makefile create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/README.md create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/dats_api.h create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/dats_main.c create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/main.c create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/project.mk create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.c create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.h create mode 100644 Examples/MAX32657/Bluetooth/BLE_dats/stack_dats.c diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.cproject b/Examples/MAX32657/Bluetooth/BLE_dats/.cproject new file mode 100644 index 00000000000..60ae0423dc0 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.cproject @@ -0,0 +1,93 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.project b/Examples/MAX32657/Bluetooth/BLE_dats/.project new file mode 100644 index 00000000000..89e38aad042 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.project @@ -0,0 +1,26 @@ + + + BLE_dats + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.settings/language.settings.xml b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/language.settings.xml new file mode 100644 index 00000000000..d32717b6f37 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/language.settings.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.codan.core.prefs b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.codan.core.prefs new file mode 100644 index 00000000000..59c0b37ba75 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.codan.core.prefs @@ -0,0 +1,93 @@ +eclipse.preferences.version=1 +org.eclipse.cdt.codan.checkers.errnoreturn=Warning +org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return\\")",implicit\=>false} +org.eclipse.cdt.codan.checkers.errreturnvalue=Error +org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused return value\\")"} +org.eclipse.cdt.codan.checkers.nocommentinside=-Error +org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Nesting comments\\")"} +org.eclipse.cdt.codan.checkers.nolinecomment=-Error +org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Line comments\\")"} +org.eclipse.cdt.codan.checkers.noreturn=Error +org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No return value\\")",implicit\=>false} +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error +org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Abstract class cannot be instantiated\\")"} +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error +org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Ambiguous problem\\")"} +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment in condition\\")"} +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error +org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Assignment to itself\\")"} +org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.CStyleCastProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"C-Style cast instead of C++ cast\\")"} +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning +org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"No break at end of case\\")",no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false,enable_fallthrough_quickfix_param\=>false} +org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning +org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Catching by reference is recommended\\")",unknown\=>false,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error +org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Circular inheritance\\")"} +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning +org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class members should be properly initialized\\")",skip\=>true} +org.eclipse.cdt.codan.internal.checkers.CopyrightProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.CopyrightProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Lack of copyright information\\")",regex\=>".*Copyright.*"} +org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem=Error +org.eclipse.cdt.codan.internal.checkers.DecltypeAutoProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid 'decltype(auto)' specifier\\")"} +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Field cannot be resolved\\")"} +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Function cannot be resolved\\")"} +org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.GotoStatementProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Goto statement used\\")"} +org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error +org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid arguments\\")"} +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error +org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid template argument\\")"} +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Label statement not found\\")"} +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error +org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Member declaration not found\\")"} +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Method cannot be resolved\\")"} +org.eclipse.cdt.codan.internal.checkers.MissCaseProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.MissCaseProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing cases in switch\\")"} +org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.MissDefaultProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing default in switch\\")",defaultWithAllEnums\=>false} +org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.MissReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing reference return value in assignment operator\\")"} +org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.MissSelfCheckProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Missing self check in assignment operator\\")"} +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info +org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Name convention for function\\")",pattern\=>"^[a-z]",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning +org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Class has a virtual method and non-virtual destructor\\")"} +org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error +org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid overload\\")"} +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redeclaration\\")"} +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error +org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Invalid redefinition\\")"} +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Return with parenthesis\\")"} +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Format String Vulnerability\\")"} +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning +org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Statement has no effect\\")",macro\=>true,exceptions\=>()} +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suggested parenthesis around expression\\")",paramNot\=>false} +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning +org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Suspicious semicolon\\")",else\=>false,afterelse\=>false} +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Type cannot be resolved\\")"} +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused function declaration\\")",macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused static function\\")",macro\=>true} +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning +org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Unused variable declaration in file scope\\")",macro\=>true,exceptions\=>("@(\#)","$Id")} +org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem=-Warning +org.eclipse.cdt.codan.internal.checkers.UsingInHeaderProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Using directive in header\\")"} +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error +org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Symbol is not resolved\\")"} +org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem=-Error +org.eclipse.cdt.codan.internal.checkers.VirtualMethodCallProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>"@suppress(\\"Virtual method call in constructor/destructor\\")"} +org.eclipse.cdt.qt.core.qtproblem=Warning +org.eclipse.cdt.qt.core.qtproblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_ON_FILE_OPEN\=>true,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},suppression_comment\=>null} diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.core.prefs b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.core.prefs new file mode 100644 index 00000000000..eddba9623c7 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.settings/org.eclipse.cdt.core.prefs @@ -0,0 +1,15 @@ +eclipse.preferences.version=1 +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/delimiter=; +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/BOARD/value=EvKit_V1 +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/delimiter=; +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/operation=replace +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/GCC_PREFIX/value=arm-none-eabi- +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/delimiter=; +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/PROJECT/value=BLE_dats +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/delimiter=; +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/operation=append +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/TARGET/value=MAX32655 +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/append=true +environment/project/cdt.managedbuild.toolchain.gnu.cross.base.1028364529/appendContributed=true diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/README.md b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/README.md new file mode 100755 index 00000000000..5b355bd51c9 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/README.md @@ -0,0 +1,47 @@ +# VSCode-Maxim + +_(If you're viewing this document from within Visual Studio Code you can press `CTRL+SHIFT+V` to open a Markdown preview window.)_ + +## Quick Links + +* [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/) +* [VSCode-Maxim Github](https://github.com/analogdevicesinc/VSCode-Maxim) + +## Introduction + +VSCode-Maxim is a set of [Visual Studio Code](https://code.visualstudio.com/) project configurations and utilities for enabling embedded development for [Analog Device's MSDK](https://github.com/analogdevicesinc/msdk) and the [MAX32xxx/MAX78xxx microcontrollers](https://www.analog.com/en/product-category/microcontrollers.html). + +The following features are supported: + +* Code editing with intellisense down to the register level +* Code compilation with the ability to easily re-target a project for different microcontrollers and boards +* Flashing programs +* GUI and command-line debugging + +## Dependencies + +* [Visual Studio Code](https://code.visualstudio.com/) + * [C/C++ VSCode Extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) + * [Cortex-Debug Extension](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) +* [Analog Devices MSDK](https://analogdevicesinc.github.io/msdk/) + +## Installation + +Install the MSDK, then set `"MAXIM_PATH"` in your _user_ VS Code settings. + +See [Getting Started with Visual Studio Code](https://analogdevicesinc.github.io/msdk/USERGUIDE/#getting-started-with-visual-studio-code) in the MSDK User Guide for detailed instructions. + +## Usage + +See the [MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/#visual-studio-code) for detailed usage info. + +## Issue Tracker + +Bug reports, feature requests, and contributions are welcome via the [issues](https://github.com/analogdevicesinc/VSCode-Maxim/issues) tracker on Github. + +New issues should contain _at minimum_ the following information: + +* Visual Studio Code version #s (see `Help -> About`) +* C/C++ Extension version # +* Target microcontroller and evaluation platform +* The projects `.vscode` folder and `Makefile` (where applicable). Standard compression formats such as `.zip`, `.rar`, `.tar.gz`, etc. are all acceptable. diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/c_cpp_properties.json b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/c_cpp_properties.json new file mode 100755 index 00000000000..dfbed47b581 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/c_cpp_properties.json @@ -0,0 +1,53 @@ +{ + "configurations": [ + { + "name": "Win32", + "includePath": [ + "${default}" + ], + "defines": [ + "${default}" + ], + "intelliSenseMode": "gcc-arm", + "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc.exe", + "browse": { + "path": [ + "${default}" + ] + } + }, + { + "name": "Linux", + "includePath": [ + "${default}" + ], + "defines": [ + "${default}" + ], + "intelliSenseMode": "gcc-arm", + "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc", + "browse": { + "path": [ + "${default}" + ] + } + }, + { + "name": "Mac", + "includePath": [ + "${default}" + ], + "defines": [ + "${default}" + ], + "intelliSenseMode": "gcc-arm", + "compilerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gcc", + "browse": { + "path": [ + "${default}" + ] + } + } + ], + "version": 4 +} \ No newline at end of file diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/flash.gdb b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/flash.gdb new file mode 100755 index 00000000000..8f22801a47d --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/flash.gdb @@ -0,0 +1,17 @@ +define flash_m4 + set architecture armv7e-m + set remotetimeout 10 + target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt" + load + compare-sections + monitor reset halt +end + +define flash_m4_run + set architecture armv7e-m + set remotetimeout 10 + target remote | openocd -c "gdb_port pipe;log_output flash.log" -s $arg0/scripts -f interface/$arg1 -f target/$arg2 -c "init; reset halt" + load + compare-sections + monitor resume +end diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/launch.json b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/launch.json new file mode 100755 index 00000000000..01fe5199048 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/launch.json @@ -0,0 +1,133 @@ +{ + "configurations": [ + { + "name": "Debug Arm (Cortex-debug)", + "cwd":"${workspaceRoot}", + "executable": "${workspaceFolder}/build/${config:program_file}", + "loadFiles": ["${workspaceFolder}/build/${config:program_file}"], + "symbolFiles": [{ + "file": "${workspaceFolder}/build/${config:symbol_file}" + }], + "request": "launch", + "type": "cortex-debug", + "servertype": "openocd", + "linux": { + "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb", + "serverpath": "${config:OCD_path}/openocd", + }, + "windows": { + "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe", + "serverpath": "${config:OCD_path}/openocd.exe", + }, + "osx": { + "gdbPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb", + "serverpath": "${config:OCD_path}/openocd", + }, + "searchDir": ["${config:OCD_path}/scripts"], + "configFiles": ["interface/${config:M4_OCD_interface_file}", "target/${config:M4_OCD_target_file}"], + "interface": "swd", + "runToEntryPoint": "main", + "svdFile": "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include/${config:target}.svd" + }, + { + "name": "GDB (Arm M4)", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/build/${config:program_file}", + "args": [], + "stopAtEntry": true, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "linux": { + "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb", + "debugServerPath": "${config:OCD_path}/openocd", + }, + "windows": { + "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb.exe", + "debugServerPath": "${config:OCD_path}/openocd.exe", + }, + "osx": { + "miDebuggerPath": "${config:ARM_GCC_path}/bin/arm-none-eabi-gdb", + "debugServerPath": "${config:OCD_path}/bin/openocd", + }, + "logging": { + "exceptions": true, + "trace": false, + "traceResponse": false, + "engineLogging": false + }, + "miDebuggerServerAddress": "localhost:3333", + "debugServerArgs": "-s ${config:OCD_path}/scripts -f interface/${config:M4_OCD_interface_file} -f target/${config:M4_OCD_target_file} -c \"init; reset halt\"", + "serverStarted": "Info : Listening on port 3333 for gdb connections", + "filterStderr": true, + "targetArchitecture": "arm", + "customLaunchSetupCommands": [ + {"text":"-list-features"} + ], + "setupCommands": [ + { "text":"set logging overwrite on"}, + { "text":"set logging file debug-arm.log"}, + { "text":"set logging on"}, + { "text":"cd ${workspaceFolder}" }, + { "text":"exec-file build/${config:program_file}" }, + { "text":"symbol-file build/${config:symbol_file}" }, + { "text":"target remote localhost:3333" }, + { "text":"monitor reset halt" }, + { "text":"set $pc=Reset_Handler"}, + { "text":"b main" } + ] + }, + { + "name": "GDB (RISC-V)", + "type": "cppdbg", + "request": "launch", + "program": "${workspaceFolder}/buildrv/${config:program_file}", + "args": [], + "stopAtEntry": false, + "cwd": "${workspaceFolder}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "linux": { + "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb", + "debugServerPath": "${config:OCD_path}/openocd", + }, + "windows": { + "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb.exe", + "debugServerPath": "${config:OCD_path}/openocd.exe", + }, + "osx": { + "miDebuggerPath": "${config:xPack_GCC_path}/bin/riscv-none-elf-gdb", + "debugServerPath": "${config:OCD_path}/bin/openocd", + }, + "logging": { + "exceptions": true, + "trace": false, + "traceResponse": false, + "engineLogging": false + }, + "miDebuggerServerAddress": "localhost:3334", + "debugServerArgs": "-c \"gdb_port 3334\" -s ${config:OCD_path}/scripts -f interface/${config:RV_OCD_interface_file} -f target/${config:RV_OCD_target_file}", + "serverStarted": "Info : Listening on port 3334 for gdb connections", + "filterStderr": true, + "customLaunchSetupCommands": [ + {"text":"-list-features"} + ], + "targetArchitecture": "arm", + "setupCommands": [ + { "text":"set logging overwrite on"}, + { "text":"set logging file debug-riscv.log"}, + { "text":"set logging on"}, + { "text":"cd ${workspaceFolder}" }, + { "text": "set architecture riscv:rv32", "ignoreFailures": false }, + { "text":"exec-file build/${config:program_file}", "ignoreFailures": false }, + { "text":"symbol-file buildrv/${config:symbol_file}", "ignoreFailures": false }, + { "text":"target remote localhost:3334" }, + { "text":"b main" }, + { "text": "set $pc=Reset_Handler","ignoreFailures": false } + ] + } + ] +} diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/settings.json b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/settings.json new file mode 100755 index 00000000000..cca0bc9a442 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/settings.json @@ -0,0 +1,101 @@ +{ + "terminal.integrated.env.windows": { + "Path":"${config:OCD_path};${config:ARM_GCC_path}/bin;${config:xPack_GCC_path}/bin;${config:MSYS_path}/usr/bin;${config:Make_path};${env:PATH}", + "MAXIM_PATH":"${config:MAXIM_PATH}" + }, + "terminal.integrated.defaultProfile.windows": "Command Prompt", + + "terminal.integrated.env.linux": { + "PATH":"${config:OCD_path}:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}", + "MAXIM_PATH":"${config:MAXIM_PATH}" + }, + "terminal.integrated.env.osx": { + "PATH":"${config:OCD_path}/bin:${config:ARM_GCC_path}/bin:${config:xPack_GCC_path}/bin:${config:Make_path}:${env:PATH}", + "MAXIM_PATH":"${config:MAXIM_PATH}" + }, + + "target":"MAX32655", + "board":"EvKit_V1", + + "project_name":"${workspaceFolderBasename}", + + "program_file":"${config:project_name}.elf", + "symbol_file":"${config:program_file}", + + "M4_OCD_interface_file":"cmsis-dap.cfg", + "M4_OCD_target_file":"max32655.cfg", + "RV_OCD_interface_file":"ftdi/olimex-arm-usb-ocd-h.cfg", + "RV_OCD_target_file":"${config:target}_riscv.cfg", + + "v_Arm_GCC":"10.3", + "v_xPack_GCC":"12.2.0-3.1", + + "OCD_path":"${config:MAXIM_PATH}/Tools/OpenOCD", + "ARM_GCC_path":"${config:MAXIM_PATH}/Tools/GNUTools/${config:v_Arm_GCC}", + "xPack_GCC_path":"${config:MAXIM_PATH}/Tools/xPack/riscv-none-elf-gcc/${config:v_xPack_GCC}", + "Make_path":"${config:MAXIM_PATH}/Tools/GNUTools/Make", + "MSYS_path":"${config:MAXIM_PATH}/Tools/MSYS2", + + "C_Cpp.default.includePath": [ + "${workspaceFolder}", + "${workspaceFolder}/**", + "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Include", + "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Include", + "${config:MAXIM_PATH}/Libraries/CMSIS/Device/Maxim/${config:target}/Include", + "${config:MAXIM_PATH}/Libraries/CMSIS/Include", + "${config:ARM_GCC_path}/arm-none-eabi/include", + "${config:ARM_GCC_path}/lib/gcc/arm-none-eabi/${config:v_Arm_GCC}/include", + "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Include/${config:target}", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/ExtMemory", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/include", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/stack/cfg", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/include", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/include", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/include", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/include", + "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/ble", + "${config:MAXIM_PATH}/Libraries/Cordio/controller/include/common", + "${config:MAXIM_PATH}/Libraries/Cordio/platform/include", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/dual_chip", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources/hci/exactle", + "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include", + "${config:MAXIM_PATH}/Libraries/Cordio/wsf/include/util" + ], + "C_Cpp.default.browse.path": [ + "${workspaceFolder}", + "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/Source", + "${config:MAXIM_PATH}/Libraries/Boards/${config:target}/${config:board}/Source", + "${config:MAXIM_PATH}/Libraries/PeriphDrivers/Source", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Camera", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Display/fonts", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/LED", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/PMIC", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/PushButton", + "${config:MAXIM_PATH}/Libraries/MiscDrivers/Touchscreen", + "${config:MAXIM_PATH}/Libraries/MiscDrivers", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-apps/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-host/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-apps/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-model/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-mesh-profile/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/ble-profiles/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/controller/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/wsf/sources", + "${config:MAXIM_PATH}/Libraries/Cordio/platform/targets/maxim/max32655/sources" + ], + "C_Cpp.default.defines": [ + + ], + "C_Cpp.default.forcedInclude": [ + "${workspaceFolder}/build/project_defines.h" + ] +} + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/tasks.json b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/tasks.json new file mode 100755 index 00000000000..e95445e2b3e --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/.vscode/tasks.json @@ -0,0 +1,115 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "label": "build", + "type": "shell", + "command": "make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}", + "osx":{ + "command": "source ~/.zshrc && make -r -j 8 --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}" + }, + "group": "build", + "problemMatcher": [] + }, + { + "label": "clean", + "type": "shell", + "command": "make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}", + "osx":{ + "command": "source ~/.zshrc && make -j 8 clean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}" + }, + "group": "build", + "problemMatcher": [] + }, + { + "label": "clean-periph", + "type": "shell", + "command": "make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}", + "osx":{ + "command": "source ~/.zshrc && make -j 8 distclean --output-sync=target --no-print-directory TARGET=${config:target} BOARD=${config:board} MAXIM_PATH=${config:MAXIM_PATH} MAKE=make PROJECT=${config:project_name}" + }, + "group": "build", + "problemMatcher": [] + }, + { + "label": "flash", + "type": "shell", + "command": "arm-none-eabi-gdb", + "args": [ + "--cd=\"${workspaceFolder}\"", + "--se=\"build/${config:program_file}\"", + "--symbols=build/${config:symbol_file}", + "-x=\"${workspaceFolder}/.vscode/flash.gdb\"", + "--ex=\"flash_m4 ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"", + "--batch" + ], + "group": "build", + "problemMatcher": [], + "dependsOn":["build"] + }, + { + "label": "flash & run", + "type": "shell", + "command": "arm-none-eabi-gdb", + "args": [ + "--cd=\"${workspaceFolder}\"", + "--se=\"build/${config:program_file}\"", + "--symbols=build/${config:symbol_file}", + "-x=\"${workspaceFolder}/.vscode/flash.gdb\"", + "--ex=\"flash_m4_run ${config:OCD_path} ${config:M4_OCD_interface_file} ${config:M4_OCD_target_file}\"", + "--batch" + ], + "group": "build", + "problemMatcher": [], + "dependsOn":["build"] + }, + { + "label": "erase flash", + "type": "shell", + "command": "openocd", + "args": [ + "-s", "${config:OCD_path}/scripts", + "-f", "interface/${config:M4_OCD_interface_file}", + "-f", "target/${config:M4_OCD_target_file}", + "-c", "\"init; reset halt; max32xxx mass_erase 0;\"", + "-c", "exit" + ], + "group":"build", + "problemMatcher": [], + "dependsOn":[] + }, + { + "label": "openocd (m4)", + "type": "shell", + "command": "openocd", + "args": [ + "-s", + "${config:OCD_path}/scripts", + "-f", + "interface/${config:M4_OCD_interface_file}", + "-f", + "target/${config:M4_OCD_target_file}", + "-c", + "\"init; reset halt\"" + ], + "problemMatcher": [], + "dependsOn":[] + }, + { + "label": "gdb (m4)", + "type": "shell", + "command": "arm-none-eabi-gdb", + "args": [ + "--ex=\"cd ${workspaceFolder}\"", + "--se=\"build/${config:program_file}\"", + "--symbols=build/${config:symbol_file}", + "--ex=\"target remote localhost:3333\"", + "--ex=\"monitor reset halt\"", + "--ex=\"b main\"", + "--ex=\"c\"" + ], + "problemMatcher": [], + "dependsOn":[] + }, + ] +} \ No newline at end of file diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/ARM/Abstract.txt b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/Abstract.txt new file mode 100644 index 00000000000..c320ebf22ea --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/Abstract.txt @@ -0,0 +1 @@ +BLE fit example diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BLE.sct b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BLE.sct new file mode 100644 index 00000000000..d2482c178c7 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BLE.sct @@ -0,0 +1,47 @@ +#! armcc -E + + +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +; /*-Memory Regions-*/ +#define IROM_start__ 0x00000000 +#define IROM_size__ 0x00010000 +#define IFLASH_start__ 0x10000000 +#define IFLASH_size__ 0x00080000 +#define pal_nvm_db_start 0x10080000 +#define PAL_NVM_SIZE 0 +#define IRAM_start__ 0x20000000 +#define IRAM_size__ 0x00020000 + + + +; /*-Sizes */ +;#define size_cstack__ 0x6000 +;#define size_heap__ 0x2000 +; /**** End of ICF editor section. ###ICF###*/ + +#define memory mem with size = 4G; + + +LR_IFLASH IFLASH_start__ IFLASH_size__ { ; load region size_region + + ER_IFLASH IFLASH_start__ IFLASH_size__ { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + + PAL_NVM pal_nvm_db_start PAL_NVM_SIZE { ; RW data + .ANY (+RO) + } + + RW_IRAM1 IRAM_start__ IRAM_size__ { ; RW data + .ANY (+RW +ZI) + } + + + +} \ No newline at end of file diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvoptx b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvoptx new file mode 100644 index 00000000000..0cd09313aa4 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvoptx @@ -0,0 +1,292 @@ + + + + 1.0 + +
### uVision Project, (C) Keil Software
+ + + *.c + *.s*; *.src; *.a* + *.obj; *.o + *.lib + *.txt; *.h; *.inc; *.md + *.plm + *.cpp + 0 + + + + 0 + 0 + + + + Flash Debug + 0x4 + ARM-ADS + + 96000000 + + 1 + 1 + 0 + 1 + 0 + + + 1 + 65535 + 0 + 0 + 0 + + + 79 + 66 + 8 + .\Listings\ + + + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + + + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + + + 1 + 0 + 1 + + 255 + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 0 + 3 + + + + + + + + + + + BIN\CMSIS_AGDI.dll + + + + 0 + ARMRTXEVENTFLAGS + -L70 -Z18 -C0 -M0 -T1 + + + 0 + DLGTARM + (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0) + + + 0 + ARMDBGFLAGS + + + + 0 + DLGUARM + + + + 0 + CMSIS_AGDI + -X"CMSIS-DAP v1" -U0409170241ffcce80000000000000000 -O230 -S10 -C0 -P00000000 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO65554 -TC10000000 -TT10000000 -TP20 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO23 -FD20000000 -FC1000 -FN1 -FF0MAX32655.FLM -FS010000000 -FL0100000 -FP0($$Device:MAX32655$Flash\MAX32655.FLM) + + + 0 + UL2CM3 + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) + + + + + 0 + + + 0 + 1 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + + + 0 + 0 + 0 + + + + + + + + + + 1 + 1 + 1 + 2 + 2000000 + + + + + + Source + 1 + 0 + 0 + 0 + + 1 + 1 + 1 + 0 + 0 + 0 + ..\main.c + main.c + 0 + 0 + + + 1 + 2 + 5 + 0 + 0 + 0 + .\Abstract.txt + Abstract.txt + 0 + 0 + + + 1 + 3 + 1 + 0 + 0 + 0 + ..\stack_fit.c + stack_fit.c + 0 + 0 + + + 1 + 4 + 1 + 0 + 0 + 0 + ..\fit_main.c + fit_main.c + 0 + 0 + + + + + ::BSP + 1 + 0 + 0 + 1 + + + + ::Bluetooth + 1 + 0 + 0 + 1 + + + + ::CMSIS + 0 + 0 + 0 + 1 + + + + ::Device + 1 + 0 + 0 + 1 + + +
diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvprojx b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvprojx new file mode 100644 index 00000000000..fe83389bfb2 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/BTLE_fit.uvprojx @@ -0,0 +1,574 @@ + + + + 2.1 + +
### uVision Project, (C) Keil Software
+ + + + Flash Debug + 0x4 + ARM-ADS + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 + + + MAX32655:Cortex-M4 + Maxim + Maxim.MAX32655.1.0.0 + http://www.mxim.net/microcontroller/pack/ + IRAM(0x20000000,0x00080000) IROM(0x10000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(96000000) ELITTLE + + + UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000) + 0 + $$Device:MAX32655$Libraries\Device\Maxim\MAX32655\Include\max32655.h + + + + + + + + + + $$Device:MAX32655$SVD\MAX32655\max32655.svd + 0 + 0 + + + + + + + 0 + 0 + 0 + 0 + 1 + + .\Objects\ + BLE_fit + 1 + 0 + 0 + 1 + 1 + .\Listings\ + 1 + 0 + 0 + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + + + 0 + 0 + 0 + 0 + + 0 + + + + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 3 + + + 1 + + + SARMCM3.DLL + + DCM.DLL + -pCM4 + SARMCM3.DLL + + TCM.DLL + -pCM4 + + + + 1 + 0 + 0 + 0 + 16 + + + + + 1 + 0 + 0 + 1 + 1 + 4096 + + 1 + BIN\UL2CM3.DLL + "" () + + + + + 0 + + + + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 1 + 1 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 0 + 0 + "Cortex-M4" + + 0 + 0 + 0 + 1 + 1 + 0 + 0 + 2 + 0 + 0 + 0 + 0 + 8 + 1 + 0 + 0 + 0 + 3 + 3 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 1 + 0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x80000 + + + 1 + 0x10000000 + 0x100000 + + + 0 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x0 + 0x0 + + + 1 + 0x10000000 + 0x100000 + + + 1 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x0 + 0x0 + + + 0 + 0x20000000 + 0x80000 + + + 0 + 0x0 + 0x0 + + + + + + 1 + 2 + 0 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 2 + 0 + 0 + 1 + 0 + 0 + 1 + 1 + 1 + 1 + 0 + 0 + 0 + + + BT_VER=8 INIT_BROADCASTER INIT_PERIPHERAL INIT_ENCRYPTED WSF_BUF_FREE_CHECK_ASSERT=0 WSF_BUF_STATS=0 WSF_CS_STATS=0 WSF_ASSERT_ENABLED=0 WSF_TRACE_ENABLED=1 SEC_CMAC_CFG=1 SEC_ECC_CFG=2 SEC_CCM_CFG=1 HCI_TR_EXACTLE=1 WSF_TRACE_ENABLED=1 HCI_UART=2 TERMINAL_UART=0 USER_UART=1 BB_CLK_RATE_HZ=1000000 LCTR_CONN_NO_TIFS_REASSEMBLY=1 CHCI_TR_UART=1 UART_BAUD=1000000 UART_HWFC=0 BB_ENABLE_INLINE_ENC_TX=1 BB_ENABLE_INLINE_DEC_RX=1 PAL_MAX_RTC_COUNTER_VAL=0xFFFFFFFF LL_WW_RX_DEVIATION_USEC=0 BOARD=EvKit_V1 TARGET=32655 TARGET_REV=0x4131 + + ..\..\BLE_fit + + + + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 4 + + + + + + + + + 0 + 0 + 0 + 0 + 1 + 0 + 0x10000000 + 0x20000000 + + .\BLE.sct + + + + + + + + + + + Source + + + main.c + 1 + ..\main.c + + + Abstract.txt + 5 + .\Abstract.txt + + + stack_fit.c + 1 + ..\stack_fit.c + + + fit_main.c + 1 + ..\fit_main.c + + + + + ::BSP + + + ::Bluetooth + + + ::CMSIS + + + ::Device + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + --diag_suppress 1295 --diag_suppress 550 --diag_suppress 188 --diag_suppress 546 --diag_suppress 550 --diag_suppress 188 --diag_suppress 111 --diag_suppress 1293 + + + + + + + + RTE\Device\MAX32655\max32655.h + + + + + + RTE\Device\MAX32655\startup_max32655.s + + + + + + RTE\Device\MAX32655\sub_main.c + + + + + + RTE\Device\MAX32655\system_max32655.c + + + + + + RTE\Device\MAX32655_Cortex-M4\max32655.h + + + + + + + + RTE\Device\MAX32655_Cortex-M4\startup_max32655.s + + + + + + + + RTE\Device\MAX32655_Cortex-M4\system_max32655.c + + + + + + + + + +
diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/ARM/EventRecorderStub.scvd b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/EventRecorderStub.scvd new file mode 100644 index 00000000000..2956b296838 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/ARM/EventRecorderStub.scvd @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/BLE_dats.launch b/Examples/MAX32657/Bluetooth/BLE_dats/BLE_dats.launch new file mode 100644 index 00000000000..e1b5a66ccd0 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/BLE_dats.launch @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewd b/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewd new file mode 100644 index 00000000000..8061e9c466c --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewd @@ -0,0 +1,2974 @@ + + + 3 + + Debug + + ARM + + 1 + + C-SPY + 2 + + 32 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 1 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 1 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 1 + + + + + + + + STLINK_ID + 2 + + 7 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + ARM + + 0 + + C-SPY + 2 + + 32 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 0 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 0 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 0 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 0 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 0 + + + + + + + + STLINK_ID + 2 + + 7 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 0 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 0 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8b.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8bBE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewp b/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewp new file mode 100644 index 00000000000..f2d7302a47a --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/IAR/BLE_fit.ewp @@ -0,0 +1,4374 @@ + + + 3 + + Debug + + ARM + + 1 + + General + 3 + + 33 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 37 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 11 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 176 + inputOutputBased + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 25 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 1 + + + + + + + + Release + + ARM + + 0 + + General + 3 + + 33 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCARM + 2 + + 37 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AARM + 2 + + 11 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + inputOutputBased + + + + BUILDACTION + 1 + + + + + + + ILINK + 0 + + 25 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 0 + + 0 + 1 + 0 + + + + + + + + $PROJ_DIR$\..\fit_main.c + + + $PROJ_DIR$\..\main.c + + + $PROJ_DIR$\..\stack_fit.c + + + CMSIS-Pack + CMSISPack.Component + + $PROJ_DIR$\RTE\RTE_Components.h + + + Maxim Maxim API _Device.UART_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_common.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/UART/uart_revb.c + + + + Maxim Maxim API _Device.Timers_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_common.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/TMR/tmr_revb.c + + + + Maxim Maxim API _Device.Startup_1.0.0 + CMSISPack.Component + + $PROJ_DIR$\RTE\Device\MAX32655_Cortex-M4\cmain.s + + + $PROJ_DIR$\RTE\Device\MAX32655_Cortex-M4\low_level_init.c + + + $PROJ_DIR$\RTE\Device\MAX32655_Cortex-M4\max32655.h + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_assert.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_delay.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/mxc_lock.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/nvic_table.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/pins_me17.c + + + $PROJ_DIR$\RTE\Device\MAX32655_Cortex-M4\startup_max32655.s + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/SYS/sys_me17.c + + + $PROJ_DIR$\RTE\Device\MAX32655_Cortex-M4\system_max32655.c + + + + Maxim Maxim API _Device.GPIO_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_common.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/GPIO/gpio_reva.c + + + + Maxim Maxim API _Device.FLC_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_common.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_reva.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/FLC/flc_revb.c + + + + Maxim Maxim API _Device.DMA_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/DMA/dma_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/DMA/dma_reva.c + + + + Maxim MAX32655 BSP _BSP.EvKit V1_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Boards/MAX32655/EvKit_V1/Source/board.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Boards/MAX32655/Source/led.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Boards/MAX32655/Source/pb.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Boards/MAX32655/Source/stdio.c + + + + Maxim Maxim BTLE _Bluetooth.Bluetooth LE_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/anpc/anpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_db.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_disc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_hw.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_master_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_server.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_slave_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/app_terminal.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/app_ui.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/atpc/atpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/atps/atps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_eatt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/att_uuid.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_disc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_eatt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_proc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_read.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_sign.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/attc_write.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_ccc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_csf.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_dyn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_eatt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_ind.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_proc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_read.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_sign.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/att/atts_write.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/bas/bas_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_dtm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_pdufilt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_periodiclist.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_reslist.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_sniffer.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/bb/bb_ble_whitelist.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/common/bb/bb_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/bda.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/blpc/blpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/blps/blps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/bstream.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/calc128.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/cfg/cfg_stack.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/common/chci/chci_tr.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/cpp/cpps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/crc32.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/cscp/cscps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/dis/dis_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_cte.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_dev.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_dev_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_leg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_lesc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/dm/dm_sync_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/fcs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/fmpl/fmpl_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/gap/gap_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/gatt/gatt_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glpc/glpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_db.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/sensor/gyro_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_bis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cte.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_enc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/common/hci_core.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_core_ps.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_evt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/hci/hci_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/common/hci_tr.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hid/hid_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-apps/sources/hidapp/hidapp_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hrpc/hrpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/hrps/hrps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/htpc/htpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/htps/htps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/init/init.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/init/init_ctr.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_coc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/l2c/l2c_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_act_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_cs2.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_data.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso_data.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_master_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_main_slave_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_bis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_enc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_master_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_slave_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_cs2.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_vs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_cs2.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_init_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lhci/lhci_main_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/BlePhy/MAX32655/IAR/libphy_iar.a + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_cs2.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_master_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_init_slave_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_diag.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_dtm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_past.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_pc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_main_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/ll/ll_math.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_events.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_master_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_slave_ae.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_cis_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_conn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_iso.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_master.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_priv.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_sc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_slave.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_btn.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_cfg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_codec.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_crypto.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_flash.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_i2s.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_led.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_rtc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_sys.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_timer.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_twi.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_uart.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/paspc/paspc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxpc/plxpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_db.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/prand.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/print.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/rscp/rscps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_ble.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/common/sch/sch_list.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/common/sch/sch_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_rm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/controller/sources/ble/sch/sch_tm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/scpps/scpps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_aes.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_aes_rev.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_ccm_hci.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_cmac_hci.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_ecc_hci.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/sec/common/sec_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_db.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_non.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpi_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_act.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-host/sources/stack/smp/smpr_sm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_alert.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_batt.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_bps.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_core.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cps.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cscs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_cte.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_dis.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_gls.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_gyro.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hid.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hrs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_hts.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_ipss.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_plxs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_px.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_rscs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_scpss.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_temp.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_time.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_uricfg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wdxs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wp.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/services/svc_wss.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/sensor/temp_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/terminal.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/tipc/tipc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/udsc/udsc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/thirdparty/uecc/uECC.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/thirdparty/uecc/uECC_ll.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_console.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_lcd.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_platform.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/af/common/ui_timer.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/uribeacon/uricfg_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_ft.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_stream.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_au.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_dc.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_ft.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_phy.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_stream.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wpc/wpc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_assert.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_buf.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_bufio.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_cs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_detoken.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_efs.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_heap.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_msg.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_nvm.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_os.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_queue.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_timer.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/targets/baremetal/wsf_trace.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wspc/wspc_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/ble-profiles/sources/profiles/wsps/wsps_main.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/Cordio/wsf/sources/util/wstr.c + + + + Maxim Maxim API _Device.WUT_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/WUT/wut_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/WUT/wut_reva.c + + + + Maxim Maxim API _Device.TRNG_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/TRNG/trng_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/TRNG/trng_revb.c + + + + Maxim Maxim API _Device.Low Power_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/LP/lp_me17.c + + + + Maxim Maxim API _Device.ICC_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/ICC/icc_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/ICC/icc_reva.c + + + + Maxim Maxim API _Device.I2C_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/I2C/i2c_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/I2C/i2c_reva.c + + + + Maxim Maxim API _Device.AES_1.0.0 + CMSISPack.Component + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/AES/aes_me17.c + + + ${CMSIS_PACK_PATH_Maxim#MAX32655#1.0.0}$\Libraries/PeriphDrivers/Source/AES/aes_revb.c + + + + + <?xml version="1.0" encoding="UTF-8" standalone="no"?> +<configuration xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"> + <packages/> + <device Dclock="96000000" Dcore="Cortex-M4" DcoreVersion="r0p1" Dendian="Little-endian" Dfamily="MAX32655-66" Dfpu="SP_FPU" Dmpu="NO_MPU" Dname="MAX32655" Dvendor="Maxim:23" Pname="Cortex-M4" Punits="2" info="ARM Cortex-M4 96 MHz, 512 kB RAM, 1 MB ROM" url="http://www.keil.com/dd2/maxim/max32655"> + <package info="Maxim Integrated MAX32655 Series Device Support, Board Support Package and Examples" name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + </device> + <toolchain Tcompiler="IAR" Toutput="exe"/> + <components> + <component Cbundle="Maxim BTLE" Cbundleversion="1.0.0" Cclass="Bluetooth" Cgroup="Bluetooth LE" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/assettag/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/cycling/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/datc/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/dats/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/fit/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/hidapp/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/locator/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/medc/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/meds/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/tag/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/uribeacon/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/watch/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/cfg/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/hci/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gatt/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/ble/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/include/common/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/bb/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/platform/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/include/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/"/> + <file category="include" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-apps/sources/hidapp/hidapp_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/hci_core.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/common/hci_tr.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_bis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_cte.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_enc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_cmd_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_core_ps.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_evt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/hci/exactle/hci_vs_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_aes.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_aes_rev.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_ccm_hci.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_cmac_hci.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_ecc_hci.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/sec/common/sec_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_disc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_eatt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_proc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_read.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_sign.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/attc_write.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_ccc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_csf.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_dyn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_eatt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_ind.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_proc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_read.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_sign.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/atts_write.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_eatt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/att/att_uuid.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/cfg/cfg_stack.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_adv_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_cis_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_cte.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_master_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_slave_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_conn_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_dev.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_dev_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_scan_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_lesc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sec_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/dm/dm_sync_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/hci/hci_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_coc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/l2c/l2c_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sc_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpi_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sc_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smpr_sm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_db.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_non.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_act.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-host/sources/stack/smp/smp_sc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_disc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_master_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_server.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_slave_leg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/app_terminal.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_db.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_hw.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/app_ui.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_console.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_lcd.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_platform.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/af/common/ui_timer.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/anpc/anpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/atpc/atpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/atps/atps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/bas/bas_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/blpc/blpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/blps/blps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/cpp/cpps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/cscp/cscps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/dis/dis_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/fmpl/fmpl_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gap/gap_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/gatt/gatt_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glpc/glpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_db.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/glps/glps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hid/hid_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hrpc/hrpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/hrps/hrps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/htpc/htpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/htps/htps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/paspc/paspc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxpc/plxpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_db.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/plxps/plxps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/rscp/rscps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/scpps/scpps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/sensor/gyro_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/sensor/temp_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/tipc/tipc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/udsc/udsc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/uribeacon/uricfg_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_ft.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxc/wdxc_stream.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_au.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_dc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_ft.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wdxs/wdxs_stream.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wpc/wpc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wspc/wspc_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/profiles/wsps/wsps_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_alert.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_batt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_bps.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_core.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cps.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cscs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_cte.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_dis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_gls.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_gyro.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hid.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hrs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_hts.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_ipss.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_plxs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_px.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_rscs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_scpss.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_temp.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_time.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_uricfg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wdxs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wp.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/ble-profiles/sources/services/svc_wss.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_dtm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_pdufilt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_periodiclist.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_reslist.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_sniffer.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/bb/bb_ble_whitelist.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/init.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/init/init_ctr.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_conn_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_init_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_act_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_isr_init_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_cs2.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_data.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_init_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_iso_data.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_master_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_main_slave_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_bis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_enc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_pdu_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_init_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_master_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lctr/lctr_sm_llcp_slave_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_conn_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_cmd_vs_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_cs2.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_conn_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_evt_vs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_cs2.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_conn_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_init_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lhci/lhci_main_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_cs2.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_init_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_master_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_init_slave_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_bis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_cis_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_conn_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_diag.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_dtm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_enc_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_past.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_pc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_phy.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_main_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/ll/ll_math.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_events.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_master_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_adv_slave_ae.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_cis_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_conn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_iso.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_master.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_priv.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_sc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/lmgr/lmgr_main_slave.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_ble.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_rm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/ble/sch/sch_tm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/bb/bb_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/chci/chci_tr.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/sch_list.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/controller/sources/common/sch/sch_main.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_btn.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_cfg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_codec.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_crypto.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_flash.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_i2s.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_led.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_rtc.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_sys.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_timer.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_twi.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/platform/targets/maxim/max32655/sources/pal_uart.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/uECC_ll.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/thirdparty/uecc/uECC.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_assert.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_buf.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_bufio.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_cs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_detoken.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_efs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_heap.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_msg.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_nvm.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_os.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_queue.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_timer.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/targets/baremetal/wsf_trace.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/bda.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/bstream.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/calc128.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/crc32.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/fcs.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/prand.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/print.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/terminal.c"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Cordio/wsf/sources/util/wstr.c"/> + <file category="library" condition="Startup IAR" deviceDependent="1" name="Libraries/BlePhy/MAX32655/IAR/libphy_iar.a"/> + </component> + <component Cbundle="MAX32655 BSP" Cbundleversion="1.0.0" Cclass="BSP" Cgroup="EvKit V1" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/Boards/MAX32655/EvKit_V1/Include/" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32655/EvKit_V1/Source/board.c" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/Boards/MAX32655/Include/" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32655/Source/led.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32655/Source/pb.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/Boards/MAX32655/Source/stdio.c" version="1.0.0"/> + </component> + <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.2.0"> + <package name="CMSIS" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/> + <file category="doc" name="CMSIS/Documentation/Core/html/index.html"/> + <file category="include" name="CMSIS/Core/Include/"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="AES" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/AES/aes_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/AES/aes_revb.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="DMA" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/dma_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/dma_reva.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="FLC" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_common.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_reva.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/flc_revb.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="GPIO" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_reva.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/gpio_common.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="I2C" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/i2c_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/i2c_reva.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="ICC" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/icc_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/icc_reva.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Low Power" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/LP/lp_me17.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Startup" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Include/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Include/MAX32655/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ADC/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/AES/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/CRC/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/DMA/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/FLC/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/GPIO/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2C/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/I2S/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/ICC/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/LP/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/RTC/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SPI/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WDT/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/" version="1.0.0"/> + <file category="include" deviceDependent="1" name="Libraries/PeriphDrivers/Source/PT/" version="1.0.0"/> + <file attr="config" category="sourceC" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Source/IAR/low_level_init.c" version="1.0.0"/> + <file attr="config" category="sourceAsm" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Source/IAR/startup_max32655.s" version="1.0.0"/> + <file attr="config" category="sourceC" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Source/IAR/low_level_init.c" version="1.0.0"/> + <file attr="config" category="sourceAsm" condition="Startup IAR" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Source/IAR/cmain.s" version="1.0.0"/> + <file attr="config" category="sourceC" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Source/system_max32655.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/nvic_table.c" version="1.0.0"/> + <file attr="config" category="header" deviceDependent="1" name="Libraries/CMSIS/Device/Maxim/MAX32655/Include/max32655.h" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_assert.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_delay.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/mxc_lock.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/pins_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/sys_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/SYS/nvic_table.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="Timers" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_revb.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TMR/tmr_common.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="TRNG" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/trng_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/TRNG/trng_revb.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="UART" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_revb.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/UART/uart_common.c" version="1.0.0"/> + </component> + <component Cbundle="Maxim API" Cbundleversion="1.0.0" Cclass="Device" Cgroup="WUT" Cvendor="Maxim" Cversion="1.0.0" deviceDependent="1"> + <package name="MAX32655" url="http://www.mxim.net/microcontroller/pack/" vendor="Maxim" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/wut_me17.c" version="1.0.0"/> + <file category="sourceC" deviceDependent="1" name="Libraries/PeriphDrivers/Source/WUT/wut_reva.c" version="1.0.0"/> + </component> + </components> + <apis/> +</configuration> + + + diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/Makefile b/Examples/MAX32657/Bluetooth/BLE_dats/Makefile new file mode 100644 index 00000000000..62fb5aa2561 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/Makefile @@ -0,0 +1,382 @@ +############################################################################### + # + # Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by + # Analog Devices, Inc.), + # Copyright (C) 2023-2024 Analog Devices, Inc. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + ############################################################################## + +# ** Readme! ** +# Don't edit this file! This is the core Makefile for a MaximSDK +# project. The available configuration options can be overridden +# in "project.mk", on the command-line, or with system environment +# variables. + +# See https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system +# for more detailed instructions on how to use this system. + +# The detailed instructions mentioned above are easier to read than +# this file, but the comments found in this file also outline the +# available configuration variables. This file is organized into +# sub-sections, some of which expose config variables. + + +# ******************************************************************************* +# Set the target microcontroller and board to compile for. + +# Every TARGET microcontroller has some Board Support Packages (BSPs) that are +# available for it under the MaximSDK/Libraries/Boards/TARGET folder. The BSP +# that gets selected is MaximSDK/Libraries/Boards/TARGET/BOARD. + +# Configuration Variables: +# - TARGET : Override the default target microcontroller. Ex: TARGET=MAX78000 +# - BOARD : Override the default BSP (case sensitive). Ex: BOARD=EvKit_V1, BOARD=FTHR_RevA + + +ifeq "$(TARGET)" "" +# Default target microcontroller +TARGET := MAX32657 +TARGET_UC := MAX32657 +TARGET_LC := max32657 +else +# "TARGET" has been overridden in the environment or on the command-line. +# We need to calculate an upper and lowercase version of the part number, +# because paths on Linux and MacOS are case-sensitive. +TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET)))) +TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET)))) +endif + +# Default board. +BOARD ?= EvKit_V1 + +# ******************************************************************************* +# Locate the MaximSDK + +# This Makefile needs to know where to find the MaximSDK, and the MAXIM_PATH variable +# should point to the root directory of the MaximSDK installation. Setting this manually +# is usually only required if you're working on the command-line. + +# If MAXIM_PATH is not specified, we assume the project still lives inside of the MaximSDK +# and move up from this project's original location. + +# Configuration Variables: +# - MAXIM_PATH : Tell this Makefile where to find the MaximSDK. Ex: MAXIM_PATH=C:/MaximSDK + + +ifneq "$(MAXIM_PATH)" "" +# Sanitize MAXIM_PATH for backslashes +MAXIM_PATH := $(subst \,/,$(MAXIM_PATH)) +# Locate some other useful paths... +LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries) +CMSIS_ROOT := $(LIBS_DIR)/CMSIS +endif + +# ******************************************************************************* +# Include project Makefile. We do this after formulating TARGET, BOARD, and MAXIM_PATH +# in case project.mk needs to reference those values. However, we also include +# this as early as possible in the Makefile so that it can append to or override +# the variables below. + + +PROJECTMK ?= $(abspath ./project.mk) +include $(PROJECTMK) +$(info Loaded project.mk) +# PROJECTMK is also used by implicit rules and other libraries to add project.mk as a watch file + +# ******************************************************************************* +# Final path sanitization and re-calculation. No options here. + +ifeq "$(MAXIM_PATH)" "" +# MAXIM_PATH is still not defined... +DEPTH := ../../../../ +MAXIM_PATH := $(abspath $(DEPTH)) +$(warning Warning: MAXIM_PATH is not set! Set MAXIM_PATH in your environment or in project.mk to clear this warning.) +$(warning Warning: Attempting to use $(MAXIM_PATH) calculated from relative path) +else +# Sanitize MAXIM_PATH for backslashes +MAXIM_PATH := $(subst \,/,$(MAXIM_PATH)) +endif + +# Final recalculation of LIBS_DIR/CMSIS_ROOT +LIBS_DIR := $(abspath $(MAXIM_PATH)/Libraries) +CMSIS_ROOT := $(LIBS_DIR)/CMSIS + +# One final UC/LC check in case user set TARGET in project.mk +TARGET_UC := $(subst m,M,$(subst a,A,$(subst x,X,$(TARGET)))) +TARGET_LC := $(subst M,m,$(subst A,a,$(subst X,x,$(TARGET)))) + +export TARGET +export TARGET_UC +export TARGET_LC +export CMSIS_ROOT +# TODO: Remove dependency on exports for these variables. + +# ******************************************************************************* +# Set up search paths, and auto-detect all source code on those paths. + +# The following paths are searched by default, where "./" is the project directory. +# ./ +# |- *.h +# |- *.c +# |-include (optional) +# |- *.h +# |-src (optional) +# |- *.c + +# Configuration Variables: +# - VPATH : Tell this Makefile to search additional locations for source (.c) files. +# You should use the "+=" operator with this option. +# Ex: VPATH += your/new/path +# - IPATH : Tell this Makefile to search additional locations for header (.h) files. +# You should use the "+=" operator with this option. +# Ex: VPATH += your/new/path +# - SRCS : Tell this Makefile to explicitly add a source (.c) file to the build. +# This is really only useful if you want to add a source file that isn't +# on any VPATH, in which case you can add the full path to the file here. +# You should use the "+=" operator with this option. +# Ex: SRCS += your/specific/source/file.c +# - AUTOSEARCH : Set whether this Makefile should automatically detect .c files on +# VPATH and add them to the build. This is enabled by default. Set +# to 0 to disable. If autosearch is disabled, source files must be +# manually added to SRCS. +# Ex: AUTOSEARCH = 0 + + +# Where to find source files for this project. +VPATH += . +VPATH += src +VPATH := $(VPATH) + +# Where to find header files for this project +IPATH += . +IPATH += include +IPATH := $(IPATH) + +AUTOSEARCH ?= 1 +ifeq ($(AUTOSEARCH), 1) +# Auto-detect all C/C++ source files on VPATH +SRCS += $(wildcard $(addsuffix /*.c, $(VPATH))) +SRCS += $(wildcard $(addsuffix /*.cpp, $(VPATH))) +endif + +# Collapse SRCS before passing them on to the next stage +SRCS := $(SRCS) + +# ******************************************************************************* +# Set the output filename + +# Configuration Variables: +# - PROJECT : Override the default output filename. Ex: PROJECT=MyProject + + +# The default value creates a file named after the target micro. Ex: MAX78000.elf +PROJECT ?= $(TARGET_LC) + +# ******************************************************************************* +# Compiler options + +# Configuration Variables: +# - DEBUG : Set DEBUG=1 to build explicitly for debugging. This adds some additional +# symbols and sets -Og as the default optimization level. +# - MXC_OPTIMIZE_CFLAGS : Override the default compiler optimization level. +# Ex: MXC_OPTIMIZE_CFLAGS = -O2 +# - PROJ_CFLAGS : Add additional compiler flags to the build. +# You should use the "+=" operator with this option. +# Ex: PROJ_CFLAGS += -Wextra +# - MFLOAT_ABI : Set the floating point acceleration level. +# The only options are "hard", "soft", or "softfp". +# Ex: MFLOAT_ABI = hard +# - LINKERFILE : Override the default linkerfile. +# Ex: LINKERFILE = customlinkerfile.ld +# - LINKERPATH : Override the default search location for $(LINKERFILE) +# The default search location is $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/GCC +# If $(LINKERFILE) cannot be found at this path, then the root project +# directory will be used as a fallback. + +# Select 'GCC' or 'IAR' compiler +ifeq "$(COMPILER)" "" +COMPILER := GCC +endif + +# Set default compiler optimization levels +ifeq "$(MAKECMDGOALS)" "release" +# Default optimization level for "release" builds (make release) +MXC_OPTIMIZE_CFLAGS ?= -O2 +DEBUG = 0 +endif + +ifeq ($(DEBUG),1) +# Optimizes for debugging as recommended +# by GNU for code-edit-debug cycles +# https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#Optimize-Options +MXC_OPTIMIZE_CFLAGS := -Og +endif + +# Default level if not building for release or explicitly for debug +MXC_OPTIMIZE_CFLAGS ?= -Og + +# Set compiler flags +PROJ_CFLAGS += -Wall # Enable warnings +PROJ_CFLAGS += -DMXC_ASSERT_ENABLE + +# Set hardware floating point acceleration. +# Options are: +# - hard +# - soft +# - softfp (default if MFLOAT_ABI is not set) +MFLOAT_ABI ?= softfp +# MFLOAT_ABI must be exported to other Makefiles +export MFLOAT_ABI + +# This path contains system-level intialization files for the target micro. Add to the build. +VPATH += $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source + +# ******************************************************************************* +# Secure Boot Tools (SBT) + +# This section integrates the Secure Boot Tools. It's intended for use with +# microcontrollers that have a secure bootloader. + +# Enabling SBT integration will add some special rules, such as "make sla", "make scpa", etc. + +# Configuration variables: +# SBT : Toggle SBT integration. Set to 1 to enable, or 0 +# to disable +# MAXIM_SBT_DIR : Specify the location of the SBT tool binaries. This defaults to +# Tools/SBT in the MaximSDK. The standalone SBT installer will override +# this via an environment variable. +# TARGET_SEC : Specify the part number to be passed into the SBT. This should match +# the secure variant part #. The default value will depend on TARGET. +# For example, TARGET=MAX32650 will result in TARGET_SEC=MAX32651, and +# the default selection happens in Tools/SBT/SBT-config. +# However, if there are multiple secure part #s for the target +# microcontroller this variable may need to be changed. + +SBT ?= 0 +ifeq ($(SBT), 1) +MAXIM_SBT_DIR ?= $(MAXIM_PATH)/Tools/SBT +MAXIM_SBT_DIR := $(subst \,/,$(MAXIM_SBT_DIR)) +# ^ Must sanitize path for \ on Windows, since this may come from an environment +# variable. + +export MAXIM_SBT_DIR # SBTs must have this environment variable defined to work + +# SBT-config.mk and SBT-rules.mk are included further down this Makefile. + +endif # SBT + +# ******************************************************************************* +# Default goal selection. This section allows you to override the default goal +# that will run if no targets are specified on the command-line. +# (ie. just running 'make' instead of 'make all') + +# Configuration variables: +# .DEFAULT_GOAL : Set the default goal if no targets were specified on the +# command-line +# ** "override" must be used with this variable. ** +# Ex: "override .DEFAULT_GOAL = mygoal" + +ifeq "$(.DEFAULT_GOAL)" "" +ifeq ($(SBT),1) +override .DEFAULT_GOAL := sla +else +override .DEFAULT_GOAL := all +endif +endif + +# Developer note: 'override' is used above for legacy Makefile compatibility. +# gcc.mk/gcc_riscv.mk need to hard-set 'all' internally, so this new system +# uses 'override' to come in over the top without breaking old projects. + +# It's also necessary to explicitly set MAKECMDGOALS... +ifeq "$(MAKECMDGOALS)" "" +MAKECMDGOALS:=$(.DEFAULT_GOAL) +endif + +# Enable colors when --sync-output is used. +# See https://www.gnu.org/software/make/manual/make.html#Terminal-Output (section 13.2) +ifneq ($(MAKE_TERMOUT),) +PROJ_CFLAGS += -fdiagnostics-color=always +endif + +ifneq ($(FORCE_COLOR),) +PROJ_CFLAGS += -fdiagnostics-color=always +endif + +# ******************************************************************************* +# Include SBT config. We need to do this here because it needs to know +# the current MAKECMDGOAL. +ifeq ($(SBT),1) +include $(MAXIM_PATH)/Tools/SBT/SBT-config.mk +endif + +# ******************************************************************************* +# Libraries + +# This section offers "toggle switches" to include or exclude the libraries that +# are available in the MaximSDK. Set a configuration variable to 1 to include the +# library in the build, or 0 to exclude. + +# Each library may also have its own library specific configuration variables. See +# Libraries/libs.mk for more details. + +# Configuration variables: +# - LIB_BOARD : Include the Board-Support Package (BSP) library. (Enabled by default) +# - LIB_PERIPHDRIVERS : Include the peripheral driver library. (Enabled by default) +# - LIB_CMSIS_DSP : Include the CMSIS-DSP library. +# - LIB_CORDIO : Include the Cordio BLE library +# - LIB_FCL : Include the Free Cryptographic Library (FCL) +# - LIB_FREERTOS : Include the FreeRTOS and FreeRTOS-Plus-CLI libraries +# - LIB_LC3 : Include the Low Complexity Communication Codec (LC3) library +# - LIB_LITTLEFS : Include the "little file system" (littleFS) library +# - LIB_LWIP : Include the lwIP library +# - LIB_MAXUSB : Include the MAXUSB library +# - LIB_SDHC : Include the SDHC library + +include $(LIBS_DIR)/libs.mk + + +# ******************************************************************************* +# Rules + +# Include the rules for building for this target. All other makefiles should be +# included before this one. +include $(CMSIS_ROOT)/Device/Maxim/$(TARGET_UC)/Source/$(COMPILER)/$(TARGET_LC).mk + +# Include the rules that integrate the SBTs. SBTs are a special case that must be +# include after the core gcc rules to extend them. +ifeq ($(SBT), 1) +include $(MAXIM_PATH)/Tools/SBT/SBT-rules.mk +endif + + +# Get .DEFAULT_GOAL working. +ifeq "$(MAKECMDGOALS)" "" +MAKECMDGOALS:=$(.DEFAULT_GOAL) +endif + + +all: +# Extend the functionality of the "all" recipe here + $(PREFIX)-size --format=berkeley $(BUILD_DIR)/$(PROJECT).elf + +libclean: + $(MAKE) -f ${PERIPH_DRIVER_DIR}/periphdriver.mk clean.periph + +clean: +# Extend the functionality of the "clean" recipe here + +# The rule to clean out all the build products. +distclean: clean libclean diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/README.md b/Examples/MAX32657/Bluetooth/BLE_dats/README.md new file mode 100644 index 00000000000..ad9c67fb50a --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/README.md @@ -0,0 +1,22 @@ +# BLE_dats + +Refer to the [BLE_datc_dats](../../../../Libraries/Cordio/docs/Applications/BLE_datc_dats.md) documentation in the Cordio Library. + +## Software + +### Project Usage + +Universal instructions on building, flashing, and debugging this project can be found in the **[MSDK User Guide](https://analogdevicesinc.github.io/msdk/USERGUIDE/)**. + +### Required Connections +* Connect a USB cable between the PC and the (USB/PWR - UART) connector. + +### Project-Specific Build Notes +* Setting `TRACE=1` in [**project.mk**](project.mk) initializes the on-board USB-to-UART adapter for +viewing the trace messages and interacting with the application. Port uses settings: + - Baud : 115200 + - Char size : 8 + - Parity : None + - Stop bits : 1 + - HW Flow Control : No + - SW Flow Control : No diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/dats_api.h b/Examples/MAX32657/Bluetooth/BLE_dats/dats_api.h new file mode 100644 index 00000000000..fe7e1b2fe38 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/dats_api.h @@ -0,0 +1,75 @@ +/*************************************************************************************************/ +/*! + * \file + * + * \brief Proprietary data transfer server sample application. + * + * Copyright (c) 2012-2018 Arm Ltd. All Rights Reserved. + * + * Copyright (c) 2019 Packetcraft, Inc. + * + * Portions Copyright (c) 2022-2023 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*************************************************************************************************/ + +#ifndef EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_DATS_API_H_ +#define EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_DATS_API_H_ + +#include "wsf_os.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************************************** + Function Declarations +**************************************************************************************************/ +/*************************************************************************************************/ +/*! + * \brief Start the application. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsStart(void); + +/*************************************************************************************************/ +/*! + * \brief Application handler init function called during system initialization. + * + * \param handlerID WSF handler ID for App. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsHandlerInit(wsfHandlerId_t handlerId); + +/*************************************************************************************************/ +/*! + * \brief WSF event handler for the application. + * + * \param event WSF event mask. + * \param pMsg WSF message. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg); + +#ifdef __cplusplus +}; +#endif + +#endif // EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_DATS_API_H_ diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/dats_main.c b/Examples/MAX32657/Bluetooth/BLE_dats/dats_main.c new file mode 100644 index 00000000000..aca2d6c459c --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/dats_main.c @@ -0,0 +1,1026 @@ +/*************************************************************************************************/ +/*! + * \file + * + * \brief Data transmitter sample application. + * + * Copyright (c) 2012-2019 Arm Ltd. All Rights Reserved. + * + * Copyright (c) 2019-2020 Packetcraft, Inc. + * + * Portions Copyright (c) 2022-2023 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*************************************************************************************************/ + +#include +#include "wsf_types.h" +#include "util/bstream.h" +#include "wsf_msg.h" +#include "wsf_trace.h" +#include "wsf_buf.h" +#include "wsf_nvm.h" +#include "wsf_timer.h" +#include "hci_api.h" +#include "sec_api.h" +#include "dm_api.h" +#include "smp_api.h" +#include "att_api.h" +#include "app_api.h" +#include "app_main.h" +#include "app_db.h" +#include "app_ui.h" +#include "svc_ch.h" +#include "svc_core.h" +#include "svc_wp.h" +#include "util/calc128.h" +#include "gatt/gatt_api.h" +#include "dats_api.h" +#include "wut.h" +#include "trimsir_regs.h" +#include "pal_btn.h" +#include "pal_uart.h" +#include "tmr.h" +#include "svc_sds.h" + +/************************************************************************************************** + Macros +**************************************************************************************************/ +#if (BT_VER > 8) + +/* PHY Test Modes */ +#define DATS_PHY_1M 1 +#define DATS_PHY_2M 2 +#define DATS_PHY_CODED 3 + +#endif /* BT_VER */ + +#define TRIM_TIMER_EVT 0x99 + +#define TRIM_TIMER_PERIOD_MS 60000 + +/*! Button press handling constants */ +#define BTN_SHORT_MS 200 +#define BTN_MED_MS 500 +#define BTN_LONG_MS 1000 + +#define BTN_1_TMR MXC_TMR2 +#define BTN_2_TMR MXC_TMR3 + +/*! Enumeration of client characteristic configuration descriptors */ +enum { + DATS_GATT_SC_CCC_IDX, /*! GATT service, service changed characteristic */ + DATS_WP_DAT_CCC_IDX, /*! Arm Ltd. proprietary service, data transfer characteristic */ + DATS_SEC_DAT_CCC_IDX, + DATS_NUM_CCC_IDX +}; + +/************************************************************************************************** + Configurable Parameters +**************************************************************************************************/ + +/*! configurable parameters for advertising */ +static const appAdvCfg_t datsAdvCfg = { + { 0, 0, 0 }, /*! Advertising durations in ms */ + { 300, 1600, 0 } /*! Advertising intervals in 0.625 ms units */ +}; + +/*! configurable parameters for slave */ +static const appSlaveCfg_t datsSlaveCfg = { + 1, /*! Maximum connections */ +}; + +/*! Configurable security parameters to set +* pairing and authentication requirements. +* +* Authentication and bonding flags +* -DM_AUTH_BOND_FLAG : Bonding requested +* -DM_AUTH_SC_FLAG : LE Secure Connections requested +* -DM_AUTH_KP_FLAG : Keypress notifications requested +* -DM_AUTH_MITM_FLAG : MITM (authenticated pairing) requested + pairing method is determined by IO capabilities below +* +* Initiator key distribution flags +* -DM_KEY_DIST_LTK : Distribute LTK used for encryption +* -DM_KEY_DIST_IRK : Distribute IRK used for privacy +* -DM_KEY_DIST_CSRK : Distribute CSRK used for signed data +*/ +static const appSecCfg_t datsSecCfg = { + DM_AUTH_BOND_FLAG | DM_AUTH_SC_FLAG | DM_AUTH_MITM_FLAG, /*! Authentication and bonding flags */ + DM_KEY_DIST_IRK, /*! Initiator key distribution flags */ + DM_KEY_DIST_LTK | DM_KEY_DIST_IRK, /*! Responder key distribution flags */ + FALSE, /*! TRUE if Out-of-band pairing data is present */ + INIT_SECURITY /*! TRUE to initiate security upon connection */ +}; + +/* OOB UART parameters */ +#define OOB_BAUD 115200 +#define OOB_FLOW FALSE + +/*! TRUE if Out-of-band pairing data is to be sent */ +static const bool_t datsSendOobData = FALSE; + +/* OOB Connection identifier */ +dmConnId_t oobConnId; + +/*! SMP security parameter configuration +* +* I/O Capability Codes to be set for +* Pairing Request (SMP_CMD_PAIR_REQ) packets and Pairing Response (SMP_CMD_PAIR_RSP) packets +* when the MITM flag is set in Configurable security parameters above. +* -SMP_IO_DISP_ONLY : Display only. +* -SMP_IO_DISP_YES_NO : Display yes/no. +* -SMP_IO_KEY_ONLY : Keyboard only. +* -SMP_IO_NO_IN_NO_OUT : No input, no output. +* -SMP_IO_KEY_DISP : Keyboard display. +*/ +static const smpCfg_t datsSmpCfg = { + 500, /*! 'Repeated attempts' timeout in msec */ + SMP_IO_KEY_ONLY, /*! I/O Capability */ + 7, /*! Minimum encryption key length */ + 16, /*! Maximum encryption key length */ + 1, /*! Attempts to trigger 'repeated attempts' timeout */ + 0, /*! Device authentication requirements */ + 64000, /*! Maximum repeated attempts timeout in msec */ + 64000, /*! Time msec before attemptExp decreases */ + 2 /*! Repeated attempts multiplier exponent */ +}; + +/* iOS connection parameter update requirements + + The connection parameter request may be rejected if it does not meet the following guidelines: + * Peripheral Latency of up to 30 connection intervals. + * Supervision Timeout from 2 seconds to 6 seconds. + * Interval Min of at least 15 ms. + * Interval Min is a multiple of 15 ms. + * One of the following: + * Interval Max at least 15 ms greater than Interval Min. + * Interval Max and Interval Min both set to 15 ms. + * Interval Max * (Peripheral Latency + 1) of 2 seconds or less. + * Supervision Timeout greater than Interval Max * (Peripheral Latency + 1) * 3. +*/ + +/*! configurable parameters for connection parameter update */ +static const appUpdateCfg_t datsUpdateCfg = { + 0, + /*! ^ Connection idle period in ms before attempting + connection parameter update. set to zero to disable */ + (15 * 8 / 1.25), /*! Minimum connection interval in 1.25ms units */ + (15 * 12 / 1.25), /*! Maximum connection interval in 1.25ms units */ + 0, /*! Connection latency */ + 600, /*! Supervision timeout in 10ms units */ + 5 /*! Number of update attempts before giving up */ +}; + +/*! ATT configurable parameters (increase MTU) */ +static const attCfg_t datsAttCfg = { + 15, /* ATT server service discovery connection idle timeout in seconds */ + 241, /* desired ATT MTU */ + ATT_MAX_TRANS_TIMEOUT, /* transcation timeout in seconds */ + 4 /* number of queued prepare writes supported by server */ +}; + +/*! local IRK */ +static uint8_t localIrk[] = { 0x95, 0xC8, 0xEE, 0x6F, 0xC5, 0x0D, 0xEF, 0x93, + 0x35, 0x4E, 0x7C, 0x57, 0x08, 0xE2, 0xA3, 0x85 }; + +/************************************************************************************************** + Advertising Data +**************************************************************************************************/ + +/*! advertising data, discoverable mode */ +static const uint8_t datsAdvDataDisc[] = { + /*! flags */ + 2, /*! length */ + DM_ADV_TYPE_FLAGS, /*! AD type */ + DM_FLAG_LE_GENERAL_DISC | /*! flags */ + DM_FLAG_LE_BREDR_NOT_SUP, + + /*! manufacturer specific data */ + 3, /*! length */ + DM_ADV_TYPE_MANUFACTURER, /*! AD type */ + UINT16_TO_BYTES(HCI_ID_ANALOG) /*! company ID */ +}; + +/*! scan data, discoverable mode */ +static const uint8_t deviceName[] = ADV_NAME; +static uint8_t datsScanDataDisc[sizeof(deviceName) + 2]; + +/************************************************************************************************** + Client Characteristic Configuration Descriptors +**************************************************************************************************/ + +/*! client characteristic configuration descriptors settings, indexed by above enumeration */ +static const attsCccSet_t datsCccSet[DATS_NUM_CCC_IDX] = { + /* cccd handle value range security level */ + { GATT_SC_CH_CCC_HDL, ATT_CLIENT_CFG_INDICATE, DM_SEC_LEVEL_NONE }, /* DATS_GATT_SC_CCC_IDX */ + { WP_DAT_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE }, /* DATS_WP_DAT_CCC_IDX */ + { SEC_DAT_CH_CCC_HDL, ATT_CLIENT_CFG_NOTIFY, DM_SEC_LEVEL_NONE } /* DATS_SEC_DAT_CCC_IDX */ +}; + +/************************************************************************************************** + Local Variables +**************************************************************************************************/ + +/*! application control block */ +static struct { + wsfHandlerId_t handlerId; /* WSF handler ID */ + appDbHdl_t resListRestoreHdl; /*! Resolving List last restored handle */ + bool_t restoringResList; /*! Restoring resolving list from NVM */ +} datsCb; + +/* LESC OOB configuration */ +static dmSecLescOobCfg_t *datsOobCfg; + +/* Timer for trimming of the 32 kHz crystal */ +wsfTimer_t trimTimer; + +extern void setAdvTxPower(void); + +/*************************************************************************************************/ +/*! + * \brief OOB RX callback. + * + * \return None. + */ +/*************************************************************************************************/ +void oobRxCback(void) +{ + if (datsOobCfg != NULL) { + DmSecSetOob(oobConnId, datsOobCfg); + } + + DmSecAuthRsp(oobConnId, 0, NULL); +} + +/*************************************************************************************************/ +/*! + * \brief Send notification containing data. + * + * \param connId DM connection ID. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsSendData(dmConnId_t connId) +{ + uint8_t str[] = "hello back"; + + if (AttsCccEnabled(connId, DATS_WP_DAT_CCC_IDX)) { + /* send notification */ + AttsHandleValueNtf(connId, WP_DAT_HDL, sizeof(str), str); + } +} + +/*************************************************************************************************/ +/*! + * \brief Application DM callback. + * + * \param pDmEvt DM callback event + * + * \return None. + */ +/*************************************************************************************************/ +static void datsDmCback(dmEvt_t *pDmEvt) +{ + dmEvt_t *pMsg; + uint16_t len; + + if (pDmEvt->hdr.event == DM_SEC_ECC_KEY_IND) { + DmSecSetEccKey(&pDmEvt->eccMsg.data.key); + + /* If the local device sends OOB data. */ + if (datsSendOobData) { + uint8_t oobLocalRandom[SMP_RAND_LEN]; + SecRand(oobLocalRandom, SMP_RAND_LEN); + DmSecCalcOobReq(oobLocalRandom, pDmEvt->eccMsg.data.key.pubKey_x); + + /* Setup HCI UART for OOB */ + PalUartConfig_t hciUartCfg; + hciUartCfg.rdCback = oobRxCback; + hciUartCfg.wrCback = NULL; + hciUartCfg.baud = OOB_BAUD; + hciUartCfg.hwFlow = OOB_FLOW; + + PalUartInit(PAL_UART_ID_CHCI, &hciUartCfg); + } + } else if (pDmEvt->hdr.event == DM_SEC_CALC_OOB_IND) { + if (datsOobCfg == NULL) { + datsOobCfg = WsfBufAlloc(sizeof(dmSecLescOobCfg_t)); + memset(datsOobCfg, 0, sizeof(dmSecLescOobCfg_t)); + } + + if (datsOobCfg) { + Calc128Cpy(datsOobCfg->localConfirm, pDmEvt->oobCalcInd.confirm); + Calc128Cpy(datsOobCfg->localRandom, pDmEvt->oobCalcInd.random); + + /* Start the RX for the peer OOB data */ + PalUartReadData(PAL_UART_ID_CHCI, datsOobCfg->peerRandom, + (SMP_RAND_LEN + SMP_CONFIRM_LEN)); + } else { + APP_TRACE_ERR0("Error allocating OOB data"); + } + } else { + len = DmSizeOfEvt(pDmEvt); + + if ((pMsg = WsfMsgAlloc(len)) != NULL) { + memcpy(pMsg, pDmEvt, len); + WsfMsgSend(datsCb.handlerId, pMsg); + } + } +} + +/*************************************************************************************************/ +/*! + * \brief Application ATT callback. + * + * \param pEvt ATT callback event + * + * \return None. + */ +/*************************************************************************************************/ +static void datsAttCback(attEvt_t *pEvt) +{ + attEvt_t *pMsg; + + if ((pMsg = WsfMsgAlloc(sizeof(attEvt_t) + pEvt->valueLen)) != NULL) { + memcpy(pMsg, pEvt, sizeof(attEvt_t)); + pMsg->pValue = (uint8_t *)(pMsg + 1); + memcpy(pMsg->pValue, pEvt->pValue, pEvt->valueLen); + WsfMsgSend(datsCb.handlerId, pMsg); + } +} + +/*************************************************************************************************/ +/*! + * \brief Application ATTS client characteristic configuration callback. + * + * \param pDmEvt DM callback event + * + * \return None. + */ +/*************************************************************************************************/ +static void datsCccCback(attsCccEvt_t *pEvt) +{ + appDbHdl_t dbHdl; + + /* If CCC not set from initialization and there's a device record and currently bonded */ + if ((pEvt->handle != ATT_HANDLE_NONE) && + ((dbHdl = AppDbGetHdl((dmConnId_t)pEvt->hdr.param)) != APP_DB_HDL_NONE) && + AppCheckBonded((dmConnId_t)pEvt->hdr.param)) { + /* Store value in device database. */ + AppDbSetCccTblValue(dbHdl, pEvt->idx, pEvt->value); + AppDbNvmStoreCccTbl(dbHdl); + } +} + +/*************************************************************************************************/ +/*! + * \brief Start the trim procedure for the 32 kHz crystal. + * \details 32 kHz crystal will drift over temperature, execute this trim procedure to align with 32 MHz clock. + * System will not be able to enter standby mode while this procedure is in progress (200-600 ms). + * Larger period values will save power. Do not execute this procedure while BLE hardware is disabled. + * Disable this periodic trim if under constant temperature. Refer to 32 kHz crystal data sheet for temperature variance. + * + * \return None. + */ +/*************************************************************************************************/ +static void trimStart(void) +{ + int err; + extern void wutTrimCb(int err); + + /* Start the 32 kHz crystal trim procedure */ + err = MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); + if (err != E_NO_ERROR) { + APP_TRACE_INFO1("Error starting 32kHz crystal trim %d", err); + } +} + +/*************************************************************************************************/ +/*! + * \brief ATTS write callback for proprietary data service. + * + * \return ATT status. + */ +/*************************************************************************************************/ +uint8_t datsWpWriteCback(dmConnId_t connId, uint16_t handle, uint8_t operation, uint16_t offset, + uint16_t len, uint8_t *pValue, attsAttr_t *pAttr) +{ + static uint32_t packetCount = 0; + + if (len < 64) { + /* print received data if not a speed test message */ + APP_TRACE_INFO0((const char *)pValue); + + /* send back some data */ + datsSendData(connId); + } else { + APP_TRACE_INFO1("Speed test packet Count [%d]", packetCount++); + if (packetCount >= 5000) { + packetCount = 0; + } + } + return ATT_SUCCESS; +} + +/*************************************************************************************************/ +/*! + * \brief ATTS write callback for secured data service. + * + * \return ATT status. + */ +/*************************************************************************************************/ +uint8_t secDatWriteCback(dmConnId_t connId, uint16_t handle, uint8_t operation, uint16_t offset, + uint16_t len, uint8_t *pValue, attsAttr_t *pAttr) +{ + uint8_t str[] = "Secure data received!"; + APP_TRACE_INFO0(">> Received secure data <<"); + APP_TRACE_INFO0((const char *)pValue); + + /* Write data recevied into characteristic */ + AttsSetAttr(SEC_DAT_HDL, len, (uint8_t *)pValue); + /* if notifications are enabled send one */ + if (AttsCccEnabled(connId, DATS_SEC_DAT_CCC_IDX)) { + /* send notification */ + AttsHandleValueNtf(connId, SEC_DAT_HDL, sizeof(str), str); + } + return ATT_SUCCESS; +} + +/*************************************************************************************************/ +/*! +* +* \brief Add device to resolving list. +* +* \param dbHdl Device DB record handle. +* +* \return None. +*/ +/*************************************************************************************************/ +static void datsPrivAddDevToResList(appDbHdl_t dbHdl) +{ + dmSecKey_t *pPeerKey; + + /* if peer IRK present */ + if ((pPeerKey = AppDbGetKey(dbHdl, DM_KEY_IRK, NULL)) != NULL) { + /* set advertising peer address */ + AppSetAdvPeerAddr(pPeerKey->irk.addrType, pPeerKey->irk.bdAddr); + } +} + +/*************************************************************************************************/ +/*! +* +* \brief Handle remove device from resolving list indication. +* +* \param pMsg Pointer to DM callback event message. +* +* \return None. +*/ +/*************************************************************************************************/ +static void datsPrivRemDevFromResListInd(dmEvt_t *pMsg) +{ + if (pMsg->hdr.status == HCI_SUCCESS) { + if (AppDbGetHdl((dmConnId_t)pMsg->hdr.param) != APP_DB_HDL_NONE) { + uint8_t addrZeros[BDA_ADDR_LEN] = { 0 }; + + /* clear advertising peer address and its type */ + AppSetAdvPeerAddr(HCI_ADDR_TYPE_PUBLIC, addrZeros); + } + } +} + +/*************************************************************************************************/ +/*! + * + * \brief Display stack version. + * + * \param version version number. + * + * \return None. + */ +/*************************************************************************************************/ +void datsDisplayStackVersion(const char *pVersion) +{ + APP_TRACE_INFO1("Stack Version: %s", pVersion); +} + +/*************************************************************************************************/ +/*! + * \brief Set up advertising and other procedures that need to be performed after + * device reset. + * + * \param pMsg Pointer to message. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsSetup(dmEvt_t *pMsg) +{ + /* Initialize control information */ + datsCb.restoringResList = FALSE; + memcpy(&datsScanDataDisc[2], deviceName, sizeof(deviceName)); + datsScanDataDisc[0] = sizeof(deviceName); + datsScanDataDisc[1] = DM_ADV_TYPE_LOCAL_NAME; + /* set advertising and scan response data for discoverable mode */ + AppAdvSetData(APP_ADV_DATA_DISCOVERABLE, sizeof(datsAdvDataDisc), (uint8_t *)datsAdvDataDisc); + AppAdvSetData(APP_SCAN_DATA_DISCOVERABLE, sizeof(datsScanDataDisc), + (uint8_t *)datsScanDataDisc); + + /* set advertising and scan response data for connectable mode */ + AppAdvSetData(APP_ADV_DATA_CONNECTABLE, sizeof(datsAdvDataDisc), (uint8_t *)datsAdvDataDisc); + AppAdvSetData(APP_SCAN_DATA_CONNECTABLE, sizeof(datsScanDataDisc), (uint8_t *)datsScanDataDisc); + + /* start advertising; automatically set connectable/discoverable mode and bondable mode */ + AppAdvStart(APP_MODE_AUTO_INIT); +} + +/*************************************************************************************************/ +/*! + * \brief Begin restoring the resolving list. + * + * \param pMsg Pointer to DM callback event message. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsRestoreResolvingList(dmEvt_t *pMsg) +{ + /* Restore first device to resolving list in Controller. */ + datsCb.resListRestoreHdl = AppAddNextDevToResList(APP_DB_HDL_NONE); + + if (datsCb.resListRestoreHdl == APP_DB_HDL_NONE) { + /* No device to restore. Setup application. */ + datsSetup(pMsg); + } else { + datsCb.restoringResList = TRUE; + } +} + +/*************************************************************************************************/ +/*! +* \brief Handle add device to resolving list indication. + * + * \param pMsg Pointer to DM callback event message. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsPrivAddDevToResListInd(dmEvt_t *pMsg) +{ + /* Check if in the process of restoring the Device List from NV */ + if (datsCb.restoringResList) { + /* Set the advertising peer address. */ + datsPrivAddDevToResList(datsCb.resListRestoreHdl); + + /* Retore next device to resolving list in Controller. */ + datsCb.resListRestoreHdl = AppAddNextDevToResList(datsCb.resListRestoreHdl); + + if (datsCb.resListRestoreHdl == APP_DB_HDL_NONE) { + /* No additional device to restore. Setup application. */ + datsSetup(pMsg); + } + } else { + datsPrivAddDevToResList(AppDbGetHdl((dmConnId_t)pMsg->hdr.param)); + } +} + +/*************************************************************************************************/ +/*! + * \brief Process messages from the event handler. + * + * \param pMsg Pointer to message. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsProcMsg(dmEvt_t *pMsg) +{ + uint8_t uiEvent = APP_UI_NONE; + + switch (pMsg->hdr.event) { + case DM_RESET_CMPL_IND: + AttsCalculateDbHash(); + DmSecGenerateEccKeyReq(); + AppDbNvmReadAll(); + datsRestoreResolvingList(pMsg); + setAdvTxPower(); + uiEvent = APP_UI_RESET_CMPL; + break; + + case DM_ADV_START_IND: + WsfTimerStartMs(&trimTimer, TRIM_TIMER_PERIOD_MS); + + uiEvent = APP_UI_ADV_START; + break; + + case DM_ADV_STOP_IND: + WsfTimerStop(&trimTimer); + uiEvent = APP_UI_ADV_STOP; + break; + + case DM_CONN_OPEN_IND: + uiEvent = APP_UI_CONN_OPEN; + if (datsSecCfg.initiateSec) { + AppSlaveSecurityReq((dmConnId_t)pMsg->hdr.param); + } + break; + + case DM_CONN_CLOSE_IND: + WsfTimerStop(&trimTimer); + + APP_TRACE_INFO2("Connection closed status 0x%x, reason 0x%x", pMsg->connClose.status, + pMsg->connClose.reason); + switch (pMsg->connClose.reason) { + case HCI_ERR_CONN_TIMEOUT: + APP_TRACE_INFO0(" TIMEOUT"); + break; + case HCI_ERR_LOCAL_TERMINATED: + APP_TRACE_INFO0(" LOCAL TERM"); + break; + case HCI_ERR_REMOTE_TERMINATED: + APP_TRACE_INFO0(" REMOTE TERM"); + break; + case HCI_ERR_CONN_FAIL: + APP_TRACE_INFO0(" FAIL ESTABLISH"); + break; + case HCI_ERR_MIC_FAILURE: + APP_TRACE_INFO0(" MIC FAILURE"); + break; + } + uiEvent = APP_UI_CONN_CLOSE; + break; + + case DM_SEC_PAIR_CMPL_IND: + DmSecGenerateEccKeyReq(); + AppDbNvmStoreBond(AppDbGetHdl((dmConnId_t)pMsg->hdr.param)); + uiEvent = APP_UI_SEC_PAIR_CMPL; + break; + + case DM_SEC_PAIR_FAIL_IND: + DmSecGenerateEccKeyReq(); + uiEvent = APP_UI_SEC_PAIR_FAIL; + break; + + case DM_SEC_ENCRYPT_IND: + uiEvent = APP_UI_SEC_ENCRYPT; + break; + + case DM_SEC_ENCRYPT_FAIL_IND: + uiEvent = APP_UI_SEC_ENCRYPT_FAIL; + break; + + case DM_SEC_AUTH_REQ_IND: + + if (pMsg->authReq.oob) { + dmConnId_t connId = (dmConnId_t)pMsg->hdr.param; + + APP_TRACE_INFO0("Sending OOB data"); + oobConnId = connId; + + /* Start the TX to send the local OOB data */ + PalUartWriteData(PAL_UART_ID_CHCI, datsOobCfg->localRandom, + (SMP_RAND_LEN + SMP_CONFIRM_LEN)); + + } else { + AppHandlePasskey(&pMsg->authReq); + } + break; + + case DM_SEC_COMPARE_IND: + AppHandleNumericComparison(&pMsg->cnfInd); + break; + + case DM_PRIV_ADD_DEV_TO_RES_LIST_IND: + datsPrivAddDevToResListInd(pMsg); + break; + + case DM_PRIV_REM_DEV_FROM_RES_LIST_IND: + datsPrivRemDevFromResListInd(pMsg); + break; + + case DM_ADV_NEW_ADDR_IND: + break; + + case DM_PRIV_CLEAR_RES_LIST_IND: + APP_TRACE_INFO1("Clear resolving list status 0x%02x", pMsg->hdr.status); + break; + +#if (BT_VER > 8) + case DM_PHY_UPDATE_IND: + APP_TRACE_INFO2("DM_PHY_UPDATE_IND - RX: %d, TX: %d", pMsg->phyUpdate.rxPhy, + pMsg->phyUpdate.txPhy); + break; +#endif /* BT_VER */ + + case TRIM_TIMER_EVT: + trimStart(); + WsfTimerStartMs(&trimTimer, TRIM_TIMER_PERIOD_MS); + break; + + default: + break; + } + + if (uiEvent != APP_UI_NONE) { + AppUiAction(uiEvent); + } +} + +/*************************************************************************************************/ +/*! + * \brief Application handler init function called during system initialization. + * + * \param handlerID WSF handler ID. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsHandlerInit(wsfHandlerId_t handlerId) +{ + uint8_t addr[6] = { 0 }; + APP_TRACE_INFO0("DatsHandlerInit"); + AppGetBdAddr(addr); + APP_TRACE_INFO6("MAC Addr: %02x:%02x:%02x:%02x:%02x:%02x", addr[5], addr[4], addr[3], addr[2], + addr[1], addr[0]); + APP_TRACE_INFO1("Adv local name: %s", deviceName); + + /* store handler ID */ + datsCb.handlerId = handlerId; + + /* Set configuration pointers */ + pAppSlaveCfg = (appSlaveCfg_t *)&datsSlaveCfg; + pAppAdvCfg = (appAdvCfg_t *)&datsAdvCfg; + pAppSecCfg = (appSecCfg_t *)&datsSecCfg; + pAppUpdateCfg = (appUpdateCfg_t *)&datsUpdateCfg; + pSmpCfg = (smpCfg_t *)&datsSmpCfg; + pAttCfg = (attCfg_t *)&datsAttCfg; + + /* Initialize application framework */ + AppSlaveInit(); + AppServerInit(); + + /* Set IRK for the local device */ + DmSecSetLocalIrk(localIrk); + + /* Setup 32 kHz crystal trim timer */ + trimTimer.handlerId = handlerId; + trimTimer.msg.event = TRIM_TIMER_EVT; +} + +/*************************************************************************************************/ +/*! + * \brief Button press callback. + * + * \param btn Button press. + * + * \return None. + */ +/*************************************************************************************************/ +static void datsBtnCback(uint8_t btn) +{ +#if (BT_VER > 8) + dmConnId_t connId; + if ((connId = AppConnIsOpen()) != DM_CONN_ID_NONE) +#else + if (AppConnIsOpen() != DM_CONN_ID_NONE) +#endif /* BT_VER */ + { + switch (btn) { +#if (BT_VER > 8) + case APP_UI_BTN_2_SHORT: { + static uint32_t coded_phy_cnt = 0; + /* Toggle PHY Test Mode */ + coded_phy_cnt++; + switch (coded_phy_cnt & 0x3) { + case 0: + /* 1M PHY */ + APP_TRACE_INFO0("1 MBit TX and RX PHY Requested"); + DmSetPhy(connId, HCI_ALL_PHY_ALL_PREFERENCES, HCI_PHY_LE_1M_BIT, HCI_PHY_LE_1M_BIT, + HCI_PHY_OPTIONS_NONE); + break; + case 1: + /* 2M PHY */ + APP_TRACE_INFO0("2 MBit TX and RX PHY Requested"); + DmSetPhy(connId, HCI_ALL_PHY_ALL_PREFERENCES, HCI_PHY_LE_2M_BIT, HCI_PHY_LE_2M_BIT, + HCI_PHY_OPTIONS_NONE); + break; + case 2: + /* Coded S2 PHY */ + APP_TRACE_INFO0("LE Coded S2 TX and RX PHY Requested"); + DmSetPhy(connId, HCI_ALL_PHY_ALL_PREFERENCES, HCI_PHY_LE_CODED_BIT, + HCI_PHY_LE_CODED_BIT, HCI_PHY_OPTIONS_S2_PREFERRED); + break; + case 3: + /* Coded S8 PHY */ + APP_TRACE_INFO0("LE Coded S8 TX and RX PHY Requested"); + DmSetPhy(connId, HCI_ALL_PHY_ALL_PREFERENCES, HCI_PHY_LE_CODED_BIT, + HCI_PHY_LE_CODED_BIT, HCI_PHY_OPTIONS_S8_PREFERRED); + break; + } + break; + } +#endif /* BT_VER */ + + default: + APP_TRACE_INFO0(" - No action assigned"); + break; + } + } else { + switch (btn) { + case APP_UI_BTN_1_SHORT: + /* start advertising */ + AppAdvStart(APP_MODE_AUTO_INIT); + break; + + case APP_UI_BTN_1_MED: + /* Enter bondable mode */ + AppSetBondable(TRUE); + break; + + case APP_UI_BTN_1_LONG: + /* clear all bonding info */ + AppSlaveClearAllBondingInfo(); + AppDbNvmDeleteAll(); + break; + + case APP_UI_BTN_1_EX_LONG: { + const char *pVersion; + StackGetVersionNumber(&pVersion); + datsDisplayStackVersion(pVersion); + } break; + + case APP_UI_BTN_2_SHORT: + /* stop advertising */ + AppAdvStop(); + break; + + default: + APP_TRACE_INFO0(" - No action assigned"); + break; + } + } +} + +/*************************************************************************************************/ +/*! + * \brief Callback for WSF buffer diagnostic messages. + * + * \param pInfo Diagnostics message + * + * \return None. + */ +/*************************************************************************************************/ +static void datsWsfBufDiagnostics(WsfBufDiag_t *pInfo) +{ + if (pInfo->type == WSF_BUF_ALLOC_FAILED) { + APP_TRACE_INFO2("Dats got WSF Buffer Allocation Failure - Task: %d Len: %d", + pInfo->param.alloc.taskId, pInfo->param.alloc.len); + } +} + +/*************************************************************************************************/ +/*! + * \brief Platform button press handler. + * + * \param[in] btnId button ID. + * \param[in] state button state. See ::PalBtnPos_t. + * + * \return None. + */ +/*************************************************************************************************/ +static void btnPressHandler(uint8_t btnId, PalBtnPos_t state) +{ + if (btnId == 1) { + /* Start/stop button timer */ + if (state == PAL_BTN_POS_UP) { + /* Button Up, stop the timer, call the action function */ + unsigned btnUs = MXC_TMR_SW_Stop(BTN_1_TMR); + if ((btnUs > 0) && (btnUs < BTN_SHORT_MS * 1000)) { + AppUiBtnTest(APP_UI_BTN_1_SHORT); + } else if (btnUs < BTN_MED_MS * 1000) { + AppUiBtnTest(APP_UI_BTN_1_MED); + } else if (btnUs < BTN_LONG_MS * 1000) { + AppUiBtnTest(APP_UI_BTN_1_LONG); + } else { + AppUiBtnTest(APP_UI_BTN_1_EX_LONG); + } + } else { + /* Button down, start the timer */ + MXC_TMR_SW_Start(BTN_1_TMR); + } + } else if (btnId == 2) { + /* Start/stop button timer */ + if (state == PAL_BTN_POS_UP) { + /* Button Up, stop the timer, call the action function */ + unsigned btnUs = MXC_TMR_SW_Stop(BTN_2_TMR); + if ((btnUs > 0) && (btnUs < BTN_SHORT_MS * 1000)) { + AppUiBtnTest(APP_UI_BTN_2_SHORT); + } else if (btnUs < BTN_MED_MS * 1000) { + AppUiBtnTest(APP_UI_BTN_2_MED); + } else if (btnUs < BTN_LONG_MS * 1000) { + AppUiBtnTest(APP_UI_BTN_2_LONG); + } else { + AppUiBtnTest(APP_UI_BTN_2_EX_LONG); + } + } else { + /* Button down, start the timer */ + MXC_TMR_SW_Start(BTN_2_TMR); + } + } else { + APP_TRACE_ERR0("Undefined button"); + } +} + +/*************************************************************************************************/ +/*! + * \brief WSF event handler for application. + * + * \param event WSF event mask. + * \param pMsg WSF message. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsHandler(wsfEventMask_t event, wsfMsgHdr_t *pMsg) +{ + if (pMsg != NULL) { + APP_TRACE_INFO1("Dats got evt %d", pMsg->event); + + /* process ATT messages */ + if (pMsg->event >= ATT_CBACK_START && pMsg->event <= ATT_CBACK_END) { + /* process server-related ATT messages */ + AppServerProcAttMsg(pMsg); + } else if (pMsg->event >= DM_CBACK_START && pMsg->event <= DM_CBACK_END) { + /* process DM messages */ + /* process advertising and connection-related messages */ + AppSlaveProcDmMsg((dmEvt_t *)pMsg); + + /* process security-related messages */ + AppSlaveSecProcDmMsg((dmEvt_t *)pMsg); + } + + /* perform profile and user interface-related operations */ + datsProcMsg((dmEvt_t *)pMsg); + } +} + +/*************************************************************************************************/ +/*! + * \brief Start the application. + * + * \return None. + */ +/*************************************************************************************************/ +void DatsStart(void) +{ + /* Register for stack callbacks */ + DmRegister(datsDmCback); + DmConnRegister(DM_CLIENT_ID_APP, datsDmCback); + AttRegister(datsAttCback); + AttConnRegister(AppServerConnCback); + AttsCccRegister(DATS_NUM_CCC_IDX, (attsCccSet_t *)datsCccSet, datsCccCback); + + /* Initialize attribute server database */ + SvcCoreGattCbackRegister(GattReadCback, GattWriteCback); + SvcCoreAddGroup(); + SvcWpCbackRegister(NULL, datsWpWriteCback); + SvcWpAddGroup(); + + /*register secure data write callback */ + SvcSecDataCbackRegister(NULL, secDatWriteCback); + /* Register secure data service */ + SvcSecDataAddGroup(); + + /* Set Service Changed CCCD index. */ + GattSetSvcChangedIdx(DATS_GATT_SC_CCC_IDX); + + /* Register for app framework button callbacks */ + AppUiBtnRegister(datsBtnCback); + +#if (BT_VER > 8) + DmPhyInit(); +#endif /* BT_VER */ + + WsfNvmInit(); + + WsfBufDiagRegister(datsWsfBufDiagnostics); + + /* Initialize with button press handler */ + PalBtnInit(btnPressHandler); + + /* Reset the device */ + DmDevReset(); +} diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/main.c b/Examples/MAX32657/Bluetooth/BLE_dats/main.c new file mode 100644 index 00000000000..76bc6d5baed --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/main.c @@ -0,0 +1,289 @@ +/*************************************************************************************************/ +/*! + * @file main.c + * @brief Simple BLE Data Server for unformatted data exchange. + * + * Copyright (c) 2013-2019 Arm Ltd. All Rights Reserved. + * + * Copyright (c) 2019 Packetcraft, Inc. + * + * Portions Copyright (c) 2022-2023 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*************************************************************************************************/ + +#include +#include "wsf_types.h" +#include "wsf_trace.h" +#include "wsf_bufio.h" +#include "wsf_msg.h" +#include "wsf_assert.h" +#include "wsf_buf.h" +#include "wsf_heap.h" +#include "wsf_cs.h" +#include "wsf_timer.h" +#include "wsf_os.h" + +#include "sec_api.h" +#include "hci_handler.h" +#include "dm_handler.h" +#include "l2c_handler.h" +#include "att_handler.h" +#include "smp_handler.h" +#include "l2c_api.h" +#include "att_api.h" +#include "smp_api.h" +#include "app_api.h" +#include "hci_core.h" +#include "app_terminal.h" +#include "wut.h" +#include "rtc.h" +#include "trimsir_regs.h" + +#if defined(HCI_TR_EXACTLE) && (HCI_TR_EXACTLE == 1) +#include "ll_init_api.h" +#endif + +#include "pal_bb.h" +#include "pal_cfg.h" + +#include "dats_api.h" +#include "app_ui.h" + +/************************************************************************************************** + Macros +**************************************************************************************************/ + +/*! \brief UART TX buffer size */ +#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U +#define DEFAULT_TX_POWER 0 /* dBm */ + +/************************************************************************************************** + Global Variables +**************************************************************************************************/ + +/*! \brief Pool runtime configuration. */ +static wsfBufPoolDesc_t mainPoolDesc[] = { { 16, 8 }, { 32, 4 }, { 192, 8 }, { 256, 16 } }; + +#if defined(HCI_TR_EXACTLE) && (HCI_TR_EXACTLE == 1) +static LlRtCfg_t mainLlRtCfg; +#endif + +volatile int wutTrimComplete; + +/************************************************************************************************** + Functions +**************************************************************************************************/ + +/*! \brief Stack initialization for app. */ +extern void StackInitDats(void); + +/*************************************************************************************************/ +/*! + * \brief Initialize WSF. + * + * \return None. + */ +/*************************************************************************************************/ +static void mainWsfInit(void) +{ +#if defined(HCI_TR_EXACTLE) && (HCI_TR_EXACTLE == 1) + /* +12 for message headroom, + 2 event header, +255 maximum parameter length. */ + const uint16_t maxRptBufSize = 12 + 2 + 255; + + /* +12 for message headroom, +4 for header. */ + const uint16_t aclBufSize = 12 + mainLlRtCfg.maxAclLen + 4 + BB_DATA_PDU_TAILROOM; + + /* Adjust buffer allocation based on platform configuration. */ + mainPoolDesc[2].len = maxRptBufSize; + mainPoolDesc[2].num = mainLlRtCfg.maxAdvReports; + mainPoolDesc[3].len = aclBufSize; + mainPoolDesc[3].num = mainLlRtCfg.numTxBufs + mainLlRtCfg.numRxBufs; +#endif + + const uint8_t numPools = sizeof(mainPoolDesc) / sizeof(mainPoolDesc[0]); + + uint16_t memUsed; + /* Initial buffer configuration. */ + WsfCsEnter(); + memUsed = WsfBufCalcSize(numPools, mainPoolDesc); + WsfHeapAlloc(memUsed); + WsfBufInit(numPools, mainPoolDesc); + WsfCsExit(); + + WsfOsInit(); + WsfTimerInit(); +#if (WSF_TOKEN_ENABLED == TRUE) || (WSF_TRACE_ENABLED == TRUE) + WsfTraceRegisterHandler(WsfBufIoWrite); + WsfTraceEnable(TRUE); +#endif +} + +/*************************************************************************************************/ +/*! +* \fn wutTrimCb +* +* \brief Callback function for the WUT 32 kHz crystal trim. +* +* \param err Error code from the WUT driver. +* +* \return None. +*/ +/*************************************************************************************************/ +void wutTrimCb(int err) +{ + // if (err != E_NO_ERROR) { + // APP_TRACE_INFO1("32 kHz trim error %d\n", err); + // } else { + // APP_TRACE_INFO1("32kHz trimmed to 0x%x", (MXC_TRIMSIR->rtc & MXC_F_TRIMSIR_RTC_X1TRIM) >> + // MXC_F_TRIMSIR_RTC_X1TRIM_POS); + // } + wutTrimComplete = 1; +} + +/*************************************************************************************************/ +/*! +* \fn setAdvTxPower +* +* \brief Set the default advertising TX power. +* +* \return None. +*/ +/*************************************************************************************************/ +void setAdvTxPower(void) +{ + LlSetAdvTxPower(DEFAULT_TX_POWER); +} + +/*************************************************************************************************/ +/*! +* \fn main +* +* \brief Entry point for demo software. +* +* \param None. +* +* \return None. +*/ +/*************************************************************************************************/ +int main(void) +{ +#if defined(HCI_TR_EXACTLE) && (HCI_TR_EXACTLE == 1) + /* Configurations must be persistent. */ + static BbRtCfg_t mainBbRtCfg; + + PalBbLoadCfg((PalBbCfg_t *)&mainBbRtCfg); + LlGetDefaultRunTimeCfg(&mainLlRtCfg); +#if (BT_VER >= LL_VER_BT_CORE_SPEC_5_0) + /* Set 5.0 requirements. */ + mainLlRtCfg.btVer = LL_VER_BT_CORE_SPEC_5_0; +#endif + PalCfgLoadData(PAL_CFG_ID_LL_PARAM, &mainLlRtCfg.maxAdvSets, sizeof(LlRtCfg_t) - 9); +#if (BT_VER >= LL_VER_BT_CORE_SPEC_5_0) + PalCfgLoadData(PAL_CFG_ID_BLE_PHY, (uint8_t *)&mainLlRtCfg.phy2mSup, 4); +#endif + + /* Set the 32k sleep clock accuracy into one of the following bins, default is 20 + HCI_CLOCK_500PPM + HCI_CLOCK_250PPM + HCI_CLOCK_150PPM + HCI_CLOCK_100PPM + HCI_CLOCK_75PPM + HCI_CLOCK_50PPM + HCI_CLOCK_30PPM + HCI_CLOCK_20PPM + */ + mainBbRtCfg.clkPpm = 20; + + /* Set the default connection power level */ + mainLlRtCfg.defTxPwrLvl = DEFAULT_TX_POWER; +#endif + + WsfCsEnter(); + WsfHeapAlloc(PLATFORM_UART_TERMINAL_BUFFER_SIZE); + WsfBufIoUartInit(WsfHeapGetFreeStartAddress(), PLATFORM_UART_TERMINAL_BUFFER_SIZE); + WsfCsExit(); + + mainWsfInit(); + AppTerminalInit(); + +#if defined(HCI_TR_EXACTLE) && (HCI_TR_EXACTLE == 1) + + uint32_t llmemUsed; + + /* Calculate how much memory we will need for the LL initialization */ + WsfCsEnter(); + + WsfTraceEnable(FALSE); + + LlInitRtCfg_t llCfg = { + .pBbRtCfg = &mainBbRtCfg, + .wlSizeCfg = 4, + .rlSizeCfg = 4, + .plSizeCfg = 4, + .pLlRtCfg = &mainLlRtCfg, + /* Not significant yet, only being used for memory size requirement calculation. */ + .pFreeMem = WsfHeapGetFreeStartAddress(), + /* Not significant yet, only being used for memory size requirement calculation. */ + .freeMemAvail = WsfHeapCountAvailable() + }; + + llmemUsed = LlInitSetRtCfg(&llCfg); + +#if (WSF_TOKEN_ENABLED == TRUE) || (WSF_TRACE_ENABLED == TRUE) + WsfTraceEnable(TRUE); +#endif + + /* Complete the LL initialization */ + /* Allocate the memory */ + WsfHeapAlloc(llmemUsed); + + /* Set the free memory pointers */ + llCfg.pFreeMem = WsfHeapGetFreeStartAddress(); + llCfg.freeMemAvail = WsfHeapCountAvailable(); + + /* Run the initialization with properly set the free memory pointers */ + if (llmemUsed != LlInit(&llCfg)) { + WSF_ASSERT(0); + } + + WsfCsExit(); + + bdAddr_t bdAddr; + PalCfgLoadData(PAL_CFG_ID_BD_ADDR, bdAddr, sizeof(bdAddr_t)); + LlSetBdAddr((uint8_t *)&bdAddr); + + /* Start the 32 MHz crystal and the BLE DBB counter to trim the 32 kHz crystal */ + PalBbEnable(); + + /* Output buffered square wave of 32 kHz clock to GPIO */ + // MXC_RTC_SquareWaveStart(MXC_RTC_F_32KHZ); + + /* Execute the trim procedure */ + wutTrimComplete = 0; + MXC_WUT_TrimCrystalAsync(MXC_WUT0, wutTrimCb); + while (!wutTrimComplete) {} + + /* Shutdown the 32 MHz crystal and the BLE DBB */ + PalBbDisable(); +#endif + + StackInitDats(); + DatsStart(); + + WsfOsEnterMainLoop(); + + /* Does not return. */ + return 0; +} diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/project.mk b/Examples/MAX32657/Bluetooth/BLE_dats/project.mk new file mode 100644 index 00000000000..6a835469ba1 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/project.mk @@ -0,0 +1,55 @@ +############################################################################### + # + # Copyright (C) 2024 Analog Devices, Inc. + # + # Licensed under the Apache License, Version 2.0 (the "License"); + # you may not use this file except in compliance with the License. + # You may obtain a copy of the License at + # + # http://www.apache.org/licenses/LICENSE-2.0 + # + # Unless required by applicable law or agreed to in writing, software + # distributed under the License is distributed on an "AS IS" BASIS, + # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + # See the License for the specific language governing permissions and + # limitations under the License. + # + ############################################################################## +# This file can be used to set build configuration +# variables. These variables are defined in a file called +# "Makefile" that is located next to this one. + +# For instructions on how to use this system, see +# https://analogdevicesinc.github.io/msdk/USERGUIDE/#build-system + +# ********************************************************** + +# Enable Cordio library +LIB_CORDIO = 1 + + +CORDIO_DIR = $(LIBS_DIR)/Packetcraft-ADI +LIB_PHY_DIR ?= $(LIBS_DIR)/RF-PHY + +# Cordio library options +INIT_PERIPHERAL = 1 +INIT_CENTRAL = 0 + +# TRACE option +# Set to 0 to disable +# Set to 1 to enable serial port trace messages +# Set to 2 to enable verbose messages +TRACE = 1 + +# Add services directory to build +IPATH += services +VPATH += services + +# SET advertising name +ADV_NAME?=DATS_ME30 +PROJ_CFLAGS += -DADV_NAME=\"$(ADV_NAME)\" + + +### CONFIGURE security +# /*! TRUE to initiate security upon connection*/ +PROJ_CFLAGS += -DINIT_SECURITY=FALSE diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.c b/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.c new file mode 100644 index 00000000000..9206e12b4b8 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.c @@ -0,0 +1,145 @@ +/****************************************************************************** + * + * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by + * Analog Devices, Inc.), + * Copyright (C) 2023-2024 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ******************************************************************************/ + +#include "wsf_types.h" +#include "att_api.h" +#include "wsf_trace.h" +#include "util/bstream.h" +#include "svc_ch.h" +#include "svc_sds.h" +#include "svc_cfg.h" + +/************************************************************************************************** + Macros +**************************************************************************************************/ + +/*! Characteristic read/write permissions */ +#ifndef SEC_DATA_PERMIT_READ +#define SEC_DATA_PERMIT_READ SVC_SEC_PERMIT_READ +#endif + +#ifndef SEC_DATA_PERMIT_READ_ENC +#define SEC_DATA_PERMIT_READ_ENC ATTS_PERMIT_READ_ENC +#endif + +#ifndef SEC_DATA_PERMIT_READ_AUTH +#define SEC_DATA_PERMIT_READ_AUTH ATTS_PERMIT_READ_AUTH +#endif + +#ifndef SEC_DATA_PERMIT_WRITE +#define SEC_DATA_PERMIT_WRITE SVC_SEC_PERMIT_WRITE +#endif + +#ifndef SEC_DATA_PERMIT_WRITE_ENC +#define SEC_DATA_PERMIT_WRITE_ENC ATTS_PERMIT_WRITE_ENC +#endif + +#ifndef SEC_DATA_PERMIT_WRITE_AUTH +#define SEC_DATA_PERMIT_WRITE_AUTH ATTS_PERMIT_WRITE_AUTH +#endif + +/************************************************************************************************** + Static Variables +**************************************************************************************************/ + +/* UUIDs */ +static const uint8_t svcSecDatUuid[] = { ATT_UUID_SEC_DATA }; + +/* Proprietary service declaration */ +static const uint8_t secDatSvc[] = { ATT_UUID_SEC_DATA_SERVICE }; +static const uint16_t secDatLenSvc = sizeof(secDatSvc); + +/* Secured data characteristic */ +static const uint8_t secDatCh[] = { ATT_PROP_NOTIFY | ATT_PROP_WRITE_NO_RSP | ATT_PROP_WRITE, + UINT16_TO_BYTES(SEC_DAT_HDL), ATT_UUID_SEC_DATA }; + +static const uint16_t secDatLenDatCh = sizeof(secDatCh); + +/* Secured data */ +static const uint8_t secDatVal[] = { 0 }; +static const uint16_t secDatLenDat = sizeof(secDatVal); + +/* Secured data client characteristic configuration */ +static uint8_t secDatChCcc[] = { UINT16_TO_BYTES(0x0000) }; +static const uint16_t secDatLenDatChCcc = sizeof(secDatChCcc); + +/* Attribute list for Secured Data group */ +static const attsAttr_t secDatList[] = { + /* Service declaration */ + { attPrimSvcUuid, (uint8_t *)secDatSvc, (uint16_t *)&secDatLenSvc, sizeof(secDatSvc), 0, + ATTS_PERMIT_READ }, + + /* Secure data characteristic declaration */ + { attChUuid, (uint8_t *)secDatCh, (uint16_t *)&secDatLenDatCh, sizeof(secDatCh), 0, + ATTS_PERMIT_READ }, + + /* Secure data characteristic value */ + { svcSecDatUuid, (uint8_t *)secDatVal, (uint16_t *)&secDatLenDat, ATT_VALUE_MAX_LEN, + (ATTS_SET_UUID_128 | ATTS_SET_VARIABLE_LEN | ATTS_SET_WRITE_CBACK), + SEC_DATA_PERMIT_WRITE | SEC_DATA_PERMIT_WRITE_ENC | SEC_DATA_PERMIT_WRITE_AUTH }, + + /*Secure data characteristic value descriptor*/ + { attCliChCfgUuid, (uint8_t *)secDatChCcc, (uint16_t *)&secDatLenDatChCcc, sizeof(secDatChCcc), + ATTS_SET_CCC, (ATTS_PERMIT_READ | ATTS_PERMIT_WRITE) } +}; + +/* Secured Data group structure */ +static attsGroup_t svcSecDatGroup = { NULL, (attsAttr_t *)secDatList, NULL, + NULL, SEC_DATA_START_HDL, SEC_DATA_END_HDL }; + +/*************************************************************************************************/ +/*! + * \brief Add the services to the attribute server. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataAddGroup(void) +{ + AttsAddGroup(&svcSecDatGroup); +} + +/*************************************************************************************************/ +/*! + * \brief Remove the services from the attribute server. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataRemoveGroup(void) +{ + AttsRemoveGroup(SEC_DATA_START_HDL); +} + +/*************************************************************************************************/ +/*! + * \brief Register callbacks for the service. + * + * \param readCback Read callback function. + * \param writeCback Write callback function. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataCbackRegister(attsReadCback_t readCback, attsWriteCback_t writeCback) +{ + svcSecDatGroup.readCback = readCback; + svcSecDatGroup.writeCback = writeCback; +} diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.h b/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.h new file mode 100644 index 00000000000..644613dfbf6 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/services/svc_sds.h @@ -0,0 +1,107 @@ +/****************************************************************************** + * + * Copyright (C) 2022-2023 Maxim Integrated Products, Inc. (now owned by + * Analog Devices, Inc.), + * Copyright (C) 2023-2024 Analog Devices, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + ******************************************************************************/ + +/*************************************************************************************************/ +/*! Secure Data Service +* Implementation of a characteristic with elevated security features. +* The connection must be encrypted with an authenticated key to read/write +* the attributes value. +* + */ +/*************************************************************************************************/ + +#ifndef EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_SERVICES_SVC_SDS_H_ +#define EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_SERVICES_SVC_SDS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************************************** + Service and Characteristic UUIDs +**************************************************************************************************/ +#define ATT_UUID_SEC_DATA_SERVICE \ + 0xBE, 0x35, 0xD1, 0x24, 0x99, 0x33, 0xC6, 0x87, 0x85, 0x42, 0xD9, 0x32, 0x7E, 0x36, 0xFC, 0x42 +/* MCS service GATT characteristic UUIDs*/ +#define ATT_UUID_SEC_DATA \ + 0xBE, 0x35, 0xD1, 0x24, 0x99, 0x33, 0xC6, 0x87, 0x85, 0x41, 0xD9, 0x31, 0x3E, 0x56, 0xFC, 0x42 + +/************************************************************************************************** + Handle Ranges +**************************************************************************************************/ +/*! \brief Secured Data Service */ +#define SEC_DATA_START_HDL 0x300 /*!< \brief Start handle. */ +#define SEC_DATA_END_HDL (SEC_DAT_MAX_HDL - 1) /*!< \brief End handle. */ + +/************************************************************************************************** + Handles +**************************************************************************************************/ + +/*! \brief Secured Service Handles */ +enum { + SEC_DATA_SVC_HDL = SEC_DATA_START_HDL, /*!< \brief Secured Data service declaration */ + SEC_DAT_CH_HDL, /*!< \brief Secured Data characteristic */ + SEC_DAT_HDL, /*!< \brief Secured Data */ + SEC_DAT_CH_CCC_HDL, /*!< \brief Secured Data client characteristic configuration */ + SEC_DAT_MAX_HDL /*!< \brief Maximum handle. */ +}; +/**@}*/ + +/************************************************************************************************** + Function Declarations +**************************************************************************************************/ + +/*************************************************************************************************/ +/*! + * \brief Add the services to the attribute server. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataAddGroup(void); + +/*************************************************************************************************/ +/*! + * \brief Remove the services from the attribute server. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataRemoveGroup(void); + +/*************************************************************************************************/ +/*! + * \brief Register callbacks for the service. + * + * \param readCback Read callback function. + * \param writeCback Write callback function. + * + * \return None. + */ +/*************************************************************************************************/ +void SvcSecDataCbackRegister(attsReadCback_t readCback, attsWriteCback_t writeCback); + +/*! \} */ /* WP_SERVICE */ + +#ifdef __cplusplus +}; +#endif + +#endif // EXAMPLES_MAX32655_BLUETOOTH_BLE_DATS_SERVICES_SVC_SDS_H_ diff --git a/Examples/MAX32657/Bluetooth/BLE_dats/stack_dats.c b/Examples/MAX32657/Bluetooth/BLE_dats/stack_dats.c new file mode 100644 index 00000000000..0b7756102a6 --- /dev/null +++ b/Examples/MAX32657/Bluetooth/BLE_dats/stack_dats.c @@ -0,0 +1,97 @@ +/*************************************************************************************************/ +/*! + * \file + * + * \brief Stack initialization for dats. + * + * Copyright (c) 2016-2019 Arm Ltd. All Rights Reserved. + * + * Copyright (c) 2019 Packetcraft, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/*************************************************************************************************/ + +#include "wsf_types.h" +#include "wsf_os.h" +#include "util/bstream.h" + +#include "dats_api.h" +#include "wdxs/wdxs_api.h" + +#include "hci_handler.h" +#include "dm_handler.h" +#include "l2c_handler.h" +#include "att_handler.h" +#include "smp_handler.h" +#include "l2c_api.h" +#include "att_api.h" +#include "smp_api.h" +#include "app_api.h" +#include "hci_core.h" +#include "svc_dis.h" +#include "svc_core.h" +#include "sec_api.h" +#include "hci_defs.h" + +/*************************************************************************************************/ +/*! + * \brief Initialize stack. + * + * \return None. + */ +/*************************************************************************************************/ +void StackInitDats(void) +{ + wsfHandlerId_t handlerId; + + SecInit(); + SecAesInit(); + SecCmacInit(); + SecEccInit(); + + handlerId = WsfOsSetNextHandler(HciHandler); + HciHandlerInit(handlerId); + + handlerId = WsfOsSetNextHandler(DmHandler); + DmDevVsInit(0); + DmConnInit(); + DmAdvInit(); + DmConnSlaveInit(); + DmSecInit(); + DmSecLescInit(); + DmPrivInit(); + DmHandlerInit(handlerId); + + handlerId = WsfOsSetNextHandler(L2cSlaveHandler); + L2cSlaveHandlerInit(handlerId); + L2cInit(); + L2cSlaveInit(); + + handlerId = WsfOsSetNextHandler(AttHandler); + AttHandlerInit(handlerId); + AttsInit(); + AttsIndInit(); + + handlerId = WsfOsSetNextHandler(SmpHandler); + SmpHandlerInit(handlerId); + SmprInit(); + SmprScInit(); + HciSetMaxRxAclLen(256); + + handlerId = WsfOsSetNextHandler(AppHandler); + AppHandlerInit(handlerId); + + handlerId = WsfOsSetNextHandler(DatsHandler); + DatsHandlerInit(handlerId); +} diff --git a/Libraries/CMSIS/Device/Maxim/MAX32657/Source/GCC/max32657.ld b/Libraries/CMSIS/Device/Maxim/MAX32657/Source/GCC/max32657.ld index f7895a805b6..d6d7507d20f 100644 --- a/Libraries/CMSIS/Device/Maxim/MAX32657/Source/GCC/max32657.ld +++ b/Libraries/CMSIS/Device/Maxim/MAX32657/Source/GCC/max32657.ld @@ -15,9 +15,16 @@ * limitations under the License. * ******************************************************************************/ + _PAL_NVM_SIZE = 0x4000; + _ARM_FLASH_SIZE = 0x00100000; + _ARM_FLASH_ORIGIN = 0x11000000; + _ARM_FLASH_SIZE = _ARM_FLASH_SIZE - _PAL_NVM_SIZE; +PAL_NVM_ORIGIN = _ARM_FLASH_SIZE - _PAL_NVM_SIZE + _ARM_FLASH_ORIGIN; MEMORY { - FLASH (rx) : ORIGIN = 0x11000000, LENGTH = 0x00100000 /* 1MB Flash */ + FLASH (rx) : ORIGIN = _ARM_FLASH_ORIGIN, LENGTH = _ARM_FLASH_SIZE /* 1MB Flash */ + PAL_NVM_DB (r) : ORIGIN = PAL_NVM_ORIGIN, LENGTH = _PAL_NVM_SIZE + FLASH_INFO_S (rx) : ORIGIN = 0x12000000, LENGTH = 0x00010000 /* 16KB secure Flash Info */ SRAM (rwx) : ORIGIN = 0x30000000, LENGTH = 0x00040000 /* 256KB SRAM */ } @@ -73,6 +80,14 @@ SECTIONS { _esram_code = .; } > SRAM + .pal_nvm_db : + { + /* Align to the sector size */ + . = ALIGN(0x2000); + __pal_nvm_db_start__ = .; + . = . + _PAL_NVM_SIZE; + __pal_nvm_db_end__ = .; + } > PAL_NVM_DB /* it's used for C++ exception handling */ /* we need to keep this to avoid overlapping */ .ARM.exidx :