ICode9

精准搜索请尝试: 精确搜索
  • study Rust-7【使用结构体的demo】2021-07-05 14:33:35

    fn main() { let width1 = 30; let height1 = 50; println!( "The area of the rectangle is {} square pixels.", area(width1, height1) ); } fn area(width: u32, height: u32) -> u32 { width * height }   继续计算面积:

  • stm32f429系统时钟的配置学习。systick定时器的应用。典型的延时函数的编写。2021-06-19 23:52:11

    ###参考正点原子@ALIENTEK###### ###仅供自己学习所用########### void Stm32_Clock_Init(u32 plln,u32 pllm,u32 pllp,u32 pllq) {    HAL_StatusTypeDef ret = HAL_OK;    RCC_OscInitTypeDef RCC_OscInitStructure;     RCC_ClkInitTypeDef RCC_ClkInitStructure;    

  • stm32cubemx使用AHT102021-06-08 14:58:06

    关于模拟iic的代码参考:https://blog.csdn.net/qq_45467083/article/details/109433847 下面给出AHT10的代码: #ifndef _AHT10_H__ #define _AHT10_H__ //转自:https://blog.csdn.net/Dinvent/article/details/105953462 #include "main.h" typedef uint8_t u8; typedef uint32_t

  • Linux异步IO引擎:io-uring2021-06-01 16:06:37

    Phoronix 报道称,IO_uring 可以说是 Linux 内核近期引入的最大创新之一,因其能够显著提升移步输入/输出(async I/O)的效率。一句话总结 io_uring 就是:一套全新的 syscall,一套全新的 async API,更高的性能,更好的兼容性,来迎接高 IOPS,高吞吐量的未来。 先看一下性能数据(数据来自 Jens

  • 国密SM4的C51源码C语言8051(ECB、CBC)2021-05-10 14:30:39

    一、概述 SM4是中华人民共和国政府采用的一种分组密码标准,由国家密码管理局于2012年3月21日发布。相关标准为“GM/T 0002-2012《SM4分组密码算法》(原SMS4分组密码算法)” SM4主要用于数据加密,为非对称加密,其算法公开,分组长度与密钥长度均为128bit,加密算法与密钥扩展算法都采用32

  • 16位cpu 移位处理2021-04-15 14:56:29

    以前和一位交换机的同事看一个问题,是在IC+的一个16位cpu上配置突破口处理的异常的问题:u32 tmp = 0;tmp |= 1<<21;打印tmp的结果为0,非常之不科学。后面发现,修改为:u32 tmp = 0;u32 t = 1; t <<= 21;tmp|=t;打印结果正常。后经过分析,原因为在16位的cpu中,对于 常量 1直接存

  • AFL头文件2021-01-23 20:01:46

    AFL头文件 config.h 配置,部分内容是和编译相关,例如变异用到的预设特殊值。 types.h 类型,重新定义了一些新的类型,例如s8。 debug.h 调试,包含自定义的函数,例如OKF。 alloc-inl.h 内存相关,提供内存相关操作 hash.h 哈希函数,参数为const void* key, u32 len, u332 seed,返回

  • 使用灵动微MM32F013x函数库,出现编译警告1296-D:extended constant initialiser used case u322021-01-07 10:01:05

    使用灵动微MM32F013x函数库,出现编译警告1296-D:extended constant initialiser used case u32。   没有找到好的解决办法,直接通过设置keil编译器,屏蔽此警告。  

  • Linux网络协议栈:用eBPF写TCP拥塞控制算法2021-01-03 20:57:25

    其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TCP。 用eBPF写TCP拥塞控制算法只是本文所讲内容的一个再平凡不过的例子。 先看两个问题,或者说是两个痛点: 内核越来越策略化。 内核接口不稳定。 分别简单说一下。 所谓内核策略化就是

  • c语言中u8,u16,u32和int区别2020-12-04 02:01:29

      c语言中u8,u16,u32和int区别为符号不同、数据范围不同、内存占用的空间不同。 一、符号不同 1、u8:u8表示无符1653号char字符类型。 2、u16:u16表示无符号short短整数类型。 3、u32:u32表示无符号int基本整数类型。 4、int:int表示带符号int基本整数类型。 二、数据范围不同 1

  • Montgomery 算法流程2020-12-01 20:02:40

    Montgomery 算法流程 下面默认对于模数\(m\)取模 Montgomery Reduction算法思想简介 在计算取模运算的过程中,将每一个元素\(T\)都乘上一个特定的值\(R(R>m,\gcd(R,m)=1)\) 用特殊的方法处理相乘时除掉一个\(R\)的过程,而避免取模运算 在是用的模数位常量时,编译器会自动加入类似的优

  • 关于STM32F4xx的硬件CRC32校验2020-04-03 19:03:52

    关于STM32F4xx的硬件CRC32校验 一、概述 前段时间由于项目所需,要对MCU上某些数据进行CRC32校验,MCU选用的是STM32F4系列,以前看到过STM32有硬件CRC32校验功能,决定采用硬件CRC32校验,于是成功入坑。STM32硬件CRC32校验的结果跟预期的值并不一致,参考了CSDN大神的方法,根据项目加以

  • V4L2结构体——IOCTL2020-02-20 17:56:48

    正文   在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有: 1 VIDIOC_QUERYCAP /* 获取设备支持的操作 */ 2 VIDIOC_G_FMT /* 获取设置支持的视频格式 */ 3 VIDIOC_S_FMT /* 设置捕获视频的格式 */ 4 VIDIOC_

  • bmp图像数据说明2019-09-20 19:00:24

    原文链接:https://blog.csdn.net/t3swing/article/details/76546402                                            bmp图像数据说明 BMP说明 BMP是BitMap的缩写,即位图,是一种非压缩格式,图像文件一般比较大,Windo

  • 代码演示简单的BMP文件操作2019-09-14 20:38:12

    这里演示写出。主要难点是BMP文件头的生成。标准的BMP文件头为54个字节,可采用结构体保存。 在保存文件头时,应当把编译器的对齐优化关掉,否则BM_Header结构体的长度会变成16。 程序的基本操作是先定义BM_Header和BM_Info文件头,检查运行环境是否正确,然后打开一个文件,先写出BM_Hea

  • Rust中的迭代器2019-08-31 11:52:09

    和闭包一样,练代码 struct Counter { count: u32,}impl Counter { fn new() -> Counter { Counter {count: 0 } }}impl Iterator for Counter { type Item = u32; fn next(&mut self) -> Option<Self::Item> { self.count += 1;

  • _u32定义2019-08-27 15:00:11

    驱动开发的原则: 能用__u32就最好用它,或者用u_int32_t之类的也可以,但不要直接用unsigned int等默认的数据类型。目的是让别人明白,你这个变量占多大内存。 原因: 1、你不能确定你的代码未来只在一个平台上运行,它可能会被移植到非Linux平台(确实有很多人这么做),它可能运行在不同的CPU平

  • [project X] tiny210(s5pv210)从存储设备加载代码到DDR2019-08-27 14:31:26

    原文链接:https://blog.csdn.net/ooonebook/article/details/52965362 [uboot] uboot流程系列: [project X] tiny210(s5pv210)上电启动流程(BL0-BL2) [uboot] (第一章)uboot流程——概述 [uboot] (第二章)uboot流程——uboot-spl编译流程 [uboot]

  • uboot tag存储主要部分代码2019-08-09 18:51:52

    https://www.cnblogs.com/pokerface/p/5217106.html     cmd_bootm.c //传递给内核的参数      int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])           do_bootm_linux  (cmdtp, flag, argc, argv,  addr, len_ptr, verify);        

  • Linux 字节序2019-07-07 13:58:04

    小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高 级的平台以另一种方式(大端)工作. 任何可能的时候, 你的代码应当这样来编写, 它不在 乎它操作的数据的字节序. 但是, 有时候一个驱动需要使用单个字节建立一个整型数或者 相反, 或者它必须与一个

  • framebuffer 子系统分析2019-02-23 16:48:44

     come from :https://blog.csdn.net/u012728256/article/details/70274465 struct fb_info { int node; int flags; struct mutex lock; /* 调用open/release/ioctl时的锁 */ struct mutex mm_lock; /* fb_mmap和smem_*的锁 */ struct fb_var_screeninfo var; /* 当前L

  • 【WC2017】挑战2019-01-29 09:03:07

      卡常真好玩,卡到了loj rank1(2019.1.29)   // luogu-judger-enable-o2 #include <cstdio> #include <cstring> #include <algorithm> typedef unsigned int u32; typedef unsigned long long u64; inline void output_arr(u32 *A, u32 size) { u32 ret = si

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有