2778
- 收藏
- 点赞
- 分享
- 举报
HI3516A平台调试ATSHA204A加密芯片驱动
目前在HI3516A平台上调试ATSHA204A加密芯片驱动遇到了问题:
1.由于海思提供的i2c_read,i2c_write用户层命令对寄存器及数据位数有限制(8bit/16bit),而ATSHA204A加密芯片的word address数据位数是32位,所以我移植了之前在RK3288上的驱动,在上层应用读取ATSHA204A的SN号的过程中,调用驱动中write接口,而驱动中的write函数通过i2c_transfer这个i2c核心的接口函数来找到海思总线驱动的hi_i2c_xfer这个函数,经过查看海思的手册,发现如果需要写或者读取3个及以上字节的数据时需要使用I2C_M_DMA,也就是DMA操作,加密芯片连接到I2C2管脚上,已经进行了管脚复用的设置,并且加上了I2C_M_DMA。目前的问题是读取SN号时会失败,通过dmesg | grep i2c命令查看每次都会出现hi_i2c_wait_idle->213:
hi_i2c_set_dev_addr_and_mode->310:
wait i2c idle time out
i2c_transfer failed
同时通过万用表测量过SDA与SCL在空闲状态的电压均为3.3V,是正常的,用示波器测量过SDA与SCL信号,发现在第9个时钟周期ACK应答信号为高,也就是说加密芯片没有响应,之后信号就一直为高。
请问哪位高手在HI3516A平台上使用过ATSHA204A之类的加密芯片,请帮忙指导一下,万分感谢!
1.由于海思提供的i2c_read,i2c_write用户层命令对寄存器及数据位数有限制(8bit/16bit),而ATSHA204A加密芯片的word address数据位数是32位,所以我移植了之前在RK3288上的驱动,在上层应用读取ATSHA204A的SN号的过程中,调用驱动中write接口,而驱动中的write函数通过i2c_transfer这个i2c核心的接口函数来找到海思总线驱动的hi_i2c_xfer这个函数,经过查看海思的手册,发现如果需要写或者读取3个及以上字节的数据时需要使用I2C_M_DMA,也就是DMA操作,加密芯片连接到I2C2管脚上,已经进行了管脚复用的设置,并且加上了I2C_M_DMA。目前的问题是读取SN号时会失败,通过dmesg | grep i2c命令查看每次都会出现hi_i2c_wait_idle->213:
hi_i2c_set_dev_addr_and_mode->310:
wait i2c idle time out
i2c_transfer failed
同时通过万用表测量过SDA与SCL在空闲状态的电压均为3.3V,是正常的,用示波器测量过SDA与SCL信号,发现在第9个时钟周期ACK应答信号为高,也就是说加密芯片没有响应,之后信号就一直为高。
请问哪位高手在HI3516A平台上使用过ATSHA204A之类的加密芯片,请帮忙指导一下,万分感谢!
我来回答
回答7个
时间排序
认可量排序
认可0
认可0
认可0
认可0
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2018-07-31 14:06:10
-
2018-07-31 14:09:39
-
2015-01-23 22:10:29
-
2015-02-07 15:44:06
-
2017-01-11 11:16:52
-
2018-12-27 15:52:20
-
2016-10-18 11:32:07
-
2017-12-05 11:30:57
-
2014-10-14 11:21:47
-
2020-05-13 14:11:30
-
2016-02-01 13:01:53
-
2017-08-17 07:35:32
-
2015-12-10 13:27:51
-
2018-09-03 17:22:30
-
2018-02-08 15:28:12
-
2016-04-18 17:18:28
-
2016-05-17 11:40:12
-
2016-08-10 12:14:08
-
2017-06-19 20:37:37
-
2015-12-18 15:36:49
更多相似问答
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5SS928的emmc有32GB,bootargs设置使用16GB,但是为啥能用的只有rootfs的大小
-
33SS928怎样烧写ubuntu系统
-
10ToolPlatform下载rootfs提示网络失败
-
10谁有GK7205V500的SDK
-
5Hi3516CV610 烧录不进去
-
10Hi3559AV100 芯片硬解码h265编码格式的视频时出现视频播放错误,解码错误信息 s32PackErr:码流有错
-
5海思SS928 / SD3403的sample_venc.c摄像头编码Demo中,采集到的摄像头的YUV数据在哪个相关的函数中?
-
5海鸥派openEuler无法启动网卡,连接WIFI存在问题
-
66有没有ISP相关的巨佬帮忙看看SS928对接IMX347的图像问题
-
50求助hi3559与FPGA通过SLVS-EC接口对接问题
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认