微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > 基础(十八):SYSBIOS-NDK(5)

基础(十八):SYSBIOS-NDK(5)

时间:10-02 整理:3721RD 点击:

配置HTTP服务


首先要加载网页,这里使用了AddWebFiles函数,NDK是支持EFS文件系统,这个文件系统是存在于RAM中的,而不是板上的NANDFlash中。

在这个函数中,将html文件、图片、cgi程序加入到efs文件系统中,使用的是efs_createfile函数,这些网页文件与图片、程序都要事先进行转换。

转换使用binsrc.exe程序。能将你的文件转成C语言的数据。


HTTP还使用了身份认证,就是你的操作是要输入用户名与密码的。

新建身份认证使用的是CI_ACCT结构体。




Flags确定了访问权限,共有4个标志可以用。这与linux下的用户权限有点像。



另两个成员,也就是用户名与密码了。他们都是字符串。可以通过strcpy函数进行赋值。


使用CfgAddEntry将HTTP的身份认证添加到hCfg中。

  1. CfgAddEntry(hCfg, CFGTAG_ACCT, CFGITEM_ACCT_REALM, 0, sizeof(CI_ACCT), (UINT8 *)&CA, 0);

复制代码


配置HTTP的回调函数为ServiceReport。

这里的配置方法与之前的配置方法相同,使用结构体CI_SERVICE_HTTP先赋值,再使用CfgAddEntry添加到hCfg中。这里不现赘述,直接看下配置程序。



以上都是对服务的配置,最后要对接收、发送数据的的Buffer进行设置,主要就是设置Buffer的大小。


  1.    rc = 8192;
  2.     CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTCPTXBUF, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0);

  3.     // TCP 接收 buffer 大小(copy 模式)
  4.     rc = 8192;
  5.     CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTCPRXBUF, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0);

  6.     // TCP 接收限制大小(non-copy 模式)
  7.     rc = 8192;
  8.     CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKTCPRXLIMIT, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0);

  9.     // UDP 接收限制大小
  10.     rc = 8192;
  11.     CfgAddEntry(hCfg, CFGTAG_IP, CFGITEM_IP_SOCKUDPRXLIMIT, CFG_ADDMODE_UNIQUE, sizeof(uint), (UINT8 *)&rc, 0);

复制代码


可以看到也是使用的CfgAddEntry函数,那么最后再来看一下CfgAddEntry函数。

共有七个参数,分别:



CfgAddEntry函数的功能就是将配置信息添加到配置句柄中。而我们在程序中使用的句柄就是在开始时新建的一个句柄。

HANDLE hCfg;

在每一次CfgAddEntry函数的调用时,都是将配置信息添加到了hCfg中。


由于接下来的几篇都是NDK的讲解与使用方法的说明,在NDK的最后一篇将把所有的源码与二进制文件上传。


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top