As we said last night, there are probably some HALCoGen things to change to get the s/w running on Blinky, aka Bob's Board. This is not to tell you what, but just to get you started looking at HCG.
First, the version I am using is 4.07.01, released 11Dec2018. I think this is the latest. It has a few bugs which they never fixed. But in any case, once you start it up, what you want to do is to got to file/Open Project and open the file (from the PacSat software repository) called PacSat.hcg. There is also a PacSat.gil. I've never been sure what that does, and it only occasionally actually changes. These files are in the top-level folder of the repository named "hcg". When this loads, you will see a huge number of tabs. Along the top are mostly the "peripheral" devices like GIO (aka gpio), SCI (aka UART), SPIs, CANs, ADCs, etc.
When you pick one of those peripherals, say SPI4, you get a second row of tabs relating to the peripheral. In many cases you don't need to change much but post of the peripherals have a "Port" tab which is generally important. On the left column you generally see each logical connection to the peripheral (lets call them pins). For example SOMI (normally called MISO), SIMO (MOSI), CLK, ENA, and a bunch of SCS (chip select) pins. For each one you select whether you want to use it for the peripheral or if you want to use that pin for the peripheral or as a GPIO. Generally if you are using a SPI, you will need SOMI, SIMO, and CLK. I've never quite known what ENA does. But you don't want to use the SCS pins connected to the peripheral. The driver expects them to be GPIO pins for more flexiblity. On the right block, you can see how the pins are set up: Open gate, which direction, pull up or pull down, etc. And finally now the name of the pin (say SPI4 SIMO).
Now go back to the PINMUX "peripheral". Some of those pins like SPI4 SIMO can appear on one of several actual pins on the chip. For example pin 25 can either be HET1_0 or SPI4CLK or a couple other things. Chose the one you want. It's very frustrating trying to find what you are looking for! The check boxes at the top seem to change a bunch of things at the same time, so I try to avoid them :-)
To generate the code that does back into the git repo, use "generalte code" under "file". If you look at the generated code you will see stuff all through it that looks like this:
/* USER CODE BEGIN (3) */
/* USER CODE END */
If you have to tweak some stuff (and I did) and you can put the code in between those comments, HALCoGen will not change it! Note for example that I actually replaced a lot of some of the SPI routines (see hcgExtras folder). I can explain why at some point when you are interested. But the main point here is that you have to keep the header and C files in sync between your build machine and your HALCoGen machine. If you change ANYTHING on either side, make sure they are the same on both sides. As I may have said, I use DropBox and have HalCoGen read and write its files there. Then I just copy from the dropbox directory to the IDE on the build machine and we are good, and have source control automatically for all the HalCoGen stuff.
At some point, I may remember and talk about the HET code that HALCoGen pays some attention to as well :-)
I hope this might get you started in looking at it at least. And I should note that you will also need to TMS570 documentation to figure out what the heck HALCoGen is talking about. For example, what is there an MIBSPI1 and an SPI1 both? (I knew at one time but have forgotten!) What are the "data formats" in SPI (clever actually).
73,
Burns Fisher, WB1FJ
AMSAT(R) Engineering -- Flight Software