ARMSYS2440系列产品FAQ(常见问题快速回答)
请到立宇泰电子论坛中查看最新的FAQ(常见问题快速回答)!
点击下面的链接>>
http://www.hzlitai.com.cn/bbs/forumdisplay.php?fid=11
最新问题解答:
问:2440可以修改为128M SDRAM和1GB的Nandflash吗?
答:完全可以,立宇泰提供这种方式的配置。请联系我们。
问:hwclock命令输入后出现RTC: No such file or directory错误信息,如何解决?
答:出现这个错误的原因是RTC未编译到内核中。进入内核的make menuconfig, 选中<*>Character devices-->S3C2440 Real Time Clock,然后重新编译内核,就会找到RTC设备了。(2008-07-29)
问:需要route,netstat,ifconfig网络工具标准命令支持(非busybox精简命令)。
答:请联系技术支持索取。(2008-07-14)
问:WINCE5.0中IIC驱动读取数据时会超时,如何解决?
答:请联系技术支持索要更新的IIC驱动代码。(2008-07-07)
问:应该如何编写WINCE5.0下摄像头应用程序?有参考的例程吗?
答:ARMSYS2440随盘提供的“WINCE应用程序实例”加入了摄像头应用程序,cameratestV1.2。
具备了预览显示和图像抓取(保存为BMP)两项功能。
老用户请来信索取。
用cameratest程序抓拍的图片:

问:如何修改使UART2在WINCE5.0下可用?
答:修改两处:
1)HKEY_LOCAL_MACHINE\Comm\Irsir1\Parms]
"Port"=dword:4 ;设备编号
; 0 = Use external dongle, 1 = Use internal IR
"IntIR"=dword:0 ;原为1,修改为0
2)去掉SYSGEN_IRDA组件。位于Communication Services and Networking->Networking-Personal Area Network->IrDA。
3)重新Sysgen工程。
注意:UART2的设备名为COM4。
问:CPLD对CS8900实现了怎样的逻辑?
答:
此主题相关图片如下:

