2738
- 收藏
- 点赞
- 分享
- 举报
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
-
2020-05-13 14:11:30
-
2018-09-03 17:22:30
-
2014-10-14 11:21:47
-
2017-12-05 11:30:57
-
2016-02-01 13:01:53
-
2016-08-10 12:14:08
-
2015-12-10 13:27:51
-
2017-08-17 07:35:32
-
2016-04-18 17:18:28
-
2018-02-08 15:28:12
-
2016-05-17 11:40:12
-
2014-11-20 11:34:10
-
2015-12-18 15:36:49
更多相似问答
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认