![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Freescale MX51
kickxxx
这个作者很懒,什么都没留下…
展开
-
mxc_dataflash.c分析
这个文件是AT DataFlash chips的驱动,通过FSL SPI接口进行数据操作。 917 static int __devinit dataflash_probe(struct spi_device *spi) 918 { 919原创 2011-09-26 11:10:34 · 2450 阅读 · 0 评论 -
MX51 V4L2 output 驱动
之前调试MXC V4L2驱动一直没有注意到output/mxc_v4l2_output.c这个文件,因为capture/*.c已经提供了still capture, stream capture, 以及overlay,所以没仔细的去看mxc_v4l2_output.c提供的功能,直到前几天负责维护overlay hal的同事提出打开了overlay hal /dev/video16这个设备节点,才原创 2011-07-28 09:42:23 · 6135 阅读 · 5 评论 -
调试freescale CSI sa7113 camera的心得
最近在freescale mx51平台上调试saf7113芯片,写下一些调试的心得1. 一个好的工具 YUVtools.exe这个工具可以用来查看拍摄出来的YUV图片效果, 来发现到底什么地方出了问题,很方便,选项非常多,在调试中碰到的很多问题,比如失帧图片模糊,格式不对等等都可以通过这个工具对图片进行分析2. 概念的了解: BT656, MX51 IPU, SAF7113 V4L原创 2011-06-21 18:29:00 · 9765 阅读 · 41 评论 -
隔行模拟摄像头缺点
现在项目使用的是模拟摄像头输出为CVBS信号,通过video AD转换芯片转换为BT656信号,输出的BT656信号再接到MX51 CSI接口。MX51通过对top bottom两场交错生成一帧图像,对于静态图像,效果还可以,但是对于运动图像则会出现锯齿,尤其按一定比例缩放时,运动部分还可能会出现很粗的线条。出现锯齿的原因:由于上下两场拍摄的时间点是不同的,导致合并后运动部分无法重原创 2011-08-08 17:15:48 · 4925 阅读 · 57 评论 -
mx51 reboot是如何实现的
以前觉得 reboot命令能让系统重启动 是件很神奇的事情,今天看了下电路和代码,从底层搞清楚了reboot的整个流程平台是imx51,PMIC是MC138921. 当linux操作系统下使用reboot命令后,会调用到arch_reset的函数,这个函数是平台特定的,对于imx51芯片一定会去reset CPU内的watchdog,2. arch_reset中设置Watchd原创 2012-11-22 15:27:03 · 2557 阅读 · 0 评论 -
imx51 ROM boot code 启动分析
启动模式mx51支持四种启动模式,这些模式的选择是通过IC package上的焊点来决定的(BOOT_MODE 0/1),在reset后会采样这两个焊点,然后把他们的状态保存到SRC Boot Mode Register(SBMR) 寄存器。焊点连接到地对应logic 0,对于logic 1,freescale推荐使用NVCC_PER3四种启动模式分别为: internal, rese原创 2012-02-06 15:21:32 · 7177 阅读 · 0 评论 -
mx51 TVOUT cvbs双屏支持
配置mx51支持cvbs输出UI和VIDEO1. 编译tvout模块2. 修改uboot的kernel启动参数,uboot中配置为tvout输出PAL制式cvbs信号set bootargs_base 'setenv bootargs console=ttymxc0,115200 di0_primary video=mxcdi1fb:YUV444,TV-PAL tve'原创 2011-10-11 14:02:02 · 5028 阅读 · 8 评论 -
mx51 TVOUT分析
1397 static int __init enable_tve_setup(char *options)1398 {1399 g_enable_tve = true;1400 1401 return 1;1402 }1403 __set原创 2011-09-21 10:37:42 · 74028 阅读 · 1 评论 -
freescale R10 ipu lib 分析 - ipu_capture.c
ipu_capture.c 47 int32_t 48 ipu_csi_init_interface(uint16_t width, uint16_t height, uint32_t pixel_fmt, 49 ipu_csi_signal_cfg_t cfg_param) 50 { 51 uint32_t data = 0; 52 uint3原创 2011-06-22 10:39:00 · 4137 阅读 · 0 评论 -
freescale R10 ipu lib 分析 - ipu_device.c
ipu_device.c这个文件创建了一个mxc_ipu字符设备节点,目的是为了ipu lib服务的,主要函数就是mxc_ipu_ioctl, app可以利用ipu lib实现如下功能:ResizeRotationColor space/format convertOverlay combination with the same size which supports原创 2011-06-22 18:26:00 · 4398 阅读 · 2 评论 -
freescale R10 ipu lib 分析 - ipu_common.c
ipu_common.c Common IPU API implementation,主要是为MXC V4L2和ipu device驱动提供IPU channel控制函数 110 static inline int _ipu_is_ic_chan(uint32_t dma_chan) 111 { 112 return ((dma_chan >= 11) &原创 2011-06-24 11:09:00 · 5713 阅读 · 19 评论 -
freescale R10 ipu lib 分析 - ipu_param_mem.h
ipu_param_mem.h 21 struct ipu_ch_param_word { 22 uint32_t data[5]; 23 uint32_t res[3]; 24 }; 26 struct ipu_ch_param { 27 struct ipu_ch_param_word word[2]; 28 };每个ipu原创 2011-06-24 16:35:00 · 3870 阅读 · 4 评论 -
freescale R10 ipu lib 分析 - ipu_ic.c
45 void _ipu_vdi_set_top_field_man(bool top_field_0) 46 { 47 uint32_t reg; 48 49 reg = __raw_readl(VDI_C); 50 if (top_field_0) 51 reg &= ~VDI_C_TOP_FIELD_MAN_1; 52原创 2011-06-27 14:09:00 · 3262 阅读 · 4 评论 -
VIDIOC_S_CROP 理解
VIDIOC_S_CROP ioctl会传入一个v4l2_crop给驱动程序 crop.c.left, crop.c.top. crop.c.width, crop.c.height定义了一个长方形区域,这个区域是capture或者overlay模式下的取景范围,举个例子,图片的原创 2011-07-27 10:23:50 · 10472 阅读 · 4 评论 -
mx51 IPU CSI0 CCIR Code Register配置
每个IPU csi有三个寄存器:CSI0_CCIR_CODE_1, CSI0_CCIR_CODE_2, CSI0_CCIR_CODE_3CSI0_CCIR_CODE_3比较简单,记录的是BT656时序信号ff 00 00 xy中的ff 00 00, 而xy 模式则记录原创 2011-09-09 14:30:46 · 2940 阅读 · 0 评论