天嵌 ARM开发社区

 找回密码
 注册
查看: 3392|回复: 4

android下,请高手指点我的代码哪里错了,测试一直有问题

[复制链接]
wangdapengxp 发表于 2013-5-30 11:29:40 | 显示全部楼层 |阅读模式
本帖最后由 wangdapengxp 于 2013-5-30 11:45 编辑









按照LED给的例子,写了can总线的hal/jni/app  测试一直错,请高手看看我的代码哪里出问题了。
另外请教一下,我用什么方法能一层一层的测试,我现在是不知道我写的哪层出错了,是hal就错了,还是jni错了 还是app错了 都不知道,请问如何测试自己的代码,比方说我hal层写完了 如何知道的我的代码是否写的正确。

另一个问题是 为什么我按照led写好了以后,编译hal层,生成的是mycan.omap3.so  不是mycan.tq335x.so

目前是安装了apk,一点按钮,我的本意是自动初始化can总线,然后发送一个数据,但是现在打开应用程序,一点按钮,直接程序就提示错误退出了。给的例子是字符设备,在dev下能找到led,但是can在dev下找不到,根据自己的理解也改了一些地方,请高手帮忙看下。  不用太细,就帮我看下调用流程对不对。 查了一些资料,can总线在android下的实在太少了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
TQ-ZQL 发表于 2013-5-30 11:35:47 | 显示全部楼层
自己加些打印信息,logcat一下看它哪里出现了问题
TQ-lkp 发表于 2013-5-30 13:58:14 | 显示全部楼层
本帖最后由 TQ-lkp 于 2013-5-30 13:58 编辑

生成的是mycan.omap3.so  不是mycan.tq335x.so
你编绎前没有设置下环境变量吧


另外请直接帖部分你觉得有问题的源码,不要以附件的方式
 楼主| wangdapengxp 发表于 2013-5-31 14:24:27 | 显示全部楼层
本帖最后由 wangdapengxp 于 2013-5-31 15:26 编辑
TQ-lkp 发表于 2013-5-30 13:58
生成的是mycan.omap3.so  不是mycan.tq335x.so
你编绎前没有设置下环境变量吧


换了个思路,找了一个android驱动开发的文档

hal层xx.h xx.c  然后jni层他是用frameworks/base下的多个不同文件夹里编写了com_android_server_xx.cpp  加 IxxService.aidl  加 xxService.java什么的 我按照那个步骤写了  也编译通过了

需要帮忙解答的问题是:
我按照文档mmm 编译了,如何把这部分改动生成文件系统,天嵌给的文档是用库的,把各种so拷贝到开发板,现在我找的这个方法因为添加了其他内容,这种方式不可以吧? 问下高手这个怎么弄。

那个文档里都是说用mmm 编译了
1增加mycan.h mycan.c android.mk
用mmm hardware/libhardware/moudles/mycan编译    生成了mycan.default.so

2增加com_android_server_MycanService.cpp 修改onload.cpp android.mk
用mmm frameworks/base/services/jni编译  生成了libandroid_services.so

3增加IMycanService.aidl  修改base/android.mk
用mmm frameworks/base编译  生成了framework.jar

4增加MycanService.java 修改SystemServer.java
用mmm frameworks/base/services/java编译  生成了services.jar

我按照这个编写了,也都编译通过了
  
他用make snod 生成了system.img文件,就说可以编写app层应用程序了,这个文件能下载到开发板上么?
如果不能,请问按照他这种方式,我如何生成修改的文件系统,然后下载到开发板上?
也就是我如何能把增加的变动和各种so文件直接弄到rootfs_dir中,再用天嵌提供的的mkya***那个来生成root.bin

(有此疑问是因为我发现生成各种so是放在***product/tq335x/system/lib和lib/hw下,不是放在***product/tq335x/rootfs_dir下,而我是用rootfs_dir这个文件夹生成的root.bin,自己感觉这样做改动根本没有加到root.bin里)


TQ-lkp 发表于 2013-6-3 09:16:58 | 显示全部楼层
调试最简单的就是nfs的方式,将生成的文件拷贝到对应的out/target/product/tq335x/rootfs_dir对应的目录中,库文件直接覆盖
如果是apk就重新安装一下就可以直接测试了

mmm生成的文件并没有直接拷贝到文件系统目录下,要手动拷贝,只要使用make的时候才能拷贝到文件系统目录的。
如:
mmm生成的文件 ***product/tq335x/system/libmycan.default.so,手动拷贝到***product/tq335x/rootfs_dir/system/lib目录下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 03:52 , Processed in 1.046882 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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