11235|56

54

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

6410如何实现7寸屏和TV-OUT同时显示不同的图像 [复制链接]

要问的问题如题,这两天看了下S3C6410数据手册中对TV-OUT和显示相关的资料,把我的理解也与大家分享下:

    1、TV-OUT输出视频的过程:先由MFC(MULTI-FORMAT VIDEO CODEC)将MPEG-4格式的视频文件转换成一帧一帧的RGB或YCbCR格式的像素数据,并存储在SDRAM中,然后TV-Scale模块从SDRAM读RGB或YCbCr像素数据,经过大小缩放、色差调整后输出至TV Encoder进行数字信号到模拟信号的转换,再出来的信号就是TV-OUT——要完成TV out,这个流程一项都少不了。
    2、在这个过程中,TV-Scaler是个协处理器,从Memery取数到送到TV Encoder都是通过DMA的方式,不需要CPU的参与,CPU只要给它指定好要转换文件的起始地址、结束地址和偏移就可以,当然一开始要进行初始化。
    3、整个TV-OUT的过程其实就是一个简单的播放器要做的工作——协调好MFC、TV-Scaler、TV-Encoder和控制DA输出;换句话说,在有效控制以上模块的同时,编写一个类试TCPMP的播放器软件,只是这个软件在后台运行罢了。
    4、在以上几个模块中,对MFC的控制接口比较简单,是个标准的流接口。

    以上理解还有很多不明白的地方,视频专业名词太多。甚至有理解错误的地方。

    三星的BSP里提供了一个“tvout_test_Switch.exe”,这个文件的作用是将显示切换到TV-OUT输出,但没有源码,我想这个是现在唯一的救命稻草了。不知道哪里能找到这个的源码,参考它应该能提供些思路。

     不知道大家都有什么好的思路吗?

最新回复

mark  详情 回复 发表于 2010-5-4 12:31
点赞 关注

回复
举报

52

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
具体的应用是:7寸屏用来显示业务软件,TV-OUT输出通过TV设备显示广告。
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
好贴,

先学习下楼主的经验。


MARK/
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 
这个貌似不能同时的,TE2440——II都是要独立的。
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 
在6410的datasheet的590页有下面描述:

To display the different image at LCD and TV, there are two paths.

(Post Processor ->) Display controller -> LCD panel, path (1) (in figure).
Data are loaded directly from memory by either Post-Processor or Display Controller.
TV scaler -> TV Encoder, path (2) (in figure).
Data are loaded by TV scaler. It treats data that covert properly size and color-space. Finally, it sends them to TV
encoder.

This path is able to display different images between LCD and TV encoder.


引用 3 楼 gooogleman 的回复:
这个貌似不能同时的,TE2440——II都是要独立的。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

6
 
TE2440-II的芯片是外部硬件实现的。6410 是集成的,所以不同的,呵呵。
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

7
 
TV scaler -> TV Encoder, path (2) (in figure).
貌似编码,并不是解码输出?


如果需要支持两个输出,需要显示驱动部分支持,
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
我没搞过视频,专业名词老出错,嘿嘿……

不过你的意思我大概明白了……

    现在的理解是,应用层调用ExtEscape函数,对应驱动层的DrvEscape函数,很容易实现LCD显示到TV-OUT切换的显示,即只要对应DrvEscape中的DRVESC_OUTPUT_TV条件即可。这也应该是三星给的tvout_test_Switch.exe的源码,为什么这么说呢?仔细观察的话很容易发现tvout_test_Switch.exe的大小只有3K,3K能干什么呢?——只调用了DrvEscape这一个函数。

当然上面的都是猜的……本来想试试的,比较倒霉的是我的板子(UT-S3C6410)即使执行tvout_test_Switch.exe也没有TV-OUT信号输出,经示波器测试后,怀疑NJM2561F1这个片子烧了,更倒霉的是竟然在北京找不到这个片子的现货,东西周一才能到。

现在我的问题是,因为我是要实现LCD屏和TV输出同时显示不同的东西,LCD显示业务软件界面,TV输出广告视频。所以我应该是用TV Scaler的DMA模式。
经过看代码,发现是调用 DrvEscape函数对应DRVESC_TV_DMA_PRIMARY条件即可。但顺着代码看下午,一路都是对TV Scaler、TV Encoder的初始化设置,没有看到显示的内容往哪里放?也就是说TV Scaler通过DMA方式在Memery中什么地方取像素数据的,我应该把我要显示的视频以什么方式?放在什么地方?还请高人指点?rzsheng——下来该怎么办啊?


