20.3.3 测试工程框架
来源:互联网 发布:qq优化排名群怎么做 编辑:程序博客网 时间:2024/05/21 13:59
20.3.3 测试工程框架
工程框架配置修改完毕后,需要进行简单的测试,根据测试结果判断框架是否搭建成功。回到内核代码顶层目录,输入make ARCH=arm CROSS_COMPILE=arm-linux- menuconfig命令,出现内核设置图形界面。
在内核配置界面选择Load an Alternate Configuration File菜单,进入后输入“arch/arm/ configs/s3c2410_defconfig”命令,确定后会加载s3c2410默认的配置文件。加载默认配置文件的好处是已经经过验证,用户只需要在默认配置文件的基础上修改自己的配置,减轻了配置的工作量。
加载默认配置文件后,可以开始配置新增加的菜单。进入System Types菜单项,打开S3C24XX Implementations菜单,出现一个目标开发板的列表:
[ ] Simtec Electronics BAST (EB2410ITX)
[ ] IPAQ H1940
[ ] Acer N30
[ ] SMDK2410/A9M2410
[ ] SMDK2440
[ ] AESOP2440
[ ] QQ2440/mini2440
[ ] Thorcom VR1000
[ ] HP iPAQ rx3715
[ ] NexVision OTOM Board
[ ] NexVision NEXCODER 2440 Light Board
[ ] mini2440
列表最后一项是在20.3.1节中添加的mini2440菜单项。把光标移到mini2440菜单项使用回车选中。选择mini2440开发板完毕后,保存退出内核配置界面。在命令行输入“make ARCH=arm CROSS_COMPILE=arm-linux- bzImage”命令编译内核代码。请注意,此时编译内核代码可能会有好多的错误,并且不会编译通过,问题是虽然建立了目标板工程框架,但是在源代码文件中没有任何内容。下面是在笔者机器上报错的部分信息提示:
arch/arm/kernel/traps.c: In function '__bug':
arch/arm/kernel/traps.c:627: warning: 'noreturn' function does return
kernel/intermodule.c:179: warning: 'inter_module_register' is deprecated (declared at kernel/intermodule.c:38)
kernel/intermodule.c:180: warning: 'inter_module_unregister' is deprecated (declared at kernel/intermodule.c:79)
kernel/intermodule.c:182: warning: 'inter_module_put' is deprecated (declared at kernel/intermodule.c:160)
fs/yaffs2/yaffs_fs.c:198: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:228: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c:229: warning: initialization from incompatible pointer type
fs/yaffs2/yaffs_fs.c: In function 'yaffs_proc_write':
fs/yaffs2/yaffs_fs.c:1865: warning: 'len' might be used uninitialized in this function
fs/yaffs2/yaffs_fs.c: At top level:
fs/yaffs2/yaffs_fs.c:1305: warning: 'yaffs_do_sync_fs' defined but not used
fs/yaffs2/yaffs_guts.c: In function 'yaffs_ObjectHasCachedWriteData':
fs/yaffs2/yaffs_guts.c:2997: warning: unused variable 'cache'
fs/yaffs2/yaffs_guts.c: In function 'yaffs_Scan':
fs/yaffs2/yaffs_guts.c:4490: warning: unused variable 'hl'
fs/yaffs2/yaffs_qsort.c:77:1: warning: "min" redefined
In file included from fs/yaffs2/yportenv.h:35,
from fs/yaffs2/yaffs_qsort.c:30:
include/linux/kernel.h:243:1: warning: this is the location of the previous definition
drivers/char/keyboard.c:1018:2: warning: #warning "Cannot generate rawmode keyboard for your architecture yet."
drivers/net/dm9000x.c: In function 'dmfe_probe':
drivers/net/dm9000x.c:288: warning: assignment makes integer from pointer without a cast
drivers/serial/serial_core.c:2427: warning: 'uart_register_port' is deprecated (declared at drivers/serial/serial_core.c:2348)
drivers/serial/serial_core.c:2428: warning: 'uart_unregister_port' is deprecated (declared at drivers/serial/serial_core.c:2405)
从报错信息看,主要集中在函数未定义和函数重定义两种错误。在编译的时候提示出错的函数名称需要关注,可能需要在新增的代码文件中重新定义或者调用。内核编译会出错退出,报错信息如下:
arm-linux-ld:arch/arm/kernel/vmlinux.lds:815: parse error
make: *** [.tmp_vmlinux1] Error 1
该信息提示解析arch/arm/kernel/vmlinux.lds文件第815行出错,出现该错误表示已经完成内核代码编译,在链接代码时产生问题,在后面章节会详细分析出错原因。
到目前为止,向内核新增的代码框架已经可以正常工作,第20.4节将介绍如何编写对应开发板的代码。
- 20.3.3 测试工程框架
- Unity框架 测试Demo 工程源码
- 20.3 建立目标平台工程框架
- APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解
- APP自动化框架LazyAndroid使用手册(4)--测试模板工程详解
- 【Dubbo分布式服务框架】5.传统测试工程的搭建1
- 测试框架
- 框架测试
- 测试框架
- 工程测试实验指导书
- JMeter 测试工程
- 创建 Robotium 测试工程
- 创建 instrumentation 测试工程
- c++工程包含测试
- XCODE 建立测试工程
- 创建 Robotium 测试工程
- Android工程测试
- 新建 Android 测试工程
- 20.3 建立目标平台工程框架
- const使用
- 20.3.1 加入编译菜单项
- 20.3.2 设置宏与代码文件的对应关系
- ADO.NET常用的方法
- 20.3.3 测试工程框架
- 20.4 建立目标平台代码框架
- 网络无边
- 20.5 构建目标板代码
- 20.6 小 结
- 串口wifi- 无线局域网wlan模块
- 伽利略变换的极限式证明及推论
- C# 动态加载
- xml文件中存取BASE64编码的图片