uClinux中注意事项
2004-08-17 13:08
519 查看
1. 如何自己单独写一个makefile来编译一个单个的文件到xg2000上运行.
(1).编译一个驱动程式见/xglj/example/driver/drivertest.c.这个程式是一个简单的驱动程式,可以测试一些内核信息.帮助了解内核结构和内核参数.makefile是编译用的.最后都把文件copy到/kls目录中去了,这样的话只要把/kls 目录mount到xg2000中就能对/kls目录下的文件进行操作.
(2).编译一个应用程式见/xglj/example/driver/make
调用方法是 ./make memory 就可以把这个文件编译到/kls 目录下.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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/rcS和etc/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. 系统启动的时候default的dns.
(1). 修改src/Software/firmware/uClinux/etc/dns.list.XX.里面的数据是系统default的dns.
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). web中getoid的过程, web->ssi->datastore->get()
(2). web中setoid的过程, web->setobject->datastore->set()
(3). ssi,setobject和datastore通讯的过程是通过udp的socket端口号是1122.
如果调试oid或者过滤oid可以在ssi中进行.里面调用的是系统接口函数.
(4). Datstore/interfaces/iface_snmp.c/parse_command函数是datastore的接受函数里面分析所以的oid.是系统上层与下层唯一的通道.
(5), 每个oid有个expiretime属性,如果系统的时间的时候比oid开始启动的时间小的话,下次web上可能会得不到这个oid的值,而得到的是这个oid以前的值.因此要注意,如果系统时间从大到小可能会有问题.
(1).编译一个驱动程式见/xglj/example/driver/drivertest.c.这个程式是一个简单的驱动程式,可以测试一些内核信息.帮助了解内核结构和内核参数.makefile是编译用的.最后都把文件copy到/kls目录中去了,这样的话只要把/kls 目录mount到xg2000中就能对/kls目录下的文件进行操作.
(2).编译一个应用程式见/xglj/example/driver/make
调用方法是 ./make memory 就可以把这个文件编译到/kls 目录下.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
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/rcS和etc/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. 系统启动的时候default的dns.
(1). 修改src/Software/firmware/uClinux/etc/dns.list.XX.里面的数据是系统default的dns.
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). web中getoid的过程, web->ssi->datastore->get()
(2). web中setoid的过程, web->setobject->datastore->set()
(3). ssi,setobject和datastore通讯的过程是通过udp的socket端口号是1122.
如果调试oid或者过滤oid可以在ssi中进行.里面调用的是系统接口函数.
(4). Datstore/interfaces/iface_snmp.c/parse_command函数是datastore的接受函数里面分析所以的oid.是系统上层与下层唯一的通道.
(5), 每个oid有个expiretime属性,如果系统的时间的时候比oid开始启动的时间小的话,下次web上可能会得不到这个oid的值,而得到的是这个oid以前的值.因此要注意,如果系统时间从大到小可能会有问题.
相关文章推荐
- Microsoft Visual Studio .NET 2003制作安装程序
- 如何用VB获得机器的MAC地址
- duwamish7的感悟!
- IP地址的隐藏(delphi实现 )
- 使用 .NET 框架将现有代码作为 Web 服务提供
- 如何在VB例程中接收自定义消息
- servlet生命周期
- SymbianOS Series 60学习笔记一: HelloWorld之晕
- SymbianOS Series 60学习笔记二:ListBox控件
- 使用open source产品搭配你的web应用架构
- Intermidiate EDI--Web Services
- wiring的运行(使用open source产品组装你的web应用架构)
- Inside Java2 SDK Source Internal 深入Java2 SDK原始码(一) Java2 SDK原始码概观
- XML的QL查询语言及其实现-1
- SymbianOS Series 60学习笔记二:ListBox控件
- SymbianOS Series 60学习笔记一: HelloWorld之晕
- 用Socket发送电子邮件
- 服务器客户端构造流程