9-移远EC20、EC600、EC800等模块openCPU开发vsim、softsim

移远的模块有两种系统,一种是基于高通芯片平台的linux操作系统,比如EC20;另一种是基于翱捷科技ASR芯片平台的threadx操作系统,比如EC600、EC800。

1、实现vsim和softsim的原理

正常逻辑是这样的,模块去读取实体SIM卡的数据,模块发一个指令给SIM卡,SIM卡就回复一条数据,所以其流程如下:

在这里插入图片描述

要把实体SIM卡去掉,变成VSIM、SOFTSIM,前置条件需要把模块原本要发送SIM卡的数据,变成发给某个函数,比如移远提供回调函数?

然后我们去模拟实体SIM卡的数据把数据返回给模块,模块接收到数据后接着下一步APDU数据。

所以要实现的就是把SIM卡的所有数据都模拟出来,之后还有关键的一步就是鉴权。

鉴权就是区分vsim和softsim的因素,如果你没有卡的ki、opc等参数,那你就只能让真正的实体卡帮你算出鉴权数据,返回给模块,这就是vsim。

如果你有卡的ki、opc等数据,那你就把鉴权算法实现出来,自己通过软件算出鉴权数据,这就是softsim。

vsim模式下,我们怎么让实体卡帮我算出鉴权数据?这时候就需要卡池了,有机会可以介绍。

2、具体实现vsim、softsim步骤
  • 1、找移远代理提供的openCPU SDK
  • 2、找到可以提供发送给sim卡数据的回调api
  • 3、实现sim卡数据识别,返回数据组装
  • 4、找到返回sim卡数据的api
  • 5、鉴权算法实现/卡池实现远程交互实现
  • 6、复位启动等数据交互实现ATR、PPS
  • 7、不同卡的数据适配
  • 有需要找我试试
错误 `vsim-3171` 是 ModelSim 仿真工具中常见的错误之一,通常表示仿真器无法找到指定的模块或设计单元,或者在编译过程中某些模块未被正确编译或加载。以下是可能导致该错误的几种原因及其对应的解决方案。 ### 原因与解决方案 #### 1. 模块未被正确编译 如果尝试运行仿真时未正确编译包含目标模块的设计文件,ModelSim 将无法识别该模块并报错 `vsim-3171`。 - **解决方案**:确保所有相关的设计文件(包括顶层模块和子模块)均已通过 `vlog` 或 `vcom` 命令正确编译,并且编译过程中没有错误。可以使用以下命令进行编译: ```bash vlog top_module.sv ``` 确保文件路径正确,并且模块名与文件名匹配。 #### 2. 工作库未正确创建或引用 ModelSim 要求设计文件必须编译到一个工作库(默认为 `work`)。如果工作库不存在或未正确映射,也可能导致该错误。 - **解决方案**:在开始编译之前,使用 `vlib` 命令创建工作库,并使用 `vmap` 命令映射库路径: ```bash vlib work vmap work work ``` #### 3. 模块名拼写错误或大小写不匹配 Verilog 和 SystemVerilog 对模块名的大小写是敏感的。如果在实例化模块或调用仿真命令时拼写错误或大小写不一致,也会导致 `vsim-3171` 错误。 - **解决方案**:检查模块名拼写和大小写是否完全一致,尤其是在顶层模块中引用子模块时。 #### 4. 仿真命令中模块名指定错误 当使用 `vsim` 命令启动仿真时,如果未正确指定顶层模块名,也可能导致此错误。 - **解决方案**:确保在启动仿真时使用正确的模块名: ```bash vsim top_module ``` #### 5. 多个同名模块未正确区分 如果多个模块具有相同名称且未正确指定库路径或编译顺序,ModelSim 可能会加载错误的模块版本。 - **解决方案**:确保不同设计中使用的模块名不冲突,或通过明确指定库名来区分不同模块。 #### 6. 工程路径或文件路径错误 如果 ModelSim 无法找到源文件或编译后的对象文件,也可能报出该错误。 - **解决方案**:检查文件路径是否正确,确保所有源文件位于 ModelSim 可访问的目录下,或在命令中使用完整路径进行编译和仿真。 --- ### 示例:完整的 ModelSim 编译与仿真流程 ```bash # 创建工作库 vlib work # 编译设计文件 vlog top_module.sv # 启动仿真 vsim top_module # 运行仿真 run -all ``` ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Creator_Ly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值