- 注册时间
- 2011-8-14
- 最后登录
- 2021-3-20
- 阅读权限
- 200
- 积分
- 462
- 精华
- 1
- 帖子
- 39
|
本帖子收集了基于友善之臂6410开发板(Tiny6410/mini6410)开发使用过程的一些常见问题及解答,内容主要收集来自论坛、邮件以及技术支持电话中用户提出的常见问题及我们的工程师所做的解答。
帖子中列出的很多问题在用户手册中也进行了说明,因此,部分内容可能与用户手册有所重复。
帖子更像是一份遇到问题时的快速参考指南,在使用开发板的过程中,如果遇到问题,推荐用户先查看本份文档和用户手册,看是否已有用户提出过类拟问题并得到了解答,如仍未能解决你的问题,再联系我们的技术支持进行提问。
------------------------------------------------------------------------------------------------------------------------
选购
友善6410开发板是否适合于工业产品开发?
很多客户在产品中使用我们核心板和开发板,另外,我们的开发板也通过了CE的认证,欢迎试用和评估我们的开发板。
Mini6410现在已经正式通过欧洲CE和RoHS认证,
支持10寸以上的LCD吗?
目前6410已支持10寸LCD,请更新你的光盘到2011-07-22以后的版本。
另外,可以通过VGA转接板将图像通过VGA信号输出到普通的电脑显示器上,只受限于分辨率为800x600和1024x768,与屏幕尺寸无关。
2440与6410之间如何选购?
看你的需求,6410是arm11,2440是arm9,
6410性能要好很多,体现在多媒体功能上面,支持视频硬解码,2D/3D加速等,这些都是2440不支持的。
另外,6410可流畅运行最新版本的Android,如果你要做Android方面的开发,建议选择6410。
TINY6410与MINI6410之间如何选购?
在功能上是一样的,软件的支持基本上也是通用的,主要区别在于:
a) Mini6410是一个整合板,在一块电路板上集成所有功能。
b) Tiny6410是 “核心板+底板”的架构,主要是为了方便企业用户定制,企业用户可根据自已的需要,只采购核心板,底板自已根据需要进行设计。
是否支持J-LINK调试和裸机程序?
支持,请参考《使用Jlink在ADS环境下调试Mini6410裸机程序详细手册》,
哪些软件是开源的?哪些不开源?
可到这个页面查看详细的信息:
Linux Kernel除了多媒体和MLC2 Flash驱动,其它所有驱动都是开源的,Android还有Windows CE BSP也都是开源的。
不开源的部分主要是一些友善为方便客户进行测试而开发的工具和软件,或者为企业用户定制的软件。
不开源的部分,如果涉及到硬件接口,一般我们都会提供教程和简单的示例程序(见《Mini6410 Qtopia/Qt编程开发指南》),在Android下也提供有现成可用的类库(见《Mini6410 Android2.3编程开发指南》),也会提供技术支持。
什么是一线精准触摸?
目前市面上的6410的很多产品都有触摸不够准确的问题(特别是使用大屏时),友善为了解决这个问题开发了一线精准触摸,其原理是在触摸屏控制端增加了一个小芯片,并在此芯片上开发单片机程序实现了触摸数据的采集然后通过数字的方式传输到开发板上,在开发板端再还原成系统所认识的触摸屏数据,由于触摸数据是通过数字方式进行传输,所以可以一劳永逸地解决了ADC触摸数据被干扰的问题,从而使得触摸足够精准。
开发板的使用
旧版串口触摸屏如何使用新光盘中的软件?
请更新你的光盘到2011-07-22以后的版本,我们提供了一个genrootfs-s.sh用于制作针对串口触摸屏的文件系统,你也可以按以下方法手动制作:
Android系统的解决方法:
1) 自行编译android源代码
2)编译成功后,用genrootfs.sh生成文件系统文件 (会创建目录 rootfs_dir)
3) 接着,先不要生成 ubi 映象,进行以下修改:
echo TSLIB_TSDEVICE=/dev/s3c2410_serail3> rootfs_dir/etc/friendlyarm-ts-input.conf
echo CHECK_1WIRE=N >rootfs_dir/etc/ts.detected
即保证 friendlyarm-ts-input.conf 的内容为/dev/s3c2410_serail3, ts.detected的内容为 CHECK_1WIRE=N
4) 最后,用genimages.sh生成文件系统映象,重新烧写
Linux系统的解决方法与Android系统的方法基本相同,但串口设备名称由 /dev/s3c2410_serail3 改为 /dev/ttySAC3。
哪里有USB摄像头开发的示例源代码可以参考?
USB摄像头驱动支持V4L2开发接口,网上应该可以找到大量的例子,在Mini6410和Tiny6410中,USB摄像头的驱动设备文件名为:/dev/video2。
有一个开源项目mjpg-streamer-mini2440,支持USB摄像的WEB预览功能,这个项目的源代码经友善测试同样可用于Mini6410的开发板上,因此你也可以参考这个项目的源代码来开发你自已的摄像头程序。
开机时每次屏幕都花屏一下,是不是LCD有问题?
这是因为Boot loader在启动时没有清除LCD控制器的BUFFER的原因,所以LCD加电时会显示BUFFER中残留的内容,属软件的特性,与LCD硬件的质量无关,请放心正常使用。
屏幕闪烁很严重怎么办?
1) 检查排线是否有接触不良,
2) 如果是4寸屏,可自行尝试调节屏幕背面的可变电阻试试。
3) 上面两个方法均无效,联系客服。
超级终端可以显示但是不能输入?
一般是设置问题,需要注意关闭“流控制”选项。
为什么不能烧写大文件?
在新版本软件中已经支持大于内存大小的文件烧写了,请下载最新光盘更新你的软件。
为什么我的SD卡无法烧写或者无法启动?
以下几种原因均有可能导致不行,并有解决方法:
1. 不要使用笔记本自带的读卡器,建议使用外接的USB读卡器,注意,有的外接USB读卡器也是不行的,建议选带品牌的读卡器。(推荐USB读卡器)
2. 不要使用山寨的SD 卡,也要确认你购买到的是正品SD卡,因为假货太多了,最好是4G或以上的SDHC。 (推荐使用金士顿和Sandisk的SD卡)
3. 不要使用Micro-SD卡+卡套的方式,请使用普通的SD卡,因为卡套的方式非常容易导致接触不良。
4. SD卡启动功能是6410本身就带的,里面的代码是固定死的,它有可能无法识别某些卡,因此有些卡可能不行,可以多试试。
5. 因接触不良导致无法使用SD卡启动的可能性比较大,建议多插拔几次试试,这包括(1) 核心板和底板的接触,(2) SD卡座本身的接触
6. 6410从SD卡启动时,要把superboot或其他bootloader烧写到SD卡高位地址起始处,如果你的卡在此处损坏了,也是无法启动的,烧写工具是无法检测你的卡是否损坏的。
建议到博航嵌入式购买正版行货的SD卡,这些品牌和型号的SD卡是经过测试保证可用于开发板的。
刚买不久的板子,显示有大量坏块?
一般出现这种情况都是烧错了Image,请参考手册重新烧写。
支持哪些型号的3G上网卡?
可参考http://www.broadon.cn/item.htm?id=7969601727
支持哪些型号的USB WIFI?
http://www.broadon.cn/item.htm?id=2403303517
如何连接超过10寸的触摸屏呢?
可以到市面上选择串口或者USB接口的触摸屏,需要自行进行开发。
如何选购USB CAMERA?
因为山寨的摄像头比较混杂,对驱动的兼容性不是很好,建议选用我们测试过的摄像头:
http://www.broadon.cn/item.htm?id=4894406931
新旧版本的Tiny6410核心板是否可以插到同一块底板上?
http://www.broadon.cn/item.htm?id=8879265275
可以,引脚是相同的。
如何下载并运行祼机程序?
可利用 superboot 的 download与run 功能,直接通过USB下载并运行祼机程序。
有没有摄像头和媒体播放的API接口?
友善移植和开发的驱动支持系统标准的操作接口,在WinCE下可以使用DirectShow进行摄像头的预览和拍照,在Linux下则使用v4l2API,在Andorid下可以使用Android提供的API。
Android类问题
有没有Android相关的开发文档?
有,由友善工程师编写,介绍如何搭建 Android 开发环境以及编写Android应用软件,并在Tiny6410和Mini6410上调试。
怎么编译单个模块?
在android源代码根目录执行
. setenv
再到你要编译的模块的目录执行以下命令即可。
mmm ./
注意,但并不是所有模块都可以单独编译的,一般app和lib通常都可以单独编译,但一些公共的库就不行。
如何将Android程序下载到开发板上运行?
1) 通过miniUSB线,在eclipse运行程序时,会自动下载并运行你的程序
2) 通过adb命令来安装
3) 拷贝到SD卡,在开发板上点击apk文件进行安装
4) 通过ftpget下载apk文件到开发板,通过命令 pm install xxx.apk 进行安装, (xxx.apk改成你的apk文件名)
注:愤怒的小鸟在安装前要将SD卡拨出。
如何在Linux下安装ADB驱动?
参考文档:
如何在Windows7下安装ADB驱动?
参考文档:
在Fedora和Win7下安装USB ADB驱动均不成功怎么办?
可参考《Android ADB over TCP/IP 及在Mini6410开发板上运行Helloworld
》
Android下无法执行我编译写的C程序?
程序一定要静态编译,即在arm-linux-gcc/arm-linux-g++上加上-static参数。
如何在ANDROID上开发串口通讯的程序?
使用libfriendlyarm-hardware.so类库中的接口可以实现,具体可参考FriendlyARM编写的《Android 2.3 开发指南》,当然也可以自已编写JNI类库来实现,可参考《Mini6410之Qt和Qtopia编程开发指南》。
iTest和libfriendlyarm-hardware.so是否开放源代码?
不开放,可以自已用JNI写一个自已的lib,
至于驱动的接口,可参考文档《Mini6410之Qt和Qtopia编程开发指南》,
如何在ANDROID中访问摄像头?
友善已经按标准的Android接口编写了Camera HAL层的程序,所以你用标准的Android API就可以访问摄像头了。
非大陆的移动运营商,如何进行3G拨号?在哪里可以修改拨号参数?
通过修改 /etc/ppp/peers 下面的pppd脚本来实现
我想让Android支持鼠标和键盘,如何做呢?
Android是为指尖触摸设备而设计的,对鼠标支持并不好,就算你插上鼠标并能成功识别,Android也只是把你的鼠标识别成5向滚轮键而以,界面上并不会出现鼠标光标。
不过,开源社区有一些项目意在将ANDOIRD移植到PC上网本上,他们自行在ANDROID中增加了鼠标的支持,例如 android-x86 项目,你可以参考他们的实现,自行定制 Android 源代码。
Android2.3的LED驱动源代码在什么位置?
位于 drivers/char/mini6410_leds.c
如何在命令行进行3G拨号?
华为E1750在Mini6410和Tiny6410通过命令行拨号的方法是,在终端上执行以下命令:
# 3g-ppp/system/etc/3g-modem/12d1.1446.12d1.1001
# call-ppp wcdma
执行以上命令后,就会在后台进行拨号了,然后进入目录/var/run/,查看是否产出文件 ppp0-ok,如果有,则表示已拨号成功,ppp0-ok文件内会存储IP地址和DNS。
要断开网终,kill pppd进程ID 即可。
其它型号的3G上网卡可以在图形界面上拨号成功后,通过ps查看进程列表来获得3g-ppp的命令行,再结合上面所说的步骤进行。
Android下如何开机运行程序?
则最简单的方法是定制Android源代码,用C编写一个service程序,然后将该service添加到 init.rc 中即可开机自动运行了。
6410 android 版本为什么不用 init 而用linuxrc ?
使用 linuxrc 主要是为了检查是否需要校准触摸屏,如果需要(通常发生在第一次开机时)就调出校准画面,最终还是会调用 Android中的init的。
Linux类问题
如何通过命令行连接WiFi?
输入命令:
start-wifi wpa2 "ESSID""PASSWORD"
摄像头的设备名称是什么?
CMOS 摄像头的设备名称为 /dev/video0 ,如果是 USB摄像头,则设备名称为 /dev/video2。
如何开机自动启动我的程序?
修改/etc/init.d/rcS,将/bin/qtopia&这一行改成你想要开机运行的程序。
如果你要开机运行Qt4程序,可参考文档:《Mini6410 Qt4和Qtopia编程开发指南》。
文档下载地址:http://www.arm9home.net/read.php?tid-9360.html
为什么运行我用Qt4写的程序时无法使用触摸屏?
需要设置相关的环境变量,可参考文档:《Mini6410Qt4和Qtopia编程开发指南》。
文档下载地址:http://www.arm9home.net/read.php?tid-9360.html
用命令行无法连接WiFi,用图形界面却可以,怎么回事呢?
原因是如果有线网接口是UP状态的,系统会以有线网作为连接,所以在使用WiFi时,先将有线网Down掉,使用如下命令进行:
ifconfig eth0 down
如何在命令行进行3G拨号?
同 Android 平台。
WinCE类问题
WinCE下如何开发摄像头程序?
WinCE的摄像头驱动支持DirectShow的API接口,因此,你可以使用DirectShow通用的API来访问和操作摄像头。
光盘自带的BSP编译不通过?
一定要使用Win7 32bit,以及VS2005来编译。
如何修改MAC地址?
使用友善提供的CE6下的 iMAC设置程序进行设置。(注:早期版本在6410平台下没法修改MAC地址,这个BUG目前已经修正,请到ARM9论坛下载最新的光盘和软件)
为什么内存是256M的开发板,在WinCE下查看内存显示并没有256M?
2011-07-22的光盘更新中,已经在WINCE中真正实现256M内存的支持。
如何使用通过USB调试WINCE程序?
1)首先安装 WinCE SDK6.0。
2)将开发板与PC用 mini USB线相连,并且在Win7下能识别出开发板是一个移动设备,并成功同步。
3) 在vs2005上为程序选择Target为WinCE6.0 Device,就可以在开发板上运行和调试程序了。
Android下,用iTest测试串口,为何串口1只能写不能读?
出现这个问题的原因是,串口1已被GPS模块占用了,所以与iTest发生了冲突,可修改 init.rc ,将GPS打开的串口指向其它串口(例如串口3),在init.rc适当的地方加入以下调用即可:
setprop ro.kernel.android.gps s3c2410_serial3 |
|