自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

dingdongkk~博客

嵌入式软件开发

  • 博客(245)
  • 资源 (21)
  • 收藏
  • 关注

原创 第二章:进程管理

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基

2021-10-31 16:59:30 609 1

原创 第一章:计算机系统概述

文章目录前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、操作系统特征1. 并发:通过分时实现, 注意与并行去别2. 共享:互斥共享方式-临界资源:一段时间只允许一个进程访问的资源。 同时访问方式-允许若干用户同时访问该文件 并发与共享是操作系统最基本的特征。3. 虚拟...

2021-10-26 15:27:39 1477 1

原创 1. 考研常见问题总结 从择校到复试

文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考1. 考研流程? 准备阶段(初试前) 报名阶段(9-10月,一般九月预报名(注:预报名成功,正式报名不用重复报),十月正式报名)...

2021-04-14 19:49:29 721

原创 2021-4-13 考研复旦大学计算机 最幸运的事、最后悔的事

1. 最幸运的事 有家人的支持,好朋友的支持,以及复试好朋友的助攻,帮忙修改英语自我介绍等。结果成功上岸。2.最后悔的事 初试准备不够充分,导致初试成绩不是很好,过线分数不多,从而担心机会不大选择心仪的deep learning,在复试选择专业的时候,放弃了深度学习,而选择了人工智能。有点遗憾,好在复试准备还比较充分,最终复试通过。3. 收获 以后只做最好,不再妥协。...

2021-04-13 16:06:41 897 2

原创 2021-4-8 考研复旦大学 计算机 复试通过 经验回顾

1. 结果:人工智能专业,复试通过2. 初试准备: 2017年本科毕业,毕业后工作了三年,由于一直想体验下研究生生活,2020年6月份决定考研,后面收集资料,工作之余的闲暇时间看点专业课408。 2020年九月底离职,决定十月份全职备考,所以有了计划笔记: 10月份好好在家学习了一个月,十一月份,有点浮躁,有时候扣手机玩游戏,有时候看看股票炒炒股,还有时间来考研复习。 11月底,运气比较好遇到了一个考研的朋友,刚好讨论起感觉最近比较浮躁,又担心复习不过来,又担心英语很难...

2021-04-08 16:29:10 2306 10

原创 2020.9.1 复旦大学考研计划记录

计划一、当前进展:408王道专业课及高数二匆忙看了一遍。二、目前计划:9月份:高数做两套真题,并巩固一下基础(看视频和课本,尤其线代)(因感觉基础不够牢固)基础1800还是660道题可以过一遍。早上背十分钟公式。阅读精读,作文及精读阅读理解:5篇作文:背5篇,一周一篇单词:阅读理解精读单词及考研必备单词。408专业课:刷2013-2017年真题,并专用纠错本记录,务必弄懂每一题。知识点:时间够的话,408 4本书可以再过一遍。早上背20分钟知识点,一本一本背。10月份:

2020-09-01 16:22:24 833 1

原创 Linux内核之module_param()函数使用说明

1. 概述:主要区别就是用户可否在系统启动或模块装载时为参数指定相应值,在驱动程序里,参数的用法如同全局变量。不使用module_param如只定一个全局变量:#define MY_MAJOR 0x09static int global_val_test = MY_MAJOR;那么编译模块后,insmod加载模块时不能传参数进去,如:[root@bogon hello_world]# insmod first_hello.ko global_val_test=5insmod:

2020-05-26 14:34:08 8239

原创 linux内核的一些基础知识: 内核设备编号及udev等

1. Linux内核设备编号分为主设备编号和次设备编号,前者为dev_t的高12位,后者为dev_t的低20位.对于表示设备节点的inode结构,i_rdev字段包含设备编号.下列操作用于从一个inode中获得主设备号和次设备号:unsigned int iminor(struct inode *inode);unsigned int imajor(struct inode *inode);cat /proc/devices可以获知系统中注册的设备.第一列为主设备编号,第二列为设备.

2020-05-26 11:02:04 690

原创 小程序入门 远程控制 MQTT物联网协议 publish 和订阅subscribe onenet 阿里云 百度云 基于GPRS模块和STM32

本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等。一、代码适用范围1. 设备端:主控芯片为STM32F103C8T6,但是兼容所有STM32芯片中。 通信模块为sim800c或sim868,代码兼容,868多个GPS 使能代码和获取GPS信...

