电子产品世界 » 论坛首页 » 嵌入式开发 » ARM » 瑞芯微为RK3399嵌入式开发板代码使用 I²C 接口方法


共1条 1/1 1 跳转至

瑞芯微为RK3399嵌入式开发板代码使用 I²C 接口方法

菜鸟
2017-11-30 17:55:09    评分

     RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数、浮点、内存等作了大幅优化,在整体性能、功耗及核心面积三个方面都具革命性提升。 RK3399的GPU采用四核ARM新一代高端图像处理器Mali-T860,集成更多带宽压缩技术:如智能迭加、ASTC、本地像素存储等,还支持更多的图形和计算接口,总体性能比上一代提升45%。

     友坚科技最新研发的RK3399开发板,搭建了最新android7.1 系统,4G DDR3内存,32G EMMC 存诸,搭配8.4寸高清IPS屏。RK3399开发板主板尺寸为:155*104mm,设计有非常丰富的接口,板载3路TTL UART,2路USB2.0接口,一路USB3.0接口,WIFI/BT二合一,HDMI OUT 、HDMI INT、Type C、4G、IR、以太网等;可扩展模块包括4G模块、Camera(1300万、500万)等应用类功能模块。

3399接口.JPG

代码使用 I²C 接口

首先驱动文件所在 kernel 位置:drivers/i2c/busses/i2c-rk3x.c;

读数据使用示例:

static int i2c_read_bytes(struct i2c_client *client,

u8 cmd, u8 *data, u8 data_len)

{

struct i2c_msg msgs[2];

int ret;

u8 *buffer;

buffer = kzalloc(data_len, GFP_KERNEL);

if (!buffer)

return -ENOMEM;;

msgs[0].addr = client->addr;

msgs[0].flags = client->flags;

msgs[0].len = 1;

msgs[0].buf = &cmd;

msgs[1].addr = client->addr;

msgs[1].flags = client->flags | I2C_M_RD;

msgs[1].len = data_len;

msgs[1].buf = buffer;

ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));

if (ret < 0)

dev_err(&client->adapter->dev, "i2c read failed\n");

else

memcpy(data, buffer, data_len);

kfree(buffer);

return ret;

}

写数据使用示例:

static int i2c_write_bytes(struct i2c_client *client,

u8 cmd, u8 *data, u8 data_len)

{

struct i2c_msg msgs[1];

u8 *buffer;

int ret = 0;

buffer = kzalloc(data_len + 1, GFP_KERNEL);

if (!buffer)

return -ENOMEM;

buffer[0] = cmd;

memcpy(buffer + 1, data, data_len);

msgs[0].addr = client->addr;

msgs[0].flags = client->flags;

msgs[0].len = data_len + 1;

msgs[0].buf = buffer;

ret = i2c_transfer(client->adapter, msgs, ARRAY_SIZE(msgs));

if (ret < 0)

dev_err(&client->adapter->dev, "i2c write failed\n");

kfree(buffer);

return ret;

}



   瑞芯微为RK3399嵌入式开发板代码使用 I²C 接口方法友坚科技专注于三星、瑞芯微、飞思卡尔平台产品的研发,是三星、瑞芯微、飞思卡尔在中国最具实力的方案公司之一。公司研发、生产的平板、开发板,连续多年销量稳居第一。公司定位于中高端产品的研发,具有多年的嵌入式产品研发经验;基于A15-Exynos5260、A53_S5P6818、A9-S5P4418、A9-Exynos 4412、A8-S5PV210、ARM11-S3C6410、ARM9-S3C2416 、RK3188、RK3288、RK3399、IMX6Q等处理器,开发了系列化产品,为客户提供了全面的产品选择及专业化的量身定制MID解决方案




关键词: RK3399     瑞芯     嵌入式     开发    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]