uClinux中注意事项

本文围绕xg2000系统展开,介绍了使用makefile编译单个文件到xg2000运行的方法,包括驱动和应用程式编译。还提及修改分区、版本号、系统启动文件、默认dns等的位置和注意事项,以及解决web分区挂载失败、增加busybox程式等问题的办法,阐述了datastore核心机制。

1.       如何自己单独写一个makefile来编译一个单个的文件到xg2000上运行.

(1).编译一个驱动程式见/xglj/example/driver/drivertest.c.这个程式是一个简单的驱动程式,可以测试一些内核信息.帮助了解内核结构和内核参数.makefile是编译用的.最后都把文件copy/kls目录中去了,这样的话只要把/kls 目录mountxg2000中就能对/kls目录下的文件进行操作.

(2).编译一个应用程式见/xglj/example/driver/make

调用方法是 ./make memory 就可以把这个文件编译到/kls 目录下.

 

2.       修改分区时要修改的地方.

(1). src/Software/firmware/uClinux/etc/ap_rockhopper.h里面的分区开始位置和结束位置

(2). src/Software/firmware/uClinux/etc/router_rockhopper.h里面的分区开始位置和结束位置

(3). src/Software/firmware/uClinux/include/flash_layout.h 里面的分区的结构和分区数量.

(4). src/Software/firmware/uClinux/romfs.tgz中的etc/rc.d/rcSetc/init.d/defaults文件

不要修改解压之后的romfs目录下的文件.修改解压之后的文件在/src/Software/firmware/apfw目录下用make image BUILD=formal BRAND=NB编译还可以.如果在/src目录下用makeimages.sh编译就没有用,这种编译方法会解压romfs.tgz.文件.

 

3.       修改版本号.

(1).直接修改src/Software/firmware/apfw/include/version_info.mak文件.里面包括MVC的版本

 

4.       系统启动时自动启动的文件.

(1).修改src/Software/firmware/uClinux/etc/startup.list.XX下相应的启动文件.里面的程式都是系统启动时候自动启动的文件.

 

5.  系统启动的时候defaultdns.

(1). 修改src/Software/firmware/uClinux/etc/dns.list.XX.里面的数据是系统defaultdns.

 

6.  如果web分区没有mount成功.系统会把web分区的内容清空.清空的命令是

erase_flash /dev/mtd$JFFS_MTD_NUM 0 100

这样可能出现在更新新FW之后系统会出现web文件丢失现象.

解决方法是把之前编译好的web文件放到/etc目录下.在清空之后再把web img文件放到/usr/etc目录下.

 

7.       系统里面的很多程式都是busybox里面编译出来的.如果想增加busybox里面的程式可以修改/src/Software/firmware/uClinux/appbuild/busybox/Config.h.

 

8.       romfs/dev/*文件的含义+dev+console,c,5,1意思是字符设备,主设备号是5,次设备号是1.

如果增加设备驱动要注意增加这种格式.

 

9.       datastore是系统的核心

(1). webgetoid的过程, web->ssi->datastore->get()

(2). websetoid的过程, web->setobject->datastore->set()

(3). ssi,setobjectdatastore通讯的过程是通过udpsocket端口号是1122.

如果调试oid或者过滤oid可以在ssi中进行.里面调用的是系统接口函数.

    (4). Datstore/interfaces/iface_snmp.c/parse_command函数是datastore的接受函数里面分析所以的oid.是系统上层与下层唯一的通道.

    (5), 每个oid有个expiretime属性,如果系统的时间的时候比oid开始启动的时间小的话,下次web上可能会得不到这个oid的值,而得到的是这个oid以前的值.因此要注意,如果系统时间从大到小可能会有问题.

 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值