I got tired of having to use MPLAB, and didn't want to install Eclipse (already had VS), so I wrote this build rules file in order to use VC to compile for the IFI RC.
This is very, very beta, and I am not responsible if it fries your robot, fries your computer, kills your dog, burns your house, etc.
Visual Studio MCC18 build rules file (right-click and choose Save Link As to download)
In order to use this:
- Create a Visual C++ project, preferably close to the root of the drive.
- Put mcc18.rules in your project directory
- Right-click the project in Solution Explorer and select Custom Build Rules
- Click Find Existing and find the mcc18.rules you put in the project directory
- Click No if you get asked whether you want to add the directory you chose to the build rules search path
- Click OK
- Right-click the project again and select Tool Build Order
- Check Microchip C18 C Compiler and Microchip MPLINK Linker, and uncheck everything else
- Click OK
- Right-click the project again and select Properties
- Select Microchip C18 C Compiler, then General
- Set these options:
- Compiler Memory Model: Large
- Target Processor: 18F8722
- Additional Macros: _DONT_USE_TMR0;_LARGE_CODE;_FRC_BOARD
- Suppress Warnings: 2066
- Then go to Optimization, and set more options (note that you probably don't need to turn off all of these optimizations, they're just the settings from the default code):
- Disable Unreachable Code Removal: Yes (-Ou-)
- Disable Tail Merging: Yes (-Ot-)
- Disable Branch Optimization: Yes (-Ob-)
- Disable Dead Code Removal: Yes (-Od-)
- Disable Procedural Abstraction: Yes (-Opa-)
- Disable Copy Propagation: Yes (-Op-)
- Disable Redundant Store Elimination: Yes (-Or-)
- You might also want to set Default Char Unsigned to Yes (-k)
- Now go to Microchip MPLINK Linker and set these options:
- Linker Script Search Path: $(ProjectDir) (in most cases)
- Output HEX File Type: INHX32
- Suppress .COD and .LST File Creation: Yes (/w)
- Additional Input Files: 18F8722.lkr (if you're using the default IFI linker script)
- Now go to General under Configuration Properties
- Set Output Directory to Debug\bin (or somewhere else, if you prefer)
- Set Intermediate Directory to Debug\obj (or somewhere else, if you prefer)
- Set Extensions to Delete on Clean to "$(IntDir)\*;$(OutDir)\*.out;$(OutDir)\*.hex;$(Out Dir)\*.hxh;$(OutDir)\*.hxl;*.o" (no quotes)
- Set Configuration Type to Utility
- Click OK
- Copy all your code to the project folder
- Click the Show All Files button in Solution Explorer
- Select all your headers, C files, object libraries, and linker scripts (note: only include libraries and linker scripts for the 8722)
- Right-click them and select Include in Project
- Hit F6
- You're done!