- 博客(22)
- 资源 (5)
- 收藏
- 关注
原创 有符号数乘法和数据类型
int square(int n)//计算平方的函数,是记录下有符号数和longlong类型运算情况,{ int k=0; u8 *p; long long a=0; a= (long long)n*n; p=(u8*)&a; printf("sizeof(int):%d sizeof(long):%d sizeof(long long):%d n=0x%x n=%d\r\n",sizeof(int),sizeof(long),sizeof(lo...
2021-10-28 14:16:44
214
原创 C语言无符号数减法
测试代码void ChkTest(void){ unsigned int cnt1 = 1; unsigned int cnt2 = 2; unsigned short a = 1; unsigned short b=-1;//等价于unsigned short b=0xFFFF; unsigned short c=0; c = a-b; printk("cnt1-cnt2=%x %d\r\n",cnt1-cnt2,cnt1-cnt2)...
2021-05-17 17:34:20
3870
原创 C语言for循环效率记录1
#if 1和#if 0 两种代码编写方式,经过反编译汇编对比得出:for循环逻辑指令少,但是存在循环跳转,因此展开循环体指令数量远超累加方式,执行效率低;累加方式逻辑指令多,但无跳转因此效率高。因为for循环只有3次,且循环体逻辑简单,因此展开书写更好,如果循环体逻辑复杂,则for循环方式更好!static u32 bits21Tou32(u8 *indata){#if 1 u32 temp=0; temp = (temp<<8) + indata[0...
2020-11-18 10:41:52
656
原创 头文件包含作用域
sys.h内容 《#ifndef __SYS__H__#define __SYS__H__#include "a.h"#include "b.h"#endif》a.h内容《#ifndef __A__H__#define __A__H__#include "sys.h"#include "b.h"int a;#endif》b.h内容《#ifndef __B__H__#define __B__H__#include "sys.h"#include "a.h"int...
2020-10-15 19:49:57
362
原创 单片机卡死分析记录
在原始项目新增了一个模块,调试阶段代码ok,调试使用了一个全局变量来加快调试效率,提测修改为局部变量后测试卡死了,由于代码量太多,死掉的位置输出的异常信息无法分析:OOPS! Core Dump:r0 : 0x20002400 r1 : 0x000001fdr2 : 0x000000bd r3 : 0x000000bdlr : 0x000000bd pc : 0x000000bdclr: 0x0101ce3d sp : 0x00000000r12: 0x000000bd...
2020-10-15 10:57:30
762
原创 SHA256算法效率和代码段大小关系
偶尔发现sha256算法的反汇编代码段将近8KB,超过预期,仔细查找发现sha256_process函数的内部代码书写方式比较特别(这种方式可以提高算法效率,减少函数调用产生的进出栈消耗),造成了巨大的flash资源浪费。详细说明见代码注释:#define GET_UINT32(n,b,i) \{ ...
2019-09-18 11:01:35
1300
原创 elf、bin、asm笔记
Gcc 编译出来的是ELF文件。通常gcc –o test test.c,生成的test文件就是ELF格式的,在linuxshell下输入 ./test就可以执行。Bin 文件是经过压缩的可执行文件,去掉ELF格式的东西,纯粹的机器码。在RAM中直接运行。elf(executable and link format)文件里面包含了符号表,汇编等。BIN文件是将elf文件中的代码段,...
2019-09-18 10:37:38
1063
原创 HMACSHA256原理解析
需要支持HMACSHA256算法,GitHub找到源码具体地址https://github.com/aperezdc/hmac-sha256/blob/master/hmac-sha256.c移植到目标平台,稍作处理测试ok了,原理:1.输入密钥key和固定的数据(0x36)进行异或操作生成一个64B的数据kx;2.使用kx+输入数据执行sha256算法得到32B的out;3.使用...
2019-08-14 17:28:38
25793
5
原创 国密SM2 SM3 SM4 算法记录
SM2加密结果有两种数据组织方式,最常见的是C1|C2|C3,另一种C1|C3|C2,具体解释:国密局推荐的SM2椭圆曲线参数(下图右侧输出的曲线参数);首先产生随机数计算出曲线点C1,2个32byte的BigInteger大数,即为SM2加密结果的第1部分,固定64B。第2部C2分则是真正的密文,是对明文的加密结果,长度和明文一样。第3部分C3是杂凑值,用来效验数据,固定32B。...
2019-06-16 14:20:21
5165
原创 OEM_KEYSTORE
解析这个数组,真的费劲,类似X509格式,但实际缺对不上,应该是我某个地方没搞明白,暂时记录下const unsigned char OEM_KEYSTORE[] = { 0x30, 0x82, 0x06, 0x4f, /*tag,len=0x64f,data:...*/ 0x02, 0x01, 0x00, /*tag,len=0x1 data:版本1*/ 0x30, 0x82, ...
2018-07-17 16:26:18
426
原创 OPENSSL中RSA私钥文件(PEM格式)解析小计
生成步骤就不写了,自行百度。工作中要使用RSA2048公私钥做签名校验,使用openssl工具生成公私钥对,在导出数据时候发现私钥参数长度显示不对(或许是我搞错了),具体记录如下:Private-Key: (2048 bit)modulus:(n标准长度256B,实际输出257B,多了个00标红) 00:d8:8b:57:87:80:31:e3:c5:69:c3:14:77:ae:5e: ...
2018-05-08 16:13:58
2474
转载 修改IAR工程文件名
转载:木头子 http://www.stmcu.org/module/forum/thread-578295-1-1.html很多时候我们都为了图个方便,直接复制一份以前做过的项目,但是工程名却一直无法修改。我在网上寻找了很多,网上也给出很多方法,却一直不成功。不过现在终于解决这个问题了,在此为大家分享一下自己如何修改工程名。第一,将工程中后缀名为“dep,ewd,ewp,eww”的这四个
2016-09-07 11:30:45
1756
原创 高通8909模块之SPI特性
工作中遇到问题记录一下:某android核心模块(高通8909)spi通信特异:发送32个字节SPI时钟不连续。如图: 总结, 32字节发送波形:先 发1个字节的时钟->空闲一段时间->发16字节的时钟->空闲一段时间->发15个字节的时钟。 ...
2016-06-17 15:54:28
3473
原创 nist随机数测试算法使用记录
网上找到开源的的nist算法,make之后发现算法太专业,不知道怎么用,经过一段时间摸索,弄清楚的写下来。源码目录:nist/sts-2.1.2/; 编译make我的随机数包rng2.dat是138M的二进制文件(只计算前128MB),执行所有运算大概耗时3个小时。1.运行./assess 8388608(128M位长度1073741824bit分成128段,每段1MB...
2016-06-03 09:30:29
15053
27
原创 二维码扫描之zxing与zbar的优劣
之前我有移植过zbar和zxing源码到linux平台,zbar移植的是C源码,zxing移植的是C++代码。两者对比:1.zxing支持更多的码制:datamatix、PDF417、等,zbar不能很好支持PDF417(但是在源码中有对于Pdf417码处理)。2.zxing的执行解码效率低于zbar,从耗费内存空间角度看,zbar更适合嵌入式设备开发,大部分手机app的解码采用的是zxi
2015-05-04 15:26:11
5049
原创 android开机动画不循环播放问题
在配置文件desc.txt中说明是循环播放的,但实际只播放一次, 原因很简单:bootanimation\part0在压缩过程中 自动生成了 一个数据库文件Thumbs.db,删掉 之后就能循环播放。
2013-03-19 18:13:16
1411
原创 Android中不同Density下Pixel dip关系探究
网上看了很多帖子,到目前我也搞不到那个到底哪个是对的,所以实验探索,现在把结果贴出来,希望能够和大家讨论。px与dp的转换公式:第一种:1DP = 1PX * density (见http://blog.youkuaiyun.com/android_discover/article/details/6608466)第二种:1DP = 1PX / density (网上多见这种公式)
2013-02-01 20:11:17
804
ISO/IEC 18092:2004(中文版)
2014-01-21
ISO/IEC 18092:2013
2013-12-11
飞思卡尔arm架构的串口下载工具
2013-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人