Going forward with my product (which I'm going to use the SD Card driver on the MK22 that I just posted), I would like to like to use KSDK 2.0 for the product code but I don't seem to be able to find any information on how to create a new bare metal project.
Experimenting with creating a new project in KDS with KSDK 2.0 added, it looks like there are basic new project options in terms of:
- Loading a basic API/device driver set versus a full version
- Loading in freeRTOS versus bare metal
I'm guessing that to start out, I should load the full set of drivers and then delete what I don't need later in the project.
I just did a test "Hello World" application and I was surprised that the base #includes weren't sufficient for the project. I added:
that were used in the "Hello World" application. I'm guessing that as I create an application, I need to put in the required APIs and then when I get the errors/warnings saying that there is an undefined reference, I add the appropriate #include .h.
Similarly, for adding "middleware" (the "FatFs" will be the big requirement for me) I should create a new folder in the project. I'm guessing that I have to add the folder to the include paths in the "Properties" ==> "C/C++ Build" ==> "Cross ARM C Compiler" ==> "Includes".
My questions are:
- Does my approach above for creating a new project seem correct?
- Is it safe to assume that clocks and other dependencies will be carried forward to the different driver methods? This does not include:
- Pin Muxes, I'll have to set those myself.
- Interrupt Handlers will have to be explicitly defined.
- DMA setup.
- Anything else that as a rule of thumb I should look at setting up when I add new hardware?
- Where can I find an explanation on how to add a USB CDC device to my project?
- Where can I find a good introduction to freeRTOS and creating applications?