Alan B. Pearce wrote: > Has anyone any instructions on how to set up a new project with Olin's > current development environment? No, it can't be done ;-) > But the currently available environment appears to have a setup batch > file, but I figured I would ask first exactly how to start a project > rather than attempt it only to find I had fouled it up through a wrong > starting point. A lot of things have changed since you took a snapshot a few years ago if I remember right. The build scripts have gotten more sophisticated, and as a result only work on Windows NT or later. As before, the official copy of source code is kept in the SOURCE tree and builds are run in the SRC tree. The scripts now support doing development on private copies of the files in a subdirectory of your personal directory that has the same name as the SOURCE and SRC subdirectories. If you follow this convention, then a bunch of scripts can help you. For example, let's say you are working on the firmware for the cigarette lighter in the next lunar instrument package, so it's called the CILI firmware in the LUNI directory. If c:\embed was your installation directory, then the official source files would be in c:\embed\source\luni and the builds would be run in c:\embed\src\luni. Let's say your home directory is c:\alan. To work on the next version you make sure there is a c:\alan\luni directory, and a BAT directory within that. The BAT directory contains at least one file, BUILD_CONFIG.BAT, which defines the firmware name and PIC type for your project. For example: @echo off set fwname=cili set pictype=16f84 You also need a ~/com directory that is in your command search path. (All my tools will recognize ~/ as your home directory, which is c:\alan in this example). Additional scripts in BAT will be copied into ~/com so that they are available as commands when you are working on that firmware. If you set up all this, you can use the SOURCE_DIR script to set up a bunch of environment variables assumed by other scripts: source_dir luni This will use the command line options and BUILD_CONFIG.BAT to gather all the particulars about your project, set environment variables accordingly, and also set up for debug builds. You can now use SRCGET to copy files from the SOURCE directory to your local directory, SRC_CANCEL to delete unmodified files from your local directory, and a few other utilities. Running BUILD_CILI_EXPIC will automatically take files from your local directory in preference to those in the SOURCE directory. When you're ready to release the new version, set environment variable DBG_PROMOTE to "true" (set dbg_promote=true) and do a build. Files will automatically be copied from your local directory to the SOURCE directory and a production build will be done. To answer your original question, there is a new script MAKE_PIC_PROJECT that creates a new project from scratch. It will copy and edit various template files, create the build script, create and seed the BAT directory, create the MLIST file, and a few other things I'm probably forgetting. You will need to modify things, but it takes care of a lot of the basic mechanics of initial project creation. Just one more note about the BAT subdirectory in your personal directory (c:\alan\luni\bat). To make it easier to have multiple PIC projects in one source directory, make different BAT directories for each PIC project, like BAT_CILI in this case. The SOURCE_DIR script only looks for "bat", so use a symbolic link to point BAT to BAT_CILI. This makes it easy to switch projects by redirecting the link and running SOURCE_DIR again. Yes, I know Windows doesn't have symbolic links, but all my software does. These are really files with names ending in ".@" on Windows systems. All my software intercepts them and treats them like symbolic links. See the SLINK command. For example "slink bat bat_cili" will create a symbolic link as described above. You can see symbolic links with my directory list command "l". -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist