FBTC642.h
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:3k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*********************************************************************
  2.  *          (C) COPYRIGHT TEXAS INSTRUMENTS, INC. 2000-2002    *
  3.  * FlashBurn 64x Target Code header
  4.  */
  5. /* Change Log:
  6.  */
  7. #ifndef __fbtc64h__
  8. #define __fbtc64h__
  9. /* Comm. Protocol Version in force when this
  10.  * FBTC was created. Add 1 if the protocol
  11.  * changes, even if this software did not change.
  12.  * For Protocol Version ID, see the Exchange
  13.  * Communications Protocol document.
  14.  * This is in the C file instead of the header
  15.  * file 'cause the header file is used by other
  16.  * C files, which could compromise encapsulation.
  17.  * v1 - original version
  18.  * v2 - added the Query Edit Flash Permission command.
  19.  * v3 - added the Query Max Data Block Size command
  20.  *      and redesigned to eliminate RTDX comm..
  21.  */
  22. #define COMMPROTOCOLVERSION  3
  23.     /*********************
  24.      * Version ID of this FBTC.
  25.  * Major.Minor 0.0 to 65535.65535
  26.  * (thus if major = 1, minor = 20, then
  27.  * version is 00001.00001
  28.  *
  29.  * MUST BE EDITED FOR ANY NEW RELEASE!
  30.      *********************
  31.      */
  32. #define FBTCVersionMajor   00001
  33. #define FBTCVersionMinor   00000
  34. /* This is the response to send when
  35.  * host queries for Edit Flash Permission.
  36.  * Set this to 0 or 1 to indicate whether
  37.  * this FBTC allows editing individual flash
  38.  * memory locations.
  39.  */
  40. #define EDITFLASHPERMIT  0
  41. #define BYTESPERMAU        1
  42. #define CMDSIZEBYTES    2
  43. #define ARGSIZEBYTES   30
  44. #define MAXDATABYTES 2048
  45. #define CMDINDEX 0
  46. #define ARGINDEX (CMDINDEX + CMDSIZEBYTES)
  47. #define DATAINDEX (ARGINDEX + ARGSIZEBYTES)
  48. #define CMDOK              0x0
  49. #define UNEXP_DATA_LENGTH  0x1
  50. #define ILL_DATA_VAL       0x2       
  51. #define CMD_NOT_DONE       0x3
  52. /* Global Prototypes
  53.  */
  54. void doMessageProc(void);
  55. /* ----------------------------------
  56.  * Special Message Store/fetch funcs.
  57.  * ----------------------------------
  58.  */
  59. /* Stores val into the message command bytes
  60.  */
  61. void StoreCmd(u16 val);
  62. u16 GetCmd(void);
  63. /* Stores val into the message argument bytes
  64.  * at argindex.
  65.  * Argindex is 0-15.
  66.  */
  67. void StoreArg(int argindex, u16 val);
  68. /* Returns an arg value from arg index 0-15
  69.  */
  70. u16  GetArgVal(int index);
  71. /* Returns a pointer to the data block
  72.  */ 
  73. u8 *GetData(void);
  74. /* Send a long value to Host
  75.  * Formats a response message and sends it
  76.  */
  77. void SendI4ToHost(u16 cmd, long val); 
  78. /* Send a u16 value to Host
  79.  * Formats a response message and sends it
  80.  */
  81. void SendI2ToHost(u16 cmd, u16 val); 
  82. /* Send a byte value to Host
  83.  * Formats a response message and sends it
  84.  */
  85. void SendI1ToHost(u16 cmd, u8 val);
  86. #endif