2019-10-11 10:45:36 4552 9

原创 基于stm32及sim800c sim868 实现的远程控制 小程序控制模块 源码 移植过程简介

本文基本公开了如何移植MQTT物联网协议到STM32平台上,并结合GPRS模块(SIM800C/SIM900A/SIM868等)实现publish和订阅topic从onenet,阿里云,百度云等。如果不想移植,可以在如下淘宝链接中直接购买源代码,全部源码+资料300,全部源码+资料包售后500元。物联网开发板裸板只要168,套餐可自己搭配。淘宝链接:https://item.taobao....

2019-07-12 15:23:56 7804 1

原创 vim进阶1.3 常用技巧之复制 粘贴 修改 删除等

1. Normal模式复制粘贴yy 复制当前行p 粘贴复制内容到当前行的下一行nyy 复制从当前行开始数n行,p 粘贴复制内容到当前行的下面2. Visual模式复制黏贴Normal按v进入Visual模式按j/k/h/l上下左右选择需要复制的内容按p粘贴3. 高级 修改n列重复内容在块模式下,可以进行多列的同时修改,修改方法是:...

2019-04-25 17:54:11 264

原创 vim进阶1.2 高亮关键字 自定义高亮 快捷键 插件Mark

一、高亮效果类似如下图:二、安装方法首先,安装Bundle插件管理器,安装参考:https://blog.youkuaiyun.com/sinat_29891353/article/details/88367335然后vim ~/.vimrc文件添加一行:Bundle 'Mark'然后按shift+:进入命令模式,输入PluginInstall,稍等一会儿即可完成安装。三、...

2019-04-01 16:49:55 5500

原创 vim进阶1.1 打开文件时tab键自动补全并忽略大小写

vim ~/.inputrc输入如下一行,保存退出。set completion-ignore-case on关闭终端,再重新打开终端即可使用tab键自动补全并忽略大小写。

2019-03-11 14:54:59 877

原创 vim进阶1.0 常用插件安装taglist+vundle+strlp+ctrlp-funky与使用

1. 安装vundlehttps://github.com/kaigeli/Vundle.vim/blob/master/README_ZH_CN.md$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim 配置vundle : 请将以下加在.vimrc方可使用Vu...

2019-03-09 17:12:58 3646

原创 结构体函数作用及示例

一、作用 1. 提高代码阅读性 2. 分类管理函数及部分属性 3. 偏向于c++的面向对象思维二、使用方法: 1. 声明结构体函数 2. 初始化结构体函数 3. 调用结构体函数三、示例#include<stdio.h>#include<stdlib.h>/*structure declare*/...

2018-10-16 08:59:39 34636 9

原创 git blame 查看文件每行代码提交点

命令:git blame 文件名##eg: 格式: commit ID | 代码提交作者 | 提交时间 | 代码位于文件中的行数 | 实际代码

2018-06-07 22:35:41 3172

原创 例程四、c读写文件与文件参数管理

直接上代码,代码简单易懂。#include<stdio.h>#define PARAM_CONFIG "/home/lkg/test/config"typedef struct{ unsigned short int id; int offset;}param_offset;typedef struct { char c; int h; unsigne

2017-08-23 17:53:44 569

原创 2. 一文搞懂寄存器,RAM,ROM,FLASH,SSD--操作系统基础

在操作系统中,存储层次结构从**内部(最快速但最小)到外部(最慢但最大)**分为多个层次,每一层的存储用途、性能、掉电保持性都有所不同。嵌入式 Linux 文件系统(如 UBIFS、JFFS2)代码存储(Bootloader、BIOS、MCU 固件)STM32、ESP32、NOR Flash 存储固件。Jetson AGX Orin 采用。SD 卡、eMMC、UFS、SSD。的存储结构分析,还是针对。

2025-03-24 20:16:17 883

原创 1. 冯诺依曼结构和哈佛结构区别--操作系统基础

冯诺依曼(Von Neumann)结构和哈佛(Harvard)结构是计算机体系结构的两种主要架构,它们的主要区别在于。虽然早期的计算机严格采用。,避免两种架构的缺点。

2025-03-24 19:55:25 845

原创 三步本地部署deepseekr1,支持macOs,ubuntu,Windows

