算法移植加密芯片的调试包含2个部分:通讯调试和算法调试。之前讲到过通讯调试技巧,接下来本篇将对算法调试中的问题进行分析总结,来帮助客户顺利地完成调试。

算法调试中的常见问题:

1、不要自行建工程

客户在移植算法时,无需新建工程,直接打开已有例程进行编程即可。

2、切记不能在线调

加密芯片属于安全芯片,不支持在线调试,只能下载算法后,通过算法指令验证功能是否正常。

3、了解架构是前提

加密芯片分为驱动层和应用层两部分,用户MCU发来的指令会先在驱动层解析,所以用户要学会定位驱动层问题。芯片返回的6D00、6E00均属于通讯指令错误的状态码,碰见这类错误要查指令自身有无问题。当芯片返回6A80就属于应用层算法异常。当代码执行完成return 1后,加密芯片才会输出9000的正确状态码,若return 0,则输出6A80的错误信息。

4、异常先想大小端

LKT系列芯片大小端模式均有,如遇到算法功能异常,可考虑以此作为切入点,与我司技术人员沟通确认。保证加密芯片与原有算法运行平台的存储模式一致。

5、善用通讯缓冲区

用户要利用算法例程中的输出缓冲区,把算法运行中产生的各种过程数据填充进去,一并打印输出,通过分析数据定位到算法异常的原因。

UART接口算法移植加密芯片的调试技巧——算法调试相关推荐

  1. UART接口算法移植加密芯片的调试技巧——通讯调试

    算法移植类加密芯片是凌科芯安公司的专利产品,主要功能是芯片内部嵌入凌科芯安公司的LKCOS智能操作系统,用户可以把MCU中程序一部分关键算法函数移植到芯片中运行.用户采用标准C语言编写代码,通过KEI ...

  2. iOS调试技巧-断点调试

    Condational Breakpoints(条件断点) 普通断点只要执行到断点所在行就会停止程序,但是有时候我们想当满足一定条件时才停止程序.这个调试技巧在当你想要捕获一个循环中的变量的特定值或者 ...

  3. python断点调试技巧-python调试方法

    之前调试python程序都是用print参数,感觉有点弱爆啊,最近发现python也有类似C语言gdb的工具pdb,记录下pdb的使用方法和心得. 先找了段简单的测试程序: 复制代码 !/usr/bi ...

  4. Visual Studio原生开发的20条调试技巧(下)

    我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...

  5. Visual Studio原生开发的20条调试技巧

    我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...

  6. 前端开发中的调试技巧

    前端开发中的调试技巧 骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前端还主要以内容展示为主,浏览器脚本还只能为页面提供非常简单的辅助功能的时候.那个时候,网页主要运行在以IE6为主的浏览 ...

  7. lldb常用命令与调试技巧

    一.基本介绍 LLDB是个开源的内置于XCode的调试工具,它能帮助我们在开发中更快的定位和调试bug,无论正向和逆向开发中都有很大的作用.lldb对于命令的简称,是头部匹配方式,只要不混淆(不提示歧 ...

  8. 前端 谷歌 chorme f12开发者工具调试技巧

    谷歌调试技巧 谷歌调试技巧: 1.快速重复发送请求 2.在控制台调试请求,更改参数,不需回到代码中修改. 3.复制js变量 4.快速选中的元素,输出其html代码. 5.截取滚动页面的长屏幕 6.一键 ...

  9. 还在肉眼找bug??赶紧进来!!!程序员一定要学的调试技巧.

    本文介绍了什么是bug,什么是调试,调试重要性,如何调试解决bug,各种常用的调试快捷键,如何写出好代码以及const关键字,assert断言库函数介绍,写代码各种遇见的错误, 调试训练 实用调试技巧 ...

最新文章

  1. python源代码不需要编译成什么-python需要编译么
  2. Vue 之qs 使用详解
  3. java 防渗透_「java、工程师工作经验怎么写」-看准网
  4. java中函数_java中的函数
  5. 【英语学习】【Daily English】U01 Greetings / L03 Have we met before?
  6. androidpn的学习研究(六)Androidpn-server的Mina编码和解码解析过程
  7. stm32中.bss和.data段是在哪里初始化的
  8. HDOJ 2870 Largest Submatrix
  9. codeforce 604B More Cowbell
  10. 推荐系统回顾,FFM引入特征域进一步增强了模型的表达能力。大规模分段线性模型LS-PLM
  11. 模拟电子技术基础 第二章 常用半导体器件原理
  12. python制作音乐相册_用Python制作音乐海报
  13. JavaScript模块化编程实例——天气预报
  14. 动态规划——1292:宠物小精灵之收服(二维背包问题)
  15. 调试设置移动端Web开发环境搭建实践
  16. python 读取文件去除回车
  17. “fatal error C1859: “Release\XXXX.pch”意外的预编译头错误,只需重新运行编译器就可能修复此问题”的一个解决办法
  18. 韦东山-首批华为鸿蒙系统课程开发者
  19. 数据仓库主题十-(周期快照事实表)
  20. 杭电2534-Score

热门文章

  1. 百面机器学习!算法工程师面试宝典!
  2. 如何用 Linux 技巧大大提高工作效率?
  3. 假期怎么提升 Python 技能?100+ 编程题给你练~(附答案)
  4. 美团点评架构再调整,王兴凭什么同时杠上阿里滴滴饿了么
  5. mysql php错误处理函数_PHP 错误处理
  6. Java多态向上转型作用,热度飙升!
  7. html5hover鼠标悬停,不使用hover外部CSS样式实现hover鼠标悬停改变样式
  8. 上采样层什么意思_佛前上三柱香、磕三个头是什么意思!
  9. c语言 冒泡排序算法,排序算法_冒泡排序改进(c语言实现)
  10. c语言作业统计字符,C语言统计字符数(示例代码)