#rLoop Pod Firmware Lachlan Grogan
Please make sure you review our code standards and contributing document. Also check out our Confluence page
- Get CCS V6.1.2.00015 from the tools folder. If you are on OS/X check here
- When installing make sure you have setup for TI RM4 support
- Install Git Desktop
- Clone github.com:rLoopTeamp/eng-software-pod into a folder
CCS relies on the notion of a workspace, you need to create a workspace folder and then import the projects into the folder.
- create a folder at FIRMWARE\WORKSPACE or FIRMWARE\VERIFICATION\WORKSPACE
- Open CCSV6
- When prompted, enter the full path to the workspace folder on your local drive.
- Choose File->Import and select any of the firmware projects under the firmware root or any projects under the verification root.
- Paths should be good to go.
- Avoid commiting anything from the WORKSPACE folders and .gitignore is setup to handle this automatically.
We are using the TI ARM v15.12.3.LTS (Long Term Support) C Compiler which has already been configured in the project files.
- Open a CCSV6 workspace
- Choose Help -> Install new Software
- From the drop down list box "work with:" Choose --All Available Sites--
- Expand TI Compiler Updates
- Select ARM Compiler Tools Version 15.12.3
- Choose Next/Finish and follow the prompts
- At the top level of the directory there’s FIRMWARE, APPLICATIONS, PodAppLayer, etc. FIRMWARE contains our code that will be on the pod, the others are primarily for emulation with CCS/VS.
- Most of the time, FIRMWARE can be thought of as our root.
- Code not specific to our hyperloop pod (e.g. TSYS01 temp sensor's driver), is located in COMMON_CODE.
- Within that dir, code is divided up between what is 'RM4' specific (our mcu) versus code that can be used with various mcu’s, 'MULTICORE’.
- PROJECT_CODE is where code unique to our pod should be.
- VERIFICATION will eventually be filled with files meant to test the code in COMMON_CODE and PROJECT_CODE.
- Names of particular drivers/nodes are prepended with a part number. Go to FIRMWARE/COMMON_CODE/MULTICORE/.
- Everything begins with LCCM (think "Lachlan's Common Code Module") with some mysterious number attached to it, and then a double underscore.
- Next is the category it's under, in this case 'MULTICORE', and another double underscore.
- Filenames end with a description of the hardware or what exactly the code is doing, e.g. 'TSYS01' or 'Software_CRC'