嵌入式爱好者

12
返回列表
楼主: miujing1988106

ZC301在OK6410上的工作问题!!!

[复制链接]
miujing1988106 该用户已被删除
 楼主| 发表于 2013-1-8 10:15:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

153

主题

3910

帖子

4207

积分

AM5718通行证AM335x通行证i.MX6UL通行证i.MX RT通行证i.MX6Q通行证XX18通行证TCU通行证FCU1401通行证FCU1301通行证FCU11xx通行证

发表于 2013-1-8 10:42:04 | 显示全部楼层


错误原因是linux内核中出现空指针。

对于我的错误代码如下:

nas_priv->input->name = "nastech_ts";

nas_priv->input->phys = nas_priv->phys;

nas_priv->input->id.bustype = BUS_I2C;

如果把这几行注释了,就不会报错。

大致是因为nas_priv_input是空的。

具体解决方法,如下:

nas_priv的定义如下

[cpp] view plaincopyprint?

    struct nas_ts_priv {TOUCH_DATA_st *touchData;struct i2c_client *client;struct input_dev *input;};static struct nas_ts_priv *nas_priv=NULL;  



在linux内核空间,应显式分配所有的内存。

[cpp] view plaincopyprint?

    nas_priv=kzalloc(sizeof(struct nas_ts_priv), GFP_KERNEL);nas_priv->client=kzalloc(sizeof(struct i2c_client),GFP_KERNEL);nas_priv->touchData =kzalloc(sizeof(TOUCH_DATA_st), GFP_KERNEL);nas_priv->input =kzalloc(sizeof(struct input_dev), GFP_KERNEL);  



然后,OK了。
技术支持电话:0312-3119192
技术支持邮箱:Linux@forlinx.com
点评回复 支持 反对

使用道具 举报

wormking 该用户已被删除
发表于 2013-3-10 19:25:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

miujing1988106 该用户已被删除
 楼主| 发表于 2013-3-21 10:59:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2024-12-23 14:13

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表