友坚Android210更新---支持7寸电阻屏和电容屏
友坚恒天Android210更新---支持7寸电阻屏和电容屏
Topic:Android210 支持7寸电阻屏和电容屏(作者:Android210)
//--------------------------------------------------------------------------------------------
// 作者:urbetter(www.urbetter.com)
// 版权:Android210
// 平台:友坚Android210开发板
// 注意事项:未经作者同意,商业网站不能转载,更不得在转载的时候擅自修改、删除文章的任何部分
//----------------------------------------------------------------------------------------------
分享下友坚恒天最新上市三星cortex-A8开发板之安卓210评估板 功能全面 价格实惠 完善的源码资料加速您的开发进程
安卓210评估板详细参数分享:
内核:SamSung ARM Cortex-A8 S5PV210
主频:1Ghz
内存:512M Bytes DDR2
Flash:512M Bytes SLC NAND FLASH
系统:Android4.0.3
显示屏:7寸 800*480,支持10.1寸高清屏
触摸屏:7寸 5点电容式触摸屏
存储空间:支持32G SD卡扩展
选配功能:摄像头,UT_AVIN,GPS,蓝牙,wifi,3G
重力感应:支持
外设接口:高清HDMI,RJ45(有线)网口,音频输入输出,
USB-OTG,USB-HOST,串口,LCD,IIC,SPI/AD,GPIO
其他特性:支持MPEG-4/MPEG2、H264/H263、VC-1的视频编解码1080P@30fps
2D图形加速,最大支持8000*8000
3D图形加速(SGX540),OGL-1.1&2.0、OpenVG1.0
JPEG硬件编解码,最大支持8192*8192
另附:
andriod210评估板安卓4.0体验版资料分享,有需要的朋友可以免费下载喔!http://www.urbetter.com/main.asp
添加向导
进入内核目录arch/arm/mach-s5pv210/ 打开mach-s5pv210.c 文件,
添加代码如下:
==========找到如下代码==========
#ifdef CONFIG_TOUCHSCREEN_EGALAX
static struct i2c_gpio_platform_data i2c5_platdata = {
.sda_pin = S5PV210_GPB(6),
.scl_pin = S5PV210_GPB(7),
.udelay = 2,
.sda_is_open_drain = 0,
.scl_is_open_drain = 0,
.scl_is_output_only = 0.
};
在这段代码的前面加入如下代码:
#if defined(CONFIG_TOUCHSCREEN_S3C)
static struct s3c_ts_mach_info s3c_ts_platform __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
.resol_bit = 12,
.s3c_adc_con = ADC_TYPE_2,
};
/* Touch srcreen */
static struct resource s3c_ts_resource[] = {
[0] = {
.start = S3C_PA_ADC1,
.end = S3C_PA_ADC1 + SZ_4K - 1,
.flags = IORESOURCE_MEM,
},
[1] = {
.start = IRQ_PENDN1,
.end = IRQ_PENDN1,
.flags = IORESOURCE_IRQ,
},
[2] = {
.start = IRQ_ADC1,
.end = IRQ_ADC1,
.flags = IORESOURCE_IRQ,
}
};
struct platform_device s3c_device_ts1 = {
.name = "s3c-ts",
.id = -1,
.num_resources = ARRAY_SIZE(s3c_ts_resource),
.resource = s3c_ts_resource,
};
void __init s3c_ts_set_platdata(struct s3c_ts_mach_info *pd)
{
struct s3c_ts_mach_info *npd;
npd = kmalloc(sizeof(*npd), GFP_KERNEL);
if (npd) {
memcpy(npd, pd, sizeof(*npd));
s3c_device_ts1.dev.platform_data = npd;
} else {
pr_err("no memory for Touchscreen platform data\n");
}
}
#endif
找到函数static void __init smdkv210_machine_init(void)
==找到如下代码=====
s3c24xx_ts_set_platdata(&s3c_ts_platform);
修改如下:
#if defined (CONFIG_TOUCHSCREEN_S3C)
s3c_ts_set_platdata(&s3c_ts_platform);
#else
s3c24xx_ts_set_platdata(&s3c_ts_platform);
#endif
D.找如下代码:
#ifndef CONFIG_TOUCHSCREEN_S3C
static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
.delay = 10000,
.presc = 49,
.oversampling_shift = 2,
.cal_x_max = 800,
.cal_y_max = 480,
.cal_param = {
-13357, -85, 53858048, -95, -8493, 32809514, 65536
},
};
#endif 注意红色的为添加的。
找到下面的代码:
static struct platform_device *smdkv210_devices[] __initdata = {
&s3c_device_adc,
&s3c_device_cfcon,
&s3c_device_fb,
&s3c_device_hsmmc0,
&s3c_device_hsmmc1,
&s3c_device_hsmmc2,
&s3c_device_hsmmc3,
&s3c_device_i2c0,
&s3c_device_i2c1,
&s3c_device_i2c2,
&s3c_device_gpio_i2c3,
#ifdef CONFIG_TOUCHSCREEN_EGALAX
&s3c_device_i2c5,
#endif
&s3c_device_rtc,
&s3c_device_ts,
&s3c_device_wdt,
#ifdef CONFIG_SND_SAMSUNG_AC97
&s5pv210_device_ac97,
#endif
#ifdef CONFIG_SND_SAMSUNG_I2S
&s5pv210_device_iis0,
&s5pv210_device_iis1,
&s5pv210_device_iis2,
#endif
&s5pv210_device_spdif,
#ifdef CONFIG_SND_SAMSUNG_PCM
#ifdef CONFIG_SND_SAMSUNG_PCM_USE_I2S1_MCLK
&s5pv210_device_pcm0,
#endif
#endif /*end of CONFIG_SND_SAMSUNG_PCM*/
&samsung_asoc_dma,
&samsung_device_keypad,
&smdkv210_dm9000,
&smdkv210_lcd_lte480wv,
&s3c_device_timer[0],
&smdkv210_backlight_device,
&s5p_device_ehci,
&s5p_device_ohci,
#ifdef CONFIG_USB_GADGET
&s3c_device_usbgadget,
#endif
#ifdef CONFIG_VIDEO_FIMC
&s3c_device_fimc0,
&s3c_device_fimc1,
&s3c_device_fimc2,
#endif
#ifdef CONFIG_VIDEO_FIMC_MIPI
&s3c_device_csis,
#endif
#ifdef CONFIG_VIDEO_JPEG_V2
&s3c_device_jpeg,
#endif
#ifdef CONFIG_VIDEO_MFC50
&s3c_device_mfc,
#endif
#ifdef CONFIG_ANDROID_PMEM
&pmem_gpu1_device,
#endif
#ifdef CONFIG_SPI_S3C64XX
&s5pv210_device_spi0,
&s5pv210_device_spi1,
#endif
#ifdef CONFIG_REGULATOR
&smdkv210_b_pwr_5v,
#endif
#ifdef CONFIG_S5PV210_POWER_DOMAIN
&s5pv210_pd_tv,
&s5pv210_pd_lcd,
&s5pv210_pd_g3d,
&s5pv210_pd_mfc,
&s5pv210_pd_audio,
#endif
&s3c_device_g3d,
#ifdef CONFIG_VIDEO_G2D
&s3c_device_g2d,
#endif
#ifdef CONFIG_VIDEO_TV20
&s5p_device_tvout,
&s5p_device_cec,
&s5p_device_hpd,
#endif
#ifdef CONFIG_MTD_NAND
&s3c_device_nand,
#endif
//================
#ifdef CONFIG_TOUCHSCREEN_S3C
&s3c_device_ts1
#endif
//===============红色部分为添加的代码
};
2.进入arch/arm/plat-samsung/include/plat目录找到打开ts.h文件,
找到如下代码:
#ifndef __ASM_ARM_TS_H
#define __ASM_ARM_TS_H
struct s3c2410_ts_mach_info {
int delay;
int presc;
int oversampling_shift;
int cal_x_max;
int cal_y_max;
int cal_param[7];
void (*cfg_gpio)(struct platform_device *dev);
};
extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *);
extern void s3c24xx_ts1_set_platdata(struct s3c2410_ts_mach_info *);
/* defined by architecture to configure gpio */
extern void s3c24xx_ts_cfg_gpio(struct platform_device *dev);
#if defined (CONFIG_TOUCHSCREEN_S3C)
//=========================
enum s3c_adc_type {
ADC_TYPE_0,
ADC_TYPE_1, /* S3C2416, S3C2450 */
ADC_TYPE_2, /* S3C64XX, S5PC1XX */
};
struct s3c_ts_mach_info {
int delay;
int presc;
int oversampling_shift;
int resol_bit;
enum s3c_adc_type s3c_adc_con;
};
struct s3c_ts_info {
struct input_dev *dev;
long xp;
long yp;
int count;
int shift;
char phys[32];
int resol_bit;
enum s3c_adc_type s3c_adc_con;
};
//=========================
#endif 红色部分为添加的代码
#endif /* __ASM_ARM_TS_H */
3.编译内核支持7寸电阻屏
4.把文件夹下面的的文件放在相应的文件夹下面,即完成电阻触摸屏驱动的加载。
/*===========================================================*/
//如有错误,请留言指正;同时希望有更好的方法与大家交流和分享,让我们大家一起学习,共同进步!
友坚Android210更新---支持7寸电阻屏和电容屏相关推荐
- 【转】电阻屏和电容屏之 二
原文地址: http://tech.sina.com.cn/mobile/n/2010-02-24/06583874877.shtml 随着现在智能手机已经主宰整个手机市场,而触摸屏也是很多智能手机必 ...
- 【转】电阻屏和电容屏之 一
触屏手机的电容屏和电阻屏有什么区别 原文地址: http://www.nokia123.info/20/ 相信大家很多都用上了触屏手机,那么,大家对自已手机的屏幕又了解多少呢?到底什么叫电容屏和电阻屏 ...
- 关于电阻屏与电容屏的区别
首先说电阻屏: 电阻触摸屏的屏体部分是一块多层复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层(ITO膜),上面再盖有一层外表面经过硬化处理.光滑防刮的塑料层.它的内表面也涂有一层IT ...
- Android210更新2---支持喇叭
Topic:Android210 支持喇叭(作者:Android210) //------------------------------------------------------------- ...
- 鸿合一体机触屏没反应怎么办_【干货】嵌入式工控一体机选择电容屏还是电阻屏?...
随着触屏手机和工业触摸一体机在近几年里的不断主流化,触屏的概念已渐渐深入人心,但是你知道吗?我们的触屏是有分电阻屏和电容屏的,那你又知道电阻屏和电容屏有什么区别吗?你的手机又是什么屏的吗?下面我们就来 ...
- 深圳友坚推出最新三星ARM Cortex-A8内核的S5PV210开发板,1GHZ主频处理器强悍登场
UT-S5PV210是一款功能极其强大的高端ARM Cortex-A8开发平台,其功能全面.接口丰富,完美展现了Samsuung S5PV210芯片的强大,主要面向企业用户进行产品开发过程中,对S5P ...
- 友坚UT4418开发板芯片与UT4412芯片的区别
UT4418开发板使用的是三星S5P4418芯片,该芯片采用4核Cortex_A9架构,28NM制程工艺,MAL1 400 3D图形加速器,1M byte L2缓存,支持DDR3内存最高频率800MH ...
- UT4418开发板cortex-A9四核友坚出品
UT4418开发板是深圳市友坚恒天科技有限公司基于三星平板方案设计的经验,结合广泛调开设计的一款S5P4418处理器开发板.该方案基于三星新一代28nm从CortexA9四核CPU的发平台.整合了目前 ...
- Android友盟增量更新
1.增量升级的原理 增量更新的原理就是将本地apk与服务器端最新版本比对,并得到差异包.比如现在的版本是1.1.4,大小是7.2M,新版本是1.1.5.大小是7.3M.我们发现两个版本只有0.1M的 ...
最新文章
- IDEA是否会嫌导jar包麻烦吗???赶快来学习maven吧,冲冲冲
- 【笔记】opencv图像运算 图像加密
- nRF51822 硬件复位引脚
- Win32中常用消息
- 9-3 数据分布概论
- mysql sqlyog命令_SQLyog的基本使用
- [zigbee][z-Stack]协议栈简介及工作流程
- Android仿网易云项目代码,Android项目实战教程之高仿网易云音乐启动页实例代码...
- Python教程(从不懂到入门)
- 更好的 java 重试框架 sisyphus 的 3 种使用方式
- DevOps亚马逊AWS相关介绍
- android studio hiera,速成意大利语第课 昨天晚上我在电视机前我们不能空手去那里.doc...
- 漏斗模型-数据分析师的必备神器
- C语言实现死循环的方式
- 用php爬取网页数据
- AttributeError: module ‘tensorflow.python.keras.backend‘ has no attribute ‘get_graph‘
- 初试禅道(开源版)-安装
- 一文解决MySQL突击面试,关键知识点总结
- 让机器人告诉你当下淘宝爆款商品
- hypermesh 圆周阵列-插件
热门文章
- impala与hive的比较以及impala的有缺点
- DCT 变换的一些思考
- Pixhawk飞控代码(2019.11.28)
- tensorflow高阶教程:tf.dynamic_rnn
- MVC设计模式的理解
- 2017.06.15-2016.06.18回顾 loc/iloc/ix dataframe相关 oracle无自增去重 correl
- Windows 清理本地端口占用
- win高分屏下Qt程序的界面适配处理
- 苹果xr配置_5000元以内苹果手机推荐:11、XS、XSMax怎么选?
- python调整图片亮度_python调整图片亮度的示例