引用 6 楼 rzsheng 的回复:
TV scaler -> TV Encoder, path (2) (in figure).
貌似编码,并不是解码输出?


如果需要支持两个输出,需要显示驱动部分支持,
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

9
 
tvout_test_Switch.exe 使用IDA破解一下,看看调用了什么函数即可。
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 laiqingxiong 的回复:
tvout_test_Switch.exe 使用IDA破解一下,看看调用了什么函数即可。

 
 
 

回复

85

帖子

0

TA的资源

一粒金砂(初级)

11
 
哥们,能否详细说下怎么破解?

引用 8 楼 laiqingxiong 的回复:
tvout_test_Switch.exe 使用IDA破解一下,看看调用了什么函数即可。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

12
 
tvout_test_Switch.exe 好像没有源码哦~呵呵~
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

13
 
楼主的KITL搞定没有啊!!!!!
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

14
 
相当不错,关注中。。。。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

15
 
上次就搞定了串口的,不过没什么用,系统启动就花了7分钟……
USB的没有搞定,一直提示我是USB HOST模式的错误,害的我摸不着头脑。
网口的没入门……

我现在拿到了三星关于设置USB kitl的资料,你需要的话留邮箱给我。

引用 12 楼 luixing67 的回复:
楼主的KITL搞定没有啊!!!!!
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(中级)

16
 
引用 10 楼 haiou_arm 的回复:
哥们,能否详细说下怎么破解?


引用 8 楼 laiqingxiong 的回复:
tvout_test_Switch.exe 使用IDA破解一下,看看调用了什么函数即可。


Google一堆教程。

我看6410 都没有什么TV的驱动啊,相关内存映射表都没有呢。咋整?
;------------------------------------------------------------------------------
;
;  File:  memory_cfg.inc
;
;  This file is used to define g_oalAddressTable. This table is passed to
;  KernelStart to estabilish physical to virtual memory mapping. This table
;  is used also in IOMEM OAL module to map between physical and virtual
;  memory addresses via OALPAtoVA/OALVAtoPA functions.
;
;------------------------------------------------------------------------------

; Export Definition

        EXPORT  g_oalAddressTable[DATA]

;------------------------------------------------------------------------------
;
; TABLE FORMAT
;       cached address, physical address, size
;------------------------------------------------------------------------------