问:如何使DEBUGMSG函数输出打印信息?
答: WINCE的驱动开发中,我们一般将工程编译为release模式。如果编译为debug模式,编译结果(NK)将会非常大,超过代码中对NK的限制范围。
而且有的时候我们只需要了解个别设备驱动的调试信息,并不需要将整个工程编译为debug模式。
在这种情况下可以用这样的方法,在驱动文件的头部加上:
#undef DEBUGMSG
#define DEBUGMSG(x,s) NKDbgPrintfW s
这样这个驱动文件里的所有调试信息都会打印出来,并且不理会DebugZone的设置。
问:有没有基于ARMSYS2440应用GPIO的应用实例?
答:这里有WINCE5.0下的实例,包括驱动程序和应用程序实例,
请到这里下载:http://www.hzlitai.com.cn/bbs/dispbbs.asp?BoardID=11&ID=9815
问:使用linux2.6,在做模块装载(insmod)的时候总失败,如下示出错信息:
==============================================
[@lyt /mnt]# insmod hello.ko
Using hello.ko
insmod: Not configured to support old kernels
==============================================
其中hello.ko是在随开发板提供的2.6.15源码内核树下编译所得。
答:出现这个问题是由于目前采用的根文件系统,其中insmod(busybox)及其运行共享库仍旧是采用cross-2.95.3编译产生的;
而hello.ko模块是采用更新的3.4.3版本的编译器编译。解决的方法是用户可以自行用高版本编译器制作自己的根文件系统。
我们也会在近期推出新版本的根文件系统
问:YAFFS文件系统不能启动?Writerootfs擦除阶段出现很多坏页信息?请使用下列方法检查你的Nandflash的坏块情况:
答:用u-boot下擦除工具:
nandE 80 0x3E00000
这样就把80块以后的空间全部擦除了,nandE命令不检测坏块,直接通过擦除是否成功来判断是否有坏块,并报告块号。
SMDK2440 # nandE 80 0x3EC0000
StartBlock 128 (0x80) : Size 65798144 (0x3ec0000)
Total Erase Blocks 4016 (0xfb0)
[ERASE_ERROR:block#=159]
[Program error is occurred but ignored]
[block #159 is marked as a bad block]
之后再进行Writerootfs就能够成功更新YAFFS文件系统了,并且有坏块也不会有问题(无论U0B还是U0C的芯片)。
以上内容在2008-04-23的uboot和zImage下测试成功。
问:Linux下如何保存设置的系统时间?
答:分以下步骤进行:
(1)通过开发板控制台设置开发板的当前系统时间:
date [MMDDhhmm[[CC]YY][.ss]]
例如:
date 010410462008
(2)将系统时间写入RTC:
hwclock -w
读出检验一下,写入是否正确:
hwclock -r
(3)修改开发板根文件系统中的/etc/init.d/rcS文件,
添加一行:
hwclock -s
用于在系统启动时从RTC读出日期时间并设置到系统时间。
(4)重新启动开发板,验证系统时间是否争取。
问:ARMSYS2440的WINCE是否支持USB下载?
答:完全可以支持。前提是必须使用DNW v0.50L版本配合!使用它的[USB Port]->[UBOOT]选项,然后选中你要下载的nk.bin即可,速度非常快。相关连接:
http://www.hzlitai.com.cn/bbs/dispbbs.asp?BoardID=11&ID=6338&replyID=&skin=1
问:ARMSYS2440下运行WINCE5.0,如何旋转屏幕?
答:只要修改注册表项:
; Settings to rotate the screen by 0 degrees clockwise upon download
[HKEY_LOCAL_MACHINE\System\GDI\Rotation]
"Angle"=dword:0
将0改为90,180,270都可以(注意注册表里要写成十六进制)。
=======================================================================
由于2440bsp包中的串口驱动定义了硬件流控制,导致COM1的驱动只能接受不能发送的问题解决如下:
1、打开SMDK2440\INC\S2440.h文件,找到“#define USE_AFC 1”,把1改为0
2、重新编译生成NK.bin,烧录到板子上即可。
(2007-07-28)
=======================================================================
问:ARMSYS2440开发板核心板的功耗有多大? 答:ARMSYS2440在25℃环境温度,单板无外接设备的情况下测试的功耗如下:
测量项目峰值电流平均电流静态电流
ARMSYS2440-CORE核心板1.3V180mA100mA20mA
3.3V150mA50-80mA10mA
问:ARMSYS2440开发板的功耗有多大?
答:+9V/2A供电,工作状态峰值电流(平均工作电流):
Linux WinCE
无外部设备仅连接串口 350mA(230mA) 300mA(170mA)
连接LCD/触摸屏和串口 460mA(300mA) 360mA (250mA)
问:摄像头采集到播放能够达到的帧率是多少? 答:320X240图像采样率可达到30fps;
640X480图像采样率可达到15fps。
问:如何支持USB鼠标?
答:在载入缺省内核配置下,进一步选中USB Support-->HID Input Layer support项目。
问:如何支持USB键盘?
答:在载入缺省内核配置下,进一步选中USB Support-->HID Input Layer support项目;
选中Console drivers-->SMDK24x0 SPI Keyboard Support项目。
问:uboot源码编译时出现路径错误,如何解决? 答:请这样解决, 运行:
make distclean //清除所有旧的路径信息
make smdk2440_config //配置
make //编译并产生二进制文件
问:针对板上Lattice的cpld进行开发的工具在哪里下载? 答:Lattice公司提供了免费下载(但需要注册)的ispLEVER Starter开发软件,用户可以到这里按步骤下载:
http://www.latticesemi.com/products/designsoftware/isplever/ispleverstarter.cfm
不断添加与更新中......
问:Linux下如何进行摄像头测试(基于cramfs文件系统)?
(1)在uboot下设置启动参数(注意红色字体):
setenv linux_arg noinitrd root=/dev/mtdblock2 init=/linuxrc console=ttyS0 mem=49M
(2)在linux下进行预览显示测试:
rgb_4pXX 屏的宽度 屏的高度 16 0 0
这里的xx根据你的屏分辨率的不同而不同,如果是240x320的屏(L35T23),不需要输入xx,直接用rgb_4p;
如果是320x240的屏(L35T32),采用rgb_4p32;
如果是640x480的屏(LXXT64),采用rgb_4p64;
如果是800x480的屏(L70T84),采用rgb_4p84;
(3)在linux下进行图像拍摄(保存为jpg图片)测试:
在tmp目录下创建camera目录,
mkdir /tmp/camera
将rgb_4p_jpg拷贝到camera目录下:
cp /bin/rgb_4p_jpg /tmp/camera/
然后运行:
./rgb_4p_jpg 240 320 16 2 0
运行结束后将在/tmp/camera 目录下产生连续拍摄的2幅jpg图片。
问:如何使我的ARMSYS2440套餐支持WINCE下的camera测试? 答:除套餐3之外,其它套餐请按照如下方法修改:
打开BSP包(SMDK2440A),找到drivers下的camera目录,
修改camera.cpp文件中的Display_Cam_Image函数,找到这一句:
memcpy((void *)(IMAGE_FRAMEBUFFER_UA_BASE+ (240*pos_y + pos_x) + y*240*2),(void *)buffer_rgb,(PREVIEW_X)*2);
将其中的红字部分修改为您自己的LCD屏的水平像素值(例如320,或640...)。
重新编译产生nk.bin下载到板子上。再运行cameratest.exe,就可以看到正确的图像了。
不断添加与更新中......
问:如何在WINCE5.0下修改注册表永久保存?
请看该贴:http://www.hzlitai.com.cn/bbs/dispbbs.asp?boardID=11&ID=1206&page=1