年前高分3问:三串口支持,LCD,KITL

lianxiangke   2009-1-13 10:30 楼主
一:YL2440BSP三串口支持问题,YL已经做了3串口支持,我也在网上搜了很多这方面的资料,串口2能实现功能但是串口3不能实现。串口3是作为红外用的,我是把涉及红外的地方都给注释了,网上的资料也是这样说的,但是还是不行,请问有同仁遇到过类似情况吗,还是我有地方没弄对,先谢谢指点。

二:LCD问题:我想把显示界面旋转90度,就是像手机那样长的是Y短的是X,我该了几个地方结果只把桌面大小变了,桌面并没有旋转90度,先谢谢高手指教。

三:KITL问题:我网上搜了好多KITL的文章,就是没发现教怎么使用KITL的,有没有大侠有教使用KITL的文章有图更好,或者是介绍一下怎么用就是怎么个步骤有图更好。我一点不会,看PB帮助它也只说了KITL是做什么的但是没讲怎么去做。先谢谢大侠传功!

回复评论 (16)

一、没搞过
二、不知道你具体改了哪些地方?网上资料有不少,多找找
三、需要BSP支持;编译选项(build options)中加入KITL支持;在bootloader是否有KITL功能开关,要打开
点赞  2009-1-13 10:40
一、这个东西网上是可以的,你的BSP非常好搞。直接拿友善等的串口驱动代替即可
二、这个没有做过
三、这个我在论坛和博客都写了文章,有详细的图片,你搜索来看看吧,其实KITL在一般情况下都要慎用,大BUG用才行。貌似你的BSP是4.2的吧,名字是SMDK2440还是SMDK2440A?4.2不支持KITL的。
点赞  2009-1-13 10:57
如果操作系统是 Windows CE 5.0 或以上 那么一下结论成立
1,简单
2,简单
3,不懂
点赞  2009-1-13 13:10
1. 优龙的啊?可以直接去他们论坛上问。红外串口,用普通串口的驱动代替,将寄存器禁止掉。注册表相关的删掉。
2. ce4.2下的display里面有个Rotation选择,在注册表对应的Display里面加入对应的表项(0 90 180 270)。
3. 4.2是可以实现,不过比较麻烦。“编译选项(build options)中加入KITL支持”,这个容易。只是bsp中要加入才行。标准4.2是没有的,而各个厂家的源bsp也是没有的。你们可以考虑移植,工作量不小。
点赞  2009-1-13 17:15
先谢谢各位同仁、高手得指教!祝牛年牛运,牛年泡好妞哈哈

我用得就是优龙得SMDK2440 BSP三串口支持它都做好了得驱动都是写好了的,只是红外没有屏蔽,我们做三串口支持就是把红外禁掉。始终红外那个串口不能使用可能就是shuiyan大侠说得那个寄存器还没有禁止掉。

关于屏幕旋转按照shuiyan大侠提供得知识找到
#ifdef ROTATE
        m_iRotate = 0;//DMDO_90 or 0         
        SetRotateParms();
#endif //ROTATE       

注册表[HKEY_LOCAL_MACHINE\System\GDI\Rotation]   
        "ANGLE"=dword:5A 这里把5A改成0
关于KITL我再慢慢找方法。明天培训可能要周五才做得成试验了
点赞  2009-1-14 00:03
帮顶,
祝大家牛年好运!
点赞  2009-1-14 12:42
3串口不是只把红外注释掉就可以吧,必须自己实现串口3对应代码,替换掉红外。
你需要检查中断等是否实现了,还需要检查注册表中的地址等等。
好好检查,因为我也不知道你到底改了哪些,是否有地方没改到
点赞  2009-1-14 13:39
tanks for your help!

串口三的对应代码2440BSP是做好了的,串口2能直接使用,我照着一本书上改的,它也是改3串口支持,不过它是2410的,几乎是一样的。再找找你们说的原因,

