Other Parts Discussed in Thread: CCSTUDIO, , SYSCONFIG
All,
Let this serve as a guide for getting Amazon Sidewalk SID demo up and running on the CC1352P7-1 Launchpad. Took me around 12 hours to get where I am comfortable building and running the demo, but if you follow this guide when you get stuck, you can probably drop that to a couple to 3 hours factoring in creating your AWS account, installing python, Boto3, FreeRTOS, SDK's etc. There are a LOT of moving pieces to this demo.
***Important note: A corporate VPN / Network will likely have protections in place to block Traffic from CCS to the cloud causing compile failures, hangs, slowdowns of compiling and generally cost you hours of your life. Recommend using a hotspot or home network that doesn't have aggressive IT protections***
Bought a Gen 4 Echo
Bought a LP-CC1352P7-1
Using Win 10 64 bit
Using CCStudio (I am using 12.6.0.00008)
Downloaded several SDK's including the one used in the video of the demo: SDK_6_41... and SDK_7_10_00xxx cited in the sidewalk page on TI and finally the current newest: simplelink_cc13xx_cc26xx_sdk_7_10_02_23. Recommend you start with the newest. The big downside to the SDK_7_xx versions of the Sid_demo is they don't automatically make the aws_credentials directory or associated .yaml file. Follow step 11 below to create them.
1) Got an AWS account here: https://aws.amazon.com/ then made a new group, then made a new user, exported my keys to a CSV file and saved them locally in my downloads folder.
2) Got GCC on my install of CCS under Help -> Install_GCC_ARM...you may or may not have to do this depending on if you installed it initially.
3) Imported the sid_demo from C:\ti\simplelink_cc13xx_cc26xx_sdk_7_10_00_98\examples\rtos\LP_CC1352P7_1\ti_sidewalk [I used that SDK as it is the one referenced by the Sidewalk section of the TI website - but not the newest] [Blake: In retrospect, start with the newest available]
4) Found a "cookbook" locally on my machine here in the SDK: file:///C:/ti/simplelink_cc13xx_cc26xx_sdk_7_10_00_98/docs/ti_sidewalk/html/quickstart-guide/sidewalk-quick-start.html to use in addition to the readme in the project
5) Downloaded the correct version of FreeRTOS here: https://github.com/FreeRTOS/FreeRTOS/releases/tag/202104.00 unzipped it in the root directory.
6) Made a directory pointer variable to FreeRTOS in CCS: C:\FreeRTOSv202104.00 as per the instructions in the quickstart (section 3). (note my FreeRTOS had unzipped incorrectly so I needed to move it from C:\FreeRTOSv202104.00\FreeRTOSv202104.00 to C:\FreeRTOSv202104.00)
7) Installed Python 3.12 from https://www.python.org/
8) Installed AWS command line https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html (allows windows CMD AWS xxxx)
9) install Boto3: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration (errors galore in the install BUT it seems to work...not certain I needed this step)
10) Open a windows CMD window and ran AWS config which generated config. and credentials. in a .aws directory under c:\users\myname\ I had to copy my exported Keys from my Amazon user name to create these files. You can use the files below to manually make them or check what you have.
11) Noted aws_credentials.yaml and its directory was never generated as was promised in one of the guides (but is made automatically using obsolete SDK_6_xxx). Manually made it for my SDK_7_xxx derived demos (and a project directory of the same name) from some examples in the e2e forum posts.
12) Made sure my sysconfig / sidewalk looked like this:
13) Error after Error flagged in the Makefile. .hex never generated correctly. I tried making infinite changes in variables in the config / credential / aws_credentials.yaml and the sysconfig sidewalk file. Errors just moved around but never went away. Clearly there were issues with the Amazon python based tools parsing / finding the files and data. [Blake: Actually - it is likely that my corporate VPN was interfering with the makefile calling the amazon scripts and their communication with AWS services (I think). Using my home network or my hotspot cured the compile issues]
14) 8 hours later - in desperation - switched to SDK 7_10_02_23 (which was the newest at the current time and not the one referenced in the sidewalk section of TI's website). It behaved differently than 7_10_0_98. [Blake: It turns out I think this was due to my VPN blocking connection of Amazon scripts]
15) Thinking erroneously the SDK_7_xxx demos were broken - I went to the marketing video - Zoomed into the text and noticed that it was done with SDK 6_41_00_07. Found this SDK here in a page that maintains old versions: https://www.ti.com/tool/download/SIMPLELINK-LOWPOWER-F2-SDK [Blake: While this ultimately worked - however it should not be necessary with a clean internet connection]
16) Pulled in the same project from the Version 6_41 SDK into a new Workspace, changed the Freertos variable as noted above. Noted the aws_credentials.yaml file and directory were created which had not happened with the newer SDKs! Ahha! Upon build - the project seemed to compile better but with 1 make file issue. By better I mean the Amazon python files seemed to be communicating with the AWS mothership which I could see by the console echos. Built a second time and it worked and the AWS file launched in my browser and I was greeted by the user/password query window. I never had to change my proxy settings which is fortunate because I suspect this would have inserted significant unknowns as it is poorly documented why or how to make these changes. [Blake: However this success was likely that I moved from my office to my house where my home network allowed a more open internet connection]
17) So I was able get the terminal connected: Teraterm, 921600, 8,1,n,n. Note I found my comm port in Windows Control Panel -> Device Manager -> Ports:
...continued below due to size constraint per post