gnupic: xwisp2 on FreeBSD


Previous by date: 3 Jan 2006 14:12:17 +0000 Re: [gnupic] Follow-up question to the thread about Ben's port of Brad's Lab2 to gpasm, Xiaofan Chen
Next by date: 3 Jan 2006 14:12:17 +0000 Re: [gnupic] xwisp2 on FreeBSD, Rob Hamerling
Previous in thread:
Next in thread:

Subject: xwisp2 on FreeBSD
From: Xiaofan Chen ####@####.####
Date: 3 Jan 2006 14:12:17 +0000
Message-Id: <a276da400601030612mabf6ae2t2d1d216986d179b0@mail.gmail.com>

Today I tried to port xwisp2 to my newly installed FreeBSD 6.0-RELEASE system
and it is okay after I changed a bit on the compiler.h file and the
xwisp2.h file.
I think my changes can be a bit simpler.

The only problem is that I can not use the default high baud rate of
115200. I can only use 57600.

Regards,
Xiaofan

1) change to compiler.h: add the following

#elif defined( __FreeBSD_cc_version)

  #define compiler_name     "GCC"

  #if defined(__GNUC__)

    #define compiler_version  (__GNUC__)

  #elif defined(__VERSION__)

    #define compiler_version  (__VERSION__[0] - '0')    // first char

  #else

    #define compiler_version  (0)                       // unknown

  #endif

  #if defined(__GNUC_MINOR__)

    #define compiler_minor    (__GNUC_MINOR__)

  #elif defined(__VERSION__)

    #define compiler_minor    (__VERSION__[2] - '0')    // third character

  #else

    #define compiler_minor    (0)                       // unknown

  #endif

  #define max(x,y) ((x > y) ? (x) : (y))                // missing ..

  #define min(x,y) ((x < y) ? (x) : (y))                // .. functions ..

  #define strnicmp strncasecmp                          // alias

  #define stricmp  strcasecmp                           // alias)

  #define CBAUD  0010017                              // For FreeBSD
(not in POSIX)

  #define __LINUX__
  #define __FREEBSD__

2) changes to xwisp2.h: change a bit for cosmetics reason
#elif defined(__LINUX__) || defined(__APPLE__) ||  defined(__FREEBSD__)
 // Linux or MacOS or FREEBSD

  typedef ULONG  BOOLEAN;

  typedef int    HSERIALPORT;                           // handle for I/O

  #define INVALIDSERIALHANDLE  MINUS1

  #define ucDIRECTORYSEPARATOR   '/'

  #define szDIRECTORYSEPARATOR   "/"

  #define _searchenv(a,b,c) (*c=0)                      // nul: not used

  #if defined(__APPLE__)

    #define runtime_platform "MacOS"

  #elif defined(__FREEBSD__)
    #define runtime_platform "FreeBSD"
  #else

    #define runtime_platform "Linux"

  #endif

2) sample running session

[xiaofan@myfreebsd xwisp2181s]$ gmake
Compiling xwisp2.c
Compiling xwisp2bus.c
Compiling xwisp2cfg.c
Compiling xwisp2cmd.c
Compiling xwisp2com.c
Compiling xwisp2dat.c
Compiling xwisp2hex.c
Compiling xwisp2mis.c
Compiling xwisp2tgt.c
Linking xwisp2u
Compiling xwlist.c
Linking xwlistu

[xiaofan@myfreebsd xwisp2181s]$ ./xwisp2u verbose baud 115200 port
/dev/ttyd0 verify wisp628a.hex xwisp2 version 1.8.01 for FreeBSD (Jan 
3 2006, GCC 3.4)
Will be using port /dev/ttyS0 at 19200 bps
Will be using port /dev/ttyd0 at 19200 bps
Reading file 'wisp628a.hex'
File wisp628a.hex loaded and is Intel Hex format conforming
Total of program and data memory: 3866 bytes
Using serial port /dev/ttyd0
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
DTR On, RTS Off
DTR Off, RTS Off
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
Programmer Wisp628, firmware version 1.10
Switching Wbus speed from 19200 to 115200 bps
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 115200
Trying 14 bits core family (provisional target 12F629)
SendReceiveFast read timeout, received 0 of 5
SendReceiveSlow read timeout, 0 bytes received
Trying 16 bits core family (provisional target 18F1220)
SendReceiveFast read timeout, received 0 of 5
SendReceiveSlow read timeout, 0 bytes received
DeviceID: FFFF
Target not found in configuration table
Target not auto-detected, please specify on commandline!
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
xwisp2 failed after 4.86 seconds, rc 23!

[xiaofan@myfreebsd xwisp2181s]$ ./xwisp2u verbose baud 57600 port
/dev/ttyd0 verify wisp628a.hex  xwisp2 version 1.8.01 for FreeBSD (Jan
 3 2006, GCC 3.4)
Will be using port /dev/ttyS0 at 19200 bps
Will be using port /dev/ttyd0 at 19200 bps
Reading file 'wisp628a.hex'
File wisp628a.hex loaded and is Intel Hex format conforming
Total of program and data memory: 3866 bytes
Using serial port /dev/ttyd0
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
DTR On, RTS Off
DTR Off, RTS Off
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
Programmer Wisp628, firmware version 1.10
Switching Wbus speed from 19200 to 57600 bps
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 57600
Trying 14 bits core family (provisional target 12F629)
Detected target: 16F628A revision 04 (ID=1064)
Programming algorithm 4 (PIC16C)
Verifying program memory......OK!
Verifying ID memory...........OK!
Verifying data memory.........OK!
Verifying fuses memory........OK!
Verify terminated successfully in 6.16 seconds
Portspeed min: 50, max: 115200, cur: 0
Portspeed new: 19200
xwisp2 terminated successfully in 6.04 seconds

[xiaofan@myfreebsd xwisp2181s]$ uname -a
FreeBSD myfreebsd.mshome 6.0-RELEASE FreeBSD 6.0-RELEASE #0: Thu Nov 
3 09:36:13 UTC 2005    
####@####.####  i386

Previous by date: 3 Jan 2006 14:12:17 +0000 Re: [gnupic] Follow-up question to the thread about Ben's port of Brad's Lab2 to gpasm, Xiaofan Chen
Next by date: 3 Jan 2006 14:12:17 +0000 Re: [gnupic] xwisp2 on FreeBSD, Rob Hamerling
Previous in thread:
Next in thread:


Powered by ezmlm-browse 0.20.