暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

嵌入式web开发之BOA服务

      大家好,我是春哥。我又回来了,最近开始学习嵌入式web开发了,也和大家分享一下。


      在嵌入式设备中,有两种交互界面,一种是lcd屏幕(比如车载电视,车载导航),这种配置直接用手触摸屏幕就可以实现,另一种就是web服务(比如路由器),相当于在嵌入式设备中放了一个服务器,这个嵌入式设备就可以当作百度,通过浏览器来访问嵌入式服务器,也可以通过浏览器来配置嵌入式设备的工作方式。

       采用web服务,不管你使用的是什么设备,只要你的设备有浏览器,就可以访问到嵌入式设备,当前的无lcd屏幕的嵌入式设备一般都是采用web服务的方式来配置。


什么是web服务器


      web服务器本质上就是一个tcp服务器,由于应用层在数据处理格式上,采用了一个HTTP格式的协议标准,这样的服务器称之为web服务器。web服务器可以为用户的浏览器提供合法数据。

嵌入式系统中,常用的开源web服务


      一般常用的web服务有两种,BOA和appweb,还有一些公司自己开发的服务器。简单介绍一下两种服务器,BOA服务器,BOA算是特别老牌的服务器了,从13年开始就没有更新了,BOA功能简单,代码量少,学习起来比较方便。appweb功能强大,代码量也大,适合工程上面使用。


如何移植BOA服务器


      BOA开源代码支持多功能选择,针对于不同的设备可以选择不同的配置方式,包括目标机器的体系结构,功耗性能等,生成一个适用于目标机器的可执行程序。比如我们的电脑的体系结构是X86结构,我们的嵌入式设备是ARM结构,在编译时我们就需要选择交叉编译。

      总结一下移植的基本步骤:1、指定编译工具。2、根据目标机器性能进行配置。3、生成(make)。


BOA配置

       1、进入sourceforge社区,搜索BOA,然后找到BOA这个项目

我们搜索出来的结果可能有很多,但是记住一定是这个,点击See Project,就可以进行源码下载了,然后拖到你的Linux里面,解压。

      2、解压之后的目录如下

      3、进入src目录,我们会发现没有Makefile,但是有configure这说明需要我们自己生成一个Makefile,执行命令./configure,执行之后就会有。

      4、但是现在的Makefile只是根据当前机器生成的,所以现在执行make生成的可执行文件只能在当前的机器上运行,并不能在嵌入式设备上运行,所以我们还需要进行配置。

      5、修改makefile,使得支持目标板。


编译BOA


      以上步骤完成后,执行make,如果你的虚拟机是新的虚拟机,应该会报错

这是第一个,yacc: Command not found,我们第一反应应该是我们这个系统有个工具没装,如果是Ubuntu的话,执行一下yacc会提示你该执行什么命令下载。

根据提示来下载软件,命令很多,执行第一个就好。然后再执行一下make

第二个错,和第一个是一样的,怎么解决应该知道了吧,下面再执行一下make

然后,又出错了,这个错的问题在于以前的GCC支持‘##’这个符号,而现在的GCC不支持,所以我们把compat.h中的‘##’去除掉就可以了。再执行一次,应该是没有问题了。


文章转载自春哥的嵌入式小世界,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

zwy2008
关注
暂无图片
获得了143次点赞
暂无图片
内容获得57次评论
暂无图片
获得了248次收藏