搞了这么多年的嵌入式,还是刚开始接触Linux应用层的东东,说来惭愧!
见贤思齐焉,见不贤而内自省也!扬鞭猛追吧!
先说下目的:嵌入式MIPS上跑Linux,接CDMA模块发送数据。
根据多年的耳濡目染,怎么着也明白网络的7层模型了,呵呵。欲通过CDMA发送数据,就要用PPP协议拨通CDMA模块,而PPP协议处于7层协议中的第2层:数据链路层,物理层的东东偶就不管拉,有模块去做了,要不然花钱干嘛:)。
所谓链路层,就像局域网中的RTL8139,古董拨号的SLP,都是处于TCP/IP之下的,只要数据链路通了,其他程序还是照旧!改用socket的还用socket,UDP,TCP都还好使。
废话少说,回到关注PPP上。一顿猛搜,原来还有pppd,chat这样的好东东,哎,做底层习惯了,什么都想自己搞,看来上层也有上层的方式。
先下载ppp-2.4.4,这东东好,里面就包含了pppd和chat,首先编译。
1.执行./configure来产生makefile,主要是ppp-2.4.4支持多个操作系统,执行之后会产生正确操作系统的makefile文件。
2。由于是嵌入式上的,就要用交叉编译,所以修改makefile,把编译器改到自己的。
CC = $(CROSS_COMPILE)gcc
如果你想安装的时候不安装在本机根目录下,就要指定INSTROOT的路径,这里设为:
INSTROOT = /usr/workroom/ppp/prebuild
3。一切具备,编译,make & make install,这样就产生了完备的路径和执行文件,我们看到在INSTROOT/usr/local/sbin会多了几个文件:chat,pppd,pppstats,pppdump。
4。得到这些东东后,拿到target板上试下,pppd --help,呵呵,果然出来了。
先写到这里,下面就要调试了。