Ollama 是一款支持在 Windows、macOS 和 Linux 上本地运行大型语言模型的工具。:访问 Ollama 官方下载页面,选择适用于 Windows 的安装包进行下载。:下载完成后,双击安装包并按照提示完成安装。:在命令提示符中输入ollama,如果显示相关信息,则表示安装成功。:访问 Ollama 官方下载页面,选择适用于 macOS 的安装包进行下载。:下载完成后,打开安装包并按照提示完成安装。:在终端中输入ollama,如果显示相关信息,则表示安装成功。

2025-02-10 11:52:56 289

原创 mac 使用zip2john破解zip压缩包密码

mac 使用zip2john破解zip压缩包密码

2025-01-06 23:29:56 708

原创 ubuntu安装sublime安装与免费使用

ubuntu安装sublime安装与免费使用

2024-12-23 11:20:49 257

原创 26. 宏MIN的实现,注意括号的使用。

MIN宏通过简单的三元运算符比较两个值并返回较小者,括号确保正确的运算顺序。使用宏实现这样的功能虽然高效,但可能带来多次求值的问题,所以在使用时要小心。

2024-09-15 00:32:08 543

原创 25. int bool float double 指针等如何与零值比较,原理和注意点

在 C 语言中,比较不同数据类型(如intboolfloatdouble、指针等)与零值时,需要注意它们各自的表示方法和行为。以下是关于如何将这些数据类型与零值进行比较的分析和代码示例。

2024-09-13 23:44:47 617

原创 24.取余和按位与哪个计算效率更高?测试用例