g_oalAddressTable

    ; mDDR 128 MB
        ;DCD     0x80000000, 0x50000000,  64     ; 64 MB DRAM
        [ SMDK6410_X5D
        DCD     0x80000000, 0x60000000,   64     ; 64 MB DRAM
        |
        DCD     0x80000000, 0x50000000,   256     ; 256 MB DRAM
        ]

        DCD     0x90000000, 0x70000000,  4      ; SROM SFR
        ;DCD     0x90100000, 0x70100000,  1      ; OneNAND SFR
        ;DCD     0x90200000, 0x70200000,  1      ; NFCON SFR
        ;DCD     0x90300000, 0x70300000,  1      ; CFCON SFR
        DCD     0x90400000, 0x71000000,  4      ; TZIC0
        ;DCD     0x90500000, 0x71100000,  1      ; TZIC1
        ;DCD     0x90600000, 0x71200000,  1      ; INTC0
        ;DCD     0x90700000, 0x71300000,  1      ; INTC1
        DCD        0x90800000, 0x72000000,  1    ; FIMG-3DSE SFR
        ;DCD     0x90800000, 0x73000000,  2      ; ETB Memory
        ;DCD     0x90900000, 0x73100000,  1      ; ETB Registers
        DCD     0x90A00000, 0x74000000,  2      ; Indirect Host I/F
        ;DCD     0x90B00000, 0x74100000,  1      ; Direct Host I/F(MODEM)
        DCD     0x90C00000, 0x74300000,  2      ; USB Host
        ;DCD     0x90D00000, 0x74400000,  1      ; MDP I/F
        DCD     0x90E00000, 0x75000000,  2      ; DMA0
        ;DCD     0x90F00000, 0x75100000,  1      ; DMA1
        DCD     0x91000000, 0x76100000,  3      ; 2D Graphics
        ;DCD     0x91100000, 0x76200000,  1      ; TV Encoder
        ;DCD     0x91200000, 0x76300000,  1      ; TV Scaler
        DCD     0x91300000, 0x77000000,  3      ; Post Processor
        ;DCD     0x91400000, 0x77100000,  1      ; LCD Controller
        ;DCD     0x91500000, 0x77200000,  1      ; Rotator
        DCD     0x91600000, 0x78000000,  1      ; Camera I/F
        DCD     0x91700000, 0x78800000,  1      ; JPEG
        DCD     0x91800000, 0x7C000000,  5      ; USB OTG LINK
        ;DCD     0x91900000, 0x7C100000,  1      ; USB OTG PHY SFR
        DCD     0x91A00000, 0x7C200000,  1      ; SD-MMC Controller 0
        DCD     0x91B00000, 0x7C300000,  1      ; SD-MMC Controller 1
        ;DCD     0x91C00000, 0x7C400000,  1      ; SD-MMC Controller 2
        DCD     0x91D00000, 0x7D000000,  13      ; D&I(Security Subsystem Config) SFR
        ;DCD     0x91E00000, 0x7D100000,  1      ; AES_RX
        ;DCD     0x91F00000, 0x7D200000,  1      ; DES_RX
        ;DCD     0x92000000, 0x7D300000,  1      ; HASH(SHA/PRNG)_RX
        ;DCD     0x92100000, 0x7D400000,  1      ; RX_FIFO SFR
        ;DCD     0x92200000, 0x7D500000,  1      ; AES_TX
        ;DCD     0x92300000, 0x7D600000,  1      ; DES_TX
        ;DCD     0x92400000, 0x7D700000,  1      ; HASH(SHA/PRNG)_TX
        ;DCD     0x92500000, 0x7D800000,  1      ; TX FIFO SFR
        ;DCD     0x92600000, 0x7D900000,  1      ; RX_FIFO
        ;DCD     0x92700000, 0x7DA00000,  1      ; TX_FIFO
        ;DCD     0x92800000, 0x7DB00000,  1      ; SDMA0
        ;DCD     0x92900000, 0x7DC00000,  1      ; SDMA1
        DCD     0x92A00000, 0x7E000000,  1      ; DMC, MFC, WDT, RTC, HSI TX/RX, Keypad, ADC, SYSCON
        DCD     0x92B00000, 0x7F000000,  1      ; TZPC, AC97, I2S, I2C, UART, PWM, IrDA, GPIO, PCM, SPI

        DCD     0x93000000, 0x00000000,  16      ; 32 MB SROM(SRAM/ROM) BANK 0

        ; nCS1~nCS5, nCS0
        DCD     0x94000000, 0x18000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 1 = DM9000A
        ;DCD     0x96000000, 0x20000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 2
        ;DCD     0x98000000, 0x28000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 3
        ;DCD     0x9A000000, 0x30000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 4
        ;DCD     0x9C000000, 0x38000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 5
        ;DCD     0x9E000000, 0x00000000, 32      ; 32 MB SROM(SRAM/ROM) BANK 0

        DCD     0x00000000, 0x00000000,  0      ; end of table

;------------------------------------------------------------------------------

        END
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

17
 
最近接触了一下PXA310 ,发现他奶奶的用它做产品比6410 贵多了。太吓人了,
 
 
 

回复

80

帖子

0

TA的资源

一粒金砂(初级)

18
 
本身芯片不算。外设的价格,配置压根是要人的腰包。
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

19
 
    看源码发现TV Scaler、TV Encoder的驱动代码都嵌入在了S3C6410_display.dll中了,所以用户不用直接对TV Scaler和TV Encoder进行操作,只能通过S3C6410_display.dll进行操作。所以OEMAdresstable中也不需要进行映射的定义。

     我们现在就是再用6410替换原来以PXA270的方案(核心板直接买的),就是因为它太贵了,核心技术还掌握在人家手里,什么事都得求人家,不支持NandFlash、还需要CPLD进行IO扩展,烦的很……

     我的NJM2561F1还没有到,不然我就可以做实验了……
     现在发现TV Scaler的DMA模式默认和LCD共用了一个FramBuffer,亟待验证……


引用 16 楼 laiqingxiong 的回复:
最近接触了一下PXA310 ,发现他奶奶的用它做产品比6410 贵多了。太吓人了,
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

20
 
引用 18 楼 haiou_arm 的回复:
看源码发现TV Scaler、TV Encoder的驱动代码都嵌入在了S3C6410_display.dll中了,所以用户不用直接对TV Scaler和TV Encoder进行操作,只能通过S3C6410_display.dll进行操作。所以OEMAdresstable中也不需要进行映射的定义。

我们现在就是再用6410替换原来以PXA270的方案(核心板直接买的),就是因为它太贵了,核心技……


原来如此,学习了。
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表