屏幕翻转已经实现。不过应用程序窗口大小改变不了,这个是要应用程序中改吗?驱动层可不可以一起改了?
点赞  2009-1-14 16:10
同意GOOLEMAN 。三串口驱动用友善的代替就好了。
点赞  2009-1-19 18:02
#define SYSINTR_KEYBOARD                (SYSINTR_FIRMWARE+0)
#define SYSINTR_TOUCH                        (SYSINTR_FIRMWARE+1)
#define SYSINTR_ADC                        (SYSINTR_FIRMWARE+2)
#define SYSINTR_SERIAL                        (SYSINTR_FIRMWARE+3)
#define SYSINTR_AUDIO                        (SYSINTR_FIRMWARE+4)
#define SYSINTR_PCMCIA_STATE                (SYSINTR_FIRMWARE+5)
#define SYSINTR_PCMCIA_EDGE                (SYSINTR_FIRMWARE+6)
#define SYSINTR_PCMCIA_LEVEL                (SYSINTR_FIRMWARE+7)
#define SYSINTR_TOUCH_CHANGED                (SYSINTR_FIRMWARE+8)
#define SYSINTR_IR                        (SYSINTR_FIRMWARE+9)
#define SYSINTR_ETHER                        (SYSINTR_FIRMWARE+10)
#define SYSINTR_USB                        (SYSINTR_FIRMWARE+11)
#define SYSINTR_USBD                        (SYSINTR_FIRMWARE+12)
#define SYSINTR_POWER                        (SYSINTR_FIRMWARE+13)
#define SYSINTR_SDMMC                        (SYSINTR_FIRMWARE+14)
#define SYSINTR_SDMMC_CARD_DETECT        (SYSINTR_FIRMWARE+15)
#define SYSINTR_SDMMC_SDIO_INTERRUPT        (SYSINTR_FIRMWARE+16)
#define SYSINTR_BUTTON                        (SYSINTR_FIRMWARE+17)
#define SYSINTR_DMA0                        (SYSINTR_FIRMWARE+18)
#define SYSINTR_DMA3                        (SYSINTR_FIRMWARE+19)
#define SYSINTR_CAM                        (SYSINTR_FIRMWARE+20)
#define SYSINTR_IIC                        (SYSINTR_FIRMWARE+21)
#define SYSINTR_DM9000                  (SYSINTR_FIRMWARE+22)
#define SYSINTR_SERIAL1                        (SYSINTR_FIRMWARE+23)
#define SYSINTR_SERIAL2                        (SYSINTR_FIRMWARE+24)


请问各位大侠上面0-24是自定义中断是怎么映射到物理中断得啊,比如说#define SYSINTR_ETHER                        (SYSINTR_FIRMWARE+10)
用的是物理7号中断。这个映射是在哪实现的啊?这几天忙死了,这个帖子都没有管理了,真是对不住回答我问题得玩家。
点赞  2009-1-19 21:35
1,忽略
2,改显示驱动,做的好的驱动可以让你在注册表里设,做的不好的你得自己改,没有通用方法。
3,几本不用KITL。
点赞  2009-1-19 22:11
中断到InterruptInit/InterruptDone这些函数里看看就知道了。
点赞  2009-1-20 09:34
3串口不是只把红外注释掉就可以吧,必须自己实现串口3对应代码,替换掉红外。
你需要检查中断等是否实现了,还需要检查注册表中的地址等等。
好好检查,因为我也不知道你到底改了哪些,是否有地方没改到
——————————————————————————————————————————
楼主的是4.2BSP,如果是5.0BSP,只要修改一下注册表,并且去掉红外组件
红外占用串口就可以当普通串口用了,
4.2不知道了,貌似网上文档很多啊。如果实在不行,楼主就老老实实看呗,
4.2BSP的中断比较郁闷,把很多东西放在OAL,很难查找,不过网上这方面的介绍很多,只要多砍几下,明白中断架构,
弄几个寄存器就差不多了,修改的地方不多。
5.0BSP的中断架构比较合理,但是串口代码写的比较规范,利用了很多C++的特性。
楼主加油啊,过年了。
点赞  2009-1-20 09:43
如果操作系统是 Windows CE 5.0 或以上 那么一下结论成立
1,简单
2,相关的LCD程序中已经有支持屏幕旋转的程序了,自己找找;
3,需要BSP支持;编译选项(build options)中加入KITL支持;在bootloader是否有KITL功能开关,要打开
点赞  2009-1-20 12:06
补充一下问题一:
不难,就是要先看懂相关的驱动程序,主要是改的地方比较多,但是不难;有本书《Windows CE开发实例精粹》有相关修改三串口的例子,可以借鉴一下!
点赞  2009-1-20 12:09
谢谢各位帮助,快过年了,先把帖子结了。回去就没网上了。祝大家新年快乐,牛年发大财。
点赞  2009-1-20 15:02
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复