Thu Jul 17 10:51:19 CEST 2008

incremental dev

I think all is in place, I just need to flesh out the normal flow of

How to create a project?

- make sure Staapl is installed in plt/collects/staapl (sudo make install)

- (require (lib "pic18/monitor-p18f1220.f" "staapl"))

  This file is an example of a self-contained Purrr project for
  PIC18. Loading it like this will compile the file and import all its
  macros and target words into the current namespace. In the following
  we'll take the interactive approach, but remember that it is
  possible to automate all of this: .f files are really PLT Scheme
  modules and can be composed as such.

  In order to handle the code interactively, it's more convenient to
  use a prj environment. This is a scheme namespace object into which
  all support code can be loaded.

- (require staapl/prj/pic18)

  Once the environment is loaded, a Forth repl is available using
  (repl <string>). This will provide the string to the reader present
  in the prj namespace. The following command will load a file into
  the current namespace. Note that this is different from require.

- (repl "load staapl/pic18/monitor-p18f1220.f")

  This loads, compiles and assembles the code. Use (print-all-code) to
  view it. Use (ihex) to view intel hex dump, or (save-ihex
  <filename>) to save it. For convenience, it's possible to call
  (piklab-prog <filename>) to program it.

  Set the port the target is connected to, i.e.:
  (current-console '("/dev/ttyUSB0" 9600))

  Use (prj> . code) to execute prj Scat code, and (target> . code) to
  execute possibly simulated interaction code. I.e. (prj> ping)

- re-establishing contact. this requires target word addresses.

  (save-target-words <filename>)
  (load <filename>)