为了比较x % 2和x & 1两种方法的效率,我们可以编写一个测试用例,通过在循环中多次计算结果,并测量这两种方法所消耗的时间。x % 2是模运算,通过除法获取余数。而x & 1是按位与操作,用来直接获取数字的最低位(偶数最低位为0,奇数最低位为1通常按位与操作效率会高于模运算。

2024-09-13 00:08:20 328

原创 23. C 语言,%d 和 %i的区别

都用来打印十进制整数。

2024-09-05 00:34:56 770

原创 22. c语言怎么打印2进制、8进制、10进制、16进制数?

二进制:通过自定义函数打印,C 语言没有内置的二进制格式化符。八进制:使用%o格式化符。十进制:使用%d或%i格式化符。十六进制:使用%x(小写)或%X(大写)格式化符。

2024-09-05 00:30:04 2244

原创 21. c语言将指定位置0,置1,翻转,检查及多位同时操作

要清除整数x0xF是十六进制,表示最后 4 位全为 1(即1111~0xF是将最后 4 位取反,得到11110000。x & ~0xF是将x的最后 4 位清零,其他位不变。

2024-09-05 00:19:10 1462

原创 20. 常用位运算功能、用途及示例

C 语言中常用的位操作主要通过来完成,位运算直接操作二进制位,常用于底层开发、硬件控制和优化性能等场景。

2024-09-05 00:01:01 852

原创 19. 为什么int i = 5.0;可以编译通过,隐式类型转换的定义,为什么需要,以及其应用场景和注意事项。

浮点数的小数部分会被截断,可能会导致精度损失。如果开发者期望四舍五入的结果,隐式转换会导致非预期的行为。C 语言的设计哲学之一是允许开发者在不同类型之间进行自由的转换,特别是在浮点数和整数之间。减少了开发者的负担,因为在许多情况下,开发者可能希望浮点数转为整数而无需手动进行显式转换。当不同类型的数据进行赋值、运算时,C 语言会自动将一种类型转换为另一种类型。这不仅可以提高代码的可读性,还可以防止一些因隐式转换导致的意外行为。这一行为是符合 C 语言规范的,下面是详细的分析。,可能会出现不可预知的结果。

2024-09-02 00:16:09 1157

原创 18. 为什么浮点类型不支持左移和右移运算符?

左移()运算符主要用于整数类型的数据,而不能直接用于浮点类型。原因涉及到这些运算符的位级操作本质以及数据类型的存储方式。以下是可以和不可以使用左移和右移运算符的数据类型及原因的详细分析.

2024-09-02 00:06:24 780

原创 17. 位移运算的本质是什么,为什么要有位移运算,作用范围和使用技巧。

在图像处理中,位移运算用于快速提取颜色通道、合并像素数据,尤其是在处理图像格式时,位移操作可以有效地处理位级颜色信息。通过将数值的二进制位左移或右移,可以快速地完成一些数学运算或位级控制操作。本质上,位移运算主要用于整数类型的数据,通过改变数据的位级表示,能够高效地完成乘法、除法、位掩码控制等操作。乘以 2 的幂次运算和除以 2 的幂次运算通过左移和右移操作可以得到高效的实现。:位移操作常用于操作数据的特定位,尤其是在操作标志位或位域时。在嵌入式开发中,位移运算用于操作硬件寄存器的每一位。

2024-09-01 23:28:16 1314

原创 16. 结构体占内存大小是怎么计算的,有哪些原则?

结构体的内存大小计算主要遵循以下原则:每个成员在结构体中的位置,必须满足它自身的对齐要求。编译器可能会在成员之间添加填充字节(padding),以保证每个成员的起始地址满足其对齐要求。 占 1 字节,位于结构体的开始,偏移量为 0。对齐要求为 1 字节,因此无需填充。 占 4 字节,要求 4 字节对齐。因为上一个成员 只占用了 1 字节,因此在 前需要填充 3 字节(地址 1 到 3), 位于地址 4 到 7。 占 8 字节,要求 8 字节对齐。上一个成员 占用 4 个字节,因此 可以直接存

2024-08-30 00:23:04 1273

原创 15. 位域的定义,使用场景、使用技巧及注意点

位域是 C 语言和 C++ 中的一种特殊结构体成员类型,用于定义占用特定位宽的成员。它允许我们精确控制每个成员使用的位数,而不是字节,常用于存储和传输结构中节省内存或表示紧凑的位级数据。

2024-08-30 00:05:15 1263

原创 14. a 和&a 和*a有什么区别?

a是变量本身,表示变量的值。&a是变量a的地址,即a所在内存单元的起始地址。*a是指针a所指向的内容,解引用指针以获取指向的变量的值。

2024-08-28 00:03:20 1249

原创 13. volatile是什么,本质上有什么作用,使用中有哪些注意点?

如果编译器对寄存器变量进行优化,它可能会将寄存器的值缓存在寄存器中,导致设备的状态无法及时反映在程序中。它告诉编译器,变量的值可能在程序控制之外(如硬件或另一个线程)被改变,因此每次访问该变量时都必须从内存中读取,而不能使用寄存器中的缓存值。在多线程环境中,一个线程可能会修改共享的全局变量,而其他线程读取该变量时,如果编译器优化,可能不会意识到该变量已经被另一个线程修改了。在某些嵌入式系统中,编译器的优化会影响到硬件操作的正确性。修饰一个变量,这表示该变量不能在程序中修改,但其值可能在外部(如硬件)改变。

2024-08-27 01:03:14 904

原创 12. sizeof和strlen在使用中的注意点

在使用sizeof和strlen时,有一些关键的注意点,特别是在不同的场景下,这些操作符和函数的行为可能会有所不同。

2024-08-27 00:53:15 898

原创 11. 关于sizeof 和 strlen的区别

sizeof用于计算数据类型或变量的总内存大小,适用于任何类型(包括数组、指针等)。strlen专门用于计算以'\0'结尾的 C 字符串的长度,只计算字符数,不包括'\0'。

2024-08-27 00:51:55 559

原创 10. 指针数组和数组指针详细区别

这里array是一个指针数组,存储 5 个int*类型的指针。内存分布与存储位置这里ptr是一个指向包含 5 个int元素的数组的指针。内存分布与存储位置。

2024-08-24 00:18:52 2532

原创 9. ((type *)0) 和 (type *0)区别

和(type *0)在 C 和 C++ 中有不同的含义和用途,主要区别在于和。

2024-08-23 00:27:09 559

annotations(COCO 2017)get-id-name-yamlid.py 物体类别 name id对应关系

COCO数据集的最新版本annotations(COCO 2017),共有80个物体类别。 及coco.yaml, get_id_name_yamlid.py实现打印80个物体类别及其name及在yaml中的对应关系。

2023-03-13

linux修改文件扩展属性的源文件chattr.c

linux修改文件扩展属性的源文件chattr.c,下载后只需要执行gcc chattr.c -o chattr.out即可编译出chattr.out文件,从而执行./chattr.out -i a.txt等命令来对文件扩展属性进行更好的操作。 详情见文章:https://dingdong.blog.youkuaiyun.com/article/details/129227812

2023-02-26

synergy_v1.8.7 and key.zip

好用的局域网内多台电脑间共享鼠标,键盘的软件,windows版。

2021-09-28

module_param使用测试完整例程(含Makefile)

module_param使用测试完整例程(含Makefile),更多详情,见文章: https://dingdong.blog.youkuaiyun.com/article/details/106355202

2020-05-26

Linux驱动开发之编写第一个内核模块--Hello World源码

Linux驱动开发之编写第一个内核模块--Hello World源码, 亲测OK,对应文章链接: https://dingdong.blog.youkuaiyun.com/article/details/106329048

2020-05-25

myvim.tar.gz

自己使用的vim配置文件,解压命令位tar -zxvpf myvim.tar.gz下载解压到用户目录下,执行vim,再执行:PluginInstall即可完成对应插件的安装,然后就可以实用ctags及ctrlp,mark等工具啦。

2020-05-18

DittoSetup_64bit_3_21_30_0.exe

一直以来用OneNote,但是复制后,黏贴到其他地方就成了图片,直到发现这个好用的黏贴纯文本的工具,具体使用指南可以参考: https://blog.youkuaiyun.com/sinat_29891353/article/details/99407525

2019-08-13

wechat_devtools_1.02.1907112_x64.zip 小程序解决ReferenceError: define is not defined

1. 之前稳定版开发工具用的好好的,突然某天真机调试一直报错: ReferenceError: define is not defined 2. 找解决办法后发现,更新至开发版最新版可以解决,如附件,下载安装后,即可解决该问题。

2019-07-13

好用的看图软件,支持各种格式,显示快速 HONEYVIEW-SETUP.EXE

好用的看图软件,支持各种格式,显示快速 HONEYVIEW-SETUP.EXE

2019-06-20

setupssh-7.8p1 openssh安装 windows10

用习惯了ssh,到windows上后,发现竟然没有ssh。所有找了这个资源,使你在windows中,通过cmd或者git都可以使用ssh远程服务等。亲测ok

2018-09-20

STM32 ST-LINK Utility 最新版v4.2.0 stlink setup stlink升级固件

最新版stlink utility安装包,版本号4.2.0.完美配合keil最新版5.26.2.0.

2018-09-19

outlook后台运行必备插件

装了office后,配置好了邮箱,但是每次进入邮箱后,只要点退出,就关了。不能后台运行,邮件提醒。该插件只要下载后运行后即可设置outlook后台运行。

2018-06-27

html分片上传文件

分片上传大文件,已验证ok,代码简单,解释清晰,含jquery-form.js

2018-06-08

bmp格式图片转为rgb565格式图片

bmp格式转rgb565格式,然后再framebuffer里面填充即可方便显示,花了一周时间才找到的,好用就给个五星吧= =

2017-08-17

USB-Serial Controller d驱动

USB-Serial Controller d驱动,解压双击安装即可

2017-08-03

adb工具,解压再配个环境变量即可用

adb工具,解压再配个环境变量即可用,不用再装什么驱动,简单方便

2017-05-05

js通过构造表单分片上传大文件,前端代码,亲测ok

网上找了好多分片上传,分段上传大文件的,但是构造表单时总是构造不成功,花了一周时间才找到的解决办法,后端只需按文件类型接收文件,并拼接即可。

2017-05-04

popen 获取ip ,mask,dns等1.2 测试ok

最近在做web服务器端处理。刚好用到要在服务器端调用popen函数查询相关命令,并上传到前端。所以在服务器端做的查询ip,mask等的测试代码。在linux下编译运行即可得到需要的值。代码简单。

2017-04-02

html遍历文件夹图片文件ie

亲测可用,注释详细,只需修改文件夹路径就ok。好用的话记得五星好评哦!

2017-04-02

唐僧英语+V1.29_破解下载量优化版

费了九牛二虎之力才找到的资源,好资源就要大家互相多多分享。觉得好用的就点个赞吧。

2017-04-02

vlc嵌入html播放视频,亲测可用(带注释)

浏览器打开网页即可播放指定路径的视频,视频源路径可在html代码中修改,注释详细

2017-03-16

串口收发库函数版

串口收发数据,STM32,库函数版,支持单字节收发

2016-06-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除