org.codehaus.xfire.fault.XFireFault: Client with address "192.168.1.222", and hostname "192.168.1.222" is forbidden from making requests to the application, crowd.
进入crowd库
mysql> select * from cwd_application_address;
+----------------+-----------------------+-----------------------+---------------------+| application_id | remote_address | remote_address_binary | remote_address_mask |
+----------------+-----------------------+-----------------------+---------------------+
| 2 | 127.0.0.1 | fwAAAQ== | 0 |
| 2 | 192.168.1.111 | wKgBmw== | 0 |
| 2 | localhost | NULL | 0 |
| 2 | localhost.localdomain | NULL | 0 |
| 3 | 127.0.0.1 | fwAAAQ== | 0 |
| 3 | localhost | NULL | 0 |
| 4 | 127.0.0.1 | fwAAAQ== | 0 |
| 4 | localhost | NULL | 0 |
| 5 | 127.0.0.1 | fwAAAQ== | 0 |
| 6 | 127.0.0.1 | fwAAAQ== | 0 |
| 7 | 127.0.0.1 | fwAAAQ== | 0 |
+----------------+-----------------------+-----------------------+---------------------+
11 rows in set (0.00 sec)
将新的IP按下面方式得到一个串,在shell下执行:
# IP=192.168.1.201; printf \\x$(printf "%X %X %X %X" $(echo $IP| tr . ' ')| sed 's/\ /\\x/g')| base64wKgByQ==
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
重启crowd就可以了。
什么是gel文件?gel文件能干什么?
gel全称General Extended Language,即通用扩展语言文件,gel文件中由类似C语言的代码构成,gel语言是一种解释性语言,gel文件扩展名为.gel;
gel文件用于(1)扩展CCS功能,比如菜单选项等,(2)通过gel可以访问目标板的存储器。
1. gel基本语法——类C
gel函数和gel参数不需要在DSP程序中定义。gel具有C语言的很多相似的东西:函数、return语句、if-else语句、while语句、与C一样的注释方式、#define,这些函数或语句的用法也与C中的非常类似。
GEL函数
funcName(param1 "discription" [,param2 "discription", param3 "discription",...])
{
statements;
}
gel函数中不用声明返回类型和参数类型,但函数中可以使用return语句返回;
参数使用“参数+字符串类型的描述”组成,参数不需要定义,可以是以下的任意一种:实际/仿真的DSP目标板的符号值;数字常量(表达式或常值);字符串常量。
GEL函数调用:通常可以在输入C表达式的任意地方调用GEL函数,也可以在另一个GEL函数中调用GEL函数。GEL函数无法递归调用。
GEL语句
返回语句:
return [expression];
条件语句:
if (exp) statements 1; else statements 2;循环语句:
while (exp) {
statements;
}
GEL预处理
#define identifier(arguments list) token-expression
GEL注释
// 注释
/* 注释 */
1. gel特有关键字
menuitem/hotmenu
在CCS v4.2中测试,menuitem添加Scripts菜单下的子菜单项,hotmenu添加menuitem定义菜单项的子菜单项,参考本文后面的例子。
这两个关键字声明的函数都不需要参数,比如
menuitem "Addressing Modes";
hotmenu C27x_Mode()
{
AMODE = 0;
OBJMODE = 0;
}
hotmenu C28x_Mode()
{
AMODE = 0;
OBJMODE = 1;
}
hotmenu C2xLP_Mode()
{
AMODE = 1;
OBJMODE = 1;
}上面代码将产生如下的菜单结构,
Scripts
- Addressing Modes
- C27x_Mode
- C28x_Mode
- C2xLP_MODE
dialog
向menuitem定义的菜单中添加一个入口子菜单,并在点击子菜单时弹出对话框。
menuitem "MyFunc"
dialog InitTarget(StartAddr "Starting Address", EndAddr "Ending Address")
{
statements;
}
dialog RefreshTarget()
{
statements;
}
slider
添加滑动条,每次移动滑动条都用滑动条上的新值重新调用GEL文件,定义格式如下,
slider param_def(minVal, maxVal, increment, pageIncrement, paramName)
{
statements;
}
3. gel文件的例子
/*
* This GEL file (DSP621x_671x.gel) provides example code on how to
* reset the C6x DSP and initialize the External Memory Interface.
*
* You will have to edit settings in emif_init() to your own
* specifications as the example is applicable to the C6711 DSK.
*
* This file is has minimal functionality and is designed to be used
* as a starting point for custom GEL files.
*
* Refer to CCS Help for detailed information on GEL commands.
*
*/
/*
* The StartUp() function is called every time you start Code Composer.
* It should only include functions that do not "touch the hardware" -
* Hardware initialization should be invoked from the OnTargetConnect()
* function or the GEL menu.
*/
StartUp()
{
/* setMemoryMap;
this should be a function to initialize the mem map based
on the particular hardware that is used
*/
}
/*--------------------------------------------------------------*/
/* OnTargetConnect() -- this function is called after a target */
/* connect. */
/*--------------------------------------------------------------*/
OnTargetConnect()
{
/* GEL_Reset is used to deal with the worst case senario of
unknown target state. If for some reason a reset is not
desired upon target connection, GEL_Reset may be removed
and replaced with something "less brutal" like a cache
initialization function
GEL_Reset();
*/
}
OnReset(int nErrorCode){
/* emif_init(); */
}
/*
* OnPreFileLoaded()
* This function is called automatically when the 'Load Program'
* Menu item is selected .....
*/
OnPreFileLoaded()
{
CleanCache();
}
/*
* CleanCache()
* Actually Invalidate L1D, L1P, and L2
*/
CleanCache() {
*(int *)0x01845004 = 1;
}
emif_init()
{
/*---------------------------------------------------------------------------*/
/* EMIF REGISTERS */
/*---------------------------------------------------------------------------*/
#define EMIF_GCTL 0x01800000
#define EMIF_CE1 0x01800004
#define EMIF_CE0 0x01800008
#define EMIF_CE2 0x01800010
#define EMIF_CE3 0x01800014
#define EMIF_SDRAMCTL 0x01800018
#define EMIF_SDRAMTIMING 0x0180001C
#define EMIF_SDRAMEXT 0x01800020
/*---------------------------------------------------------------------------*/
/* EMIF REGISTER VALUES - these should be modified to match TARGET hardware */
/*---------------------------------------------------------------------------*/
*(int *)EMIF_GCTL = 0x00003040;/* EMIF global control register */
*(int *)EMIF_CE1 = 0xFFFFFF23; /* CE1 - 32-bit asynch access after boot*/
*(int *)EMIF_CE0 = 0xFFFFFF30; /* CE0 - SDRAM */
*(int *)EMIF_CE2 = 0xFFFFFF23; /* CE2 - 32-bit asynch on daughterboard */
*(int *)EMIF_CE3 = 0xFFFFFF23; /* CE3 - 32-bit asynch on daughterboard */
*(int *)EMIF_SDRAMCTL = 0x07117000; /* SDRAM control register (100 MHz)*/
*(int *)EMIF_SDRAMTIMING = 0x0000061A; /* SDRAM Timing register */
}
上面的gel来自于CCS v4安装目录下ccsv4\emulation\gel\DSP621x_671x.gel文件,上面不仅使用了#define定义寄存器地址,还使用了类似C中的指针对EMIF(外部存储器接口)进行配置。
/******************************************************************/ /* Code Composer Studio supports five reserved GEL functions that */ /* automatically get executed if they are defined. They are: */ /*
什么是gel文件?gel文件能干什么?
gel全称General Extended Language,即通用扩展语言文件,gel文件中由类似C语言的代码构成,gel语言是一种解释性语言,gel文件扩展名为.gel;
gel文件用于(1)扩展CCS功能,比如菜单选项等,(2)通过gel可以访问目标板的存储器。
1. gel基本语法——类C
gel函数和gel参数不需要在DSP程序中定义。gel具有C语言的很多相似的东西:函数、return语句、if-else语句、while语句、与C一样的注释方式、#define,这些函数或语句的用法也与C中的非常类似。
GEL函数
funcName(param1 "discription" [,param2 "discription", param3 "discription",...])
{
statements;
}
gel函数中不用声明返回类型和参数类型,但函数中可以使用return语句返回;
参数使用“参数+字符串类型的描述”组成,参数不需要定义,可以是以下的任意一种:实际/仿真的DSP目标板的符号值;数字常量(表达式或常值);字符串常量。
GEL函数调用:通常可以在输入C表达式的任意地方调用GEL函数,也可以在另一个GEL函数中调用GEL函数。GEL函数无法递归调用。
GEL语句
返回语句:
return [expression];
条件语句:
if (exp) statements 1; else statements 2;循环语句:
while (exp) {
statements;
}
GEL预处理
#define identifier(arguments list) token-expression
GEL注释
// 注释
/* 注释 */
1. gel特有关键字
menuitem/hotmenu
在CCS v4.2中测试,menuitem添加Scripts菜单下的子菜单项,hotmenu添加menuitem定义菜单项的子菜单项,参考本文后面的例子。
这两个关键字声明的函数都不需要参数,比如
menuitem "Addressing Modes";
hotmenu C27x_Mode()
{
AMODE = 0;
OBJMODE = 0;
}
hotmenu C28x_Mode()
{
AMODE = 0;
OBJMODE = 1;
}
hotmenu C2xLP_Mode()
{
AMODE = 1;
OBJMODE = 1;
}上面代码将产生如下的菜单结构,
Scripts
- Addressing Modes
- C27x_Mode
- C28x_Mode
- C2xLP_MODE
dialog
向menuitem定义的菜单中添加一个入口子菜单,并在点击子菜单时弹出对话框。
menuitem "MyFunc"
dialog InitTarget(StartAddr "Starting Address", EndAddr "Ending Address")
{
statements;
}
dialog RefreshTarget()
{
statements;
}
slider
添加滑动条,每次移动滑动条都用滑动条上的新值重新调用GEL文件,定义格式如下,
slider param_def(minVal, maxVal, increment, pageIncrement, paramName)
{
statements;
}
3. gel文件的例子
/*
* This GEL file (DSP621x_671x.gel) provides example code on how to
* reset the C6x DSP and initialize the External Memory Interface.
*
* You will have to edit settings in emif_init() to your own
* specifications as the example is applicable to the C6711 DSK.
*
* This file is has minimal functionality and is designed to be used
* as a starting point for custom GEL files.
*
* Refer to CCS Help for detailed information on GEL commands.
*
*/
/*
* The StartUp() function is called every time you start Code Composer.
* It should only include functions that do not "touch the hardware" -
* Hardware initialization should be invoked from the OnTargetConnect()
* function or the GEL menu.
*/
StartUp()
{
/* setMemoryMap;
this should be a function to initialize the mem map based
on the particular hardware that is used
*/
}
/*--------------------------------------------------------------*/
/* OnTargetConnect() -- this function is called after a target */
/* connect. */
/*--------------------------------------------------------------*/
OnTargetConnect()
{
/* GEL_Reset is used to deal with the worst case senario of
unknown target state. If for some reason a reset is not
desired upon target connection, GEL_Reset may be removed
and replaced with something "less brutal" like a cache
initialization function
GEL_Reset();
*/
}
OnReset(int nErrorCode){
/* emif_init(); */
}
/*
* OnPreFileLoaded()
* This function is called automatically when the 'Load Program'
* Menu item is selected .....
*/
OnPreFileLoaded()
{
CleanCache();
}
/*
* CleanCache()
* Actually Invalidate L1D, L1P, and L2
*/
CleanCache() {
*(int *)0x01845004 = 1;
}
emif_init()
{
/*---------------------------------------------------------------------------*/
/* EMIF REGISTERS */
/*---------------------------------------------------------------------------*/
#define EMIF_GCTL 0x01800000
#define EMIF_CE1 0x01800004
#define EMIF_CE0 0x01800008
#define EMIF_CE2 0x01800010
#define EMIF_CE3 0x01800014
#define EMIF_SDRAMCTL 0x01800018
#define EMIF_SDRAMTIMING 0x0180001C
#define EMIF_SDRAMEXT 0x01800020
/*---------------------------------------------------------------------------*/
/* EMIF REGISTER VALUES - these should be modified to match TARGET hardware */
/*---------------------------------------------------------------------------*/
*(int *)EMIF_GCTL = 0x00003040;/* EMIF global control register */
*(int *)EMIF_CE1 = 0xFFFFFF23; /* CE1 - 32-bit asynch access after boot*/
*(int *)EMIF_CE0 = 0xFFFFFF30; /* CE0 - SDRAM */
*(int *)EMIF_CE2 = 0xFFFFFF23; /* CE2 - 32-bit asynch on daughterboard */
*(int *)EMIF_CE3 = 0xFFFFFF23; /* CE3 - 32-bit asynch on daughterboard */
*(int *)EMIF_SDRAMCTL = 0x07117000; /* SDRAM control register (100 MHz)*/
*(int *)EMIF_SDRAMTIMING = 0x0000061A; /* SDRAM Timing register */
}
上面的gel来自于CCS v4安装目录下ccsv4\emulation\gel\DSP621x_671x.gel文件,上面不仅使用了#define定义寄存器地址,还使用了类似C中的指针对EMIF(外部存储器接口)进行配置。
/******************************************************************/ /* Code Composer Studio supports five reserved GEL functions that */ /* automatically get executed if they are defined. They are